当前位置: 首页 > news >正文

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

目前发布的版本,已经声明限制在 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的云版本。

7


在安装之后,可以在 $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 有意思的新特性。

原文发布时间为:2018-03-5
本文作者:盖国强
本文来自云栖社区合作伙伴“数据和云”,了解相关信息可以关注“数据和云”微信公众号

相关文章:

  • iOS 自定义转场动画浅谈
  • 2018-3-6 Linux学习笔记
  • 软件工程基础之一——个人介绍与计划
  • 国威科技亮相VR China,反重力1号大受欢迎
  • 无人机协助科研人员探寻珍稀植物,仅需20分钟
  • 【BZOJ】1076 [SCOI2008]奖励关 期望DP+状压DP
  • 2017年全球大数据正在朝这七个趋势发展
  • SQLSERVER吞噬内存解决记录
  • 巨头间数据之争频发的背后,是用户对于个人数据话语权的缺失
  • 结合人体部位,将虚拟现实做到更完美
  • PWA基础知识整理及实践
  • Hibernate【映射】知识要点
  • RT-Thread信号量使用(动态/静态信号量) 及 信号量的四种使用场合
  • 数据库===轻量级mysql数据库管理工具
  • Java类加载器ClassLoader
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 2017届校招提前批面试回顾
  • mysql 数据库四种事务隔离级别
  • Phpstorm怎样批量删除空行?
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 解决iview多表头动态更改列元素发生的错误
  • 精彩代码 vue.js
  • 新书推荐|Windows黑客编程技术详解
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • Semaphore
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • # 数据结构
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (BFS)hdoj2377-Bus Pass
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (三)Honghu Cloud云架构一定时调度平台
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)使用IDEA创建Maven项目和Maven使用入门(配图详解)
  • (转)ABI是什么
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)socket Aio demo
  • (转)Sublime Text3配置Lua运行环境
  • ****Linux下Mysql的安装和配置
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Micro Framework初体验
  • .Net 高效开发之不可错过的实用工具
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试