目前发布的版本, 已经声明限制在 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 有意思的新特性
来源: https://yq.aliyun.com/articles/509841