内核解密 | Oracle 18c 数据库安装ORA-12754的两种解决方案

Oracle 率先在 Oracle Cloud 上发布了 18c 的数据库版本,也对外发布了针对 Exadata 的下载包。这些软件首先在 Edelivery 网站上提供了下载。

目前发布的版本,已经声明限制在 Exadata 上安装,安装软件之后会遇到 ORA-12754 错误,无法启动实例:

SQL> startup ORA-12754: Feature 'startup' is disabled due to missing capability 'Runtime Environment'.

目前这个问题有两种解决方案:方案一 是通过Oracle Cloud找到非限制版本的libserver18.a资源,重新编译;方案二 是通过添加参数 _exadata_feature_on 来解决。以下的这些方法,仅供测试参考,请勿侵犯Oracle的软件版权。相信通用版本很快就会发布。

目前Oracle公有云上已经发布了18c的安装版本,申请免费账号就可以登录使用18c的云版本。

在安装之后,可以在 $ORACLE_HOME/lib 下找到 libserver18.a 库文件,这个文件:

[oracle@O18c lib]$ ls -l libserver18.a -rw-r--r-- 1 462876440 Mar 1 04:13 libserver18.a

这个文件其实有 450MB,但是真正的启动限制来自其中的 ksct.o 文件,其中增加了一个函数 kscxnfy 功能检测环境,下载这个文件仅有 160 KB 大小,将这个文件复制到 $ORACLE_HOME/lib 目录,更新替换原来的文件:

[oracle@sdb0 lib]$ ls -l libserver18.a -rw-r--r-- 1 oracle oinstall 462826398 Mar 1 11:13 libserver18.a [oracle@sdb0 lib]$ ar -r libserver18.a ksct.o [oracle@sdb0 lib]$ pwd /u01/app/oracle/product/18.1.0/lib

然后重新make oracle执行文件即可:

[oracle@sdb0 lib]$ pwd /u01/app/oracle/product/18.1.0/rdbms/lib [oracle@sdb0 lib]$ make -f ins_rdbms.mk ioracle chmod 755 /u01/app/oracle/product/18.1.0/bin - Linking Oracle rm -f /u01/app/oracle/product/18.1.0/rdbms/lib/oracle /u01/app/oracle/product/18.1.0/bin/orald 。。。。 rm -f /u01/app/oracle/product/18.1.0/bin/oracle mv /u01/app/oracle/product/18.1.0/rdbms/lib/oracle /u01/app/oracle/product/18.1.0/bin/oracle chmod 6751 /u01/app/oracle/product/18.1.0/bin/oracle

数据库此后就可以正确使用,DBCA 等可以正常使用进行建库等操作:

[oracle@sdb0 lib]$ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 Production on Mon Mar 1 12:27:42 2018 Version 18.1.0.0.0 SQL> startup ORACLE instance started. Database mounted. Database opened.

方案二,是通过手工建库在参数文件中增加(需要修改在 init.ora 参数文件中,以下是一个对比验证的输出效果):

SQL> alter system set "_exadata_feature_on"=true scope=spfile; [oracle@sdb0 dbs]$ sqlplus / as sysdba SQL*Plus: Release 18.0.0.0.0 Production on Mon Mar 1 11:18:25 2018 Version 18.1.0.0.0 SQL> startup ORACLE instance started. Total System Global Area 1459617328 bytes Database mounted. Database opened. SQL> alter system set "_exadata_feature_on"=false scope=spfile; System altered. SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORA-12754: Feature 'startup' is disabled due to missing capability 'Runtime Environment'.

Oracle 18c 自治数据库的时代已经来临,欢迎大家测试和分享关于 18c 有意思的新特性。

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2018-03-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏tiane12

记一次由硬盘坏道导致的mysql数据库故障

2666
来自专栏杨建荣的学习笔记

一则报警信息所折射出来的诸多问题(r9笔记第14天)

在主备库环境中,如果出现数据文件级的一些不一致,后期修复会很麻烦,所以这种情况可以提前规避,减少后期的隐患,我定制了一个数据库监控选项,即数据文件状态的检查。 ...

3418
来自专栏杨建荣的学习笔记

zabbix中配置dg的监控(r6笔记第62天)

在zabbix中有了orabbix的辅助,监控效率大大提高,但是因为orabbix是基于jdbc的方式,有些监控还是有一些限制。 比如dataguard的检查,...

2724
来自专栏ImportSource

Gitlab.com宕机始末

接上集:Gitlab.com误删数据最近动态:恢复60% 14小时前 数据库恢复60%; 13小时前 gitlab在国外某非著名视频网站直播自己的数据库恢复进...

3596
来自专栏Tech Talk

从问题定位谈基础的重要性

某天下午TIM官网突然无法访问(502错误),官网是纯静态页面,挂在nginx服务器下,我们下午也没有做发布。那么,问题出现在什么地方呢?下面就讲讲我定位、...

36812
来自专栏大数据文摘

硬盘数据恢复的神器有哪些?

24315
来自专栏逸鹏说道

保障MySQL数据安全的14个最佳方法

有的企业在安装MySQL时用的是默认选项,由此造成其数据不安全,且服务器也面临被入侵的风险,并有可能在短时间内就出现性能问题。本文将提供保障MySQL安全的最佳...

42110
来自专栏乐沙弥的世界

Oracle RAC OCR 的备份与恢复

        Oracle Clusterware把整个集群的配置信息放在共享存储上,这些信息包括了集群节点的列表、集群数据库实例到节点的映射以及CRS应用...

542
来自专栏杨建荣的学习笔记

linux kernel引发的oracle问题及解决

最近测试环境的连接数老是不够用,session/process 都相应的从5000提到了8000,但还是不够,而且还是不断有新环境需要增加。最后根据评估,ses...

3696
来自专栏Netkiller

IDC机房入住与迁移

节选自 《Netkiller 系列手札》 5.3. 机房迁移 5.3.1. 拓扑确立 5.3.2. 存储规划 5.3.2.1. RAID Disk Gro...

2944

扫码关注云+社区