共计 2195 个字符,预计需要花费 6 分钟才能阅读完成。
Oracle 18c For Exadata 版本的介质已经发布,作为一名心急的老粉丝,欣喜的发现可以安装在普通的 Linux 平台。
但是在通过 DBCA 建库的时候会报 ORA-12754 错误,不过这也难不倒万能的网络。图形界面不行,我们还可以手工建库,前提是在参数文件中加入下面的参数。
_exadata_feature_on=true1
安装好 18c 做什么?一些 PDB 的新特性当然是要体验的,可是悲催的发现,PDB 中连一些基础的数据字典视图都没有!!!
[ora18c@localhost ~]$ sqlplus ‘/as sysdba’
SQL*Plus: Release 18.0.0.0.0 – Production on Wed Jun 27 06:29:20 2018
Version 18.2.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Connected to:
Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 – Production
Version 18.2.0.0.0
SQL>
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
SQL> alter pluggable database pdb1 open;
Pluggable database altered.
SQL> alter session set container=pdb1;
Session altered.
SQL> desc dba_users
ERROR:
ORA-04043: object dba_users does not exist
开始怀疑是 PDB$SEED 的问题,但 18c 的种子库貌似已经不能像 12c 那样随意 open,只能作罢。
无奈之下只能再去翻官方文档,原来问题出在手工建库的过程中。简单的使用创建传统数据库的模式创建 CDB 数据库,才产生了上述诡异的问题。
根据官方文档,create database 创建完控制文件之后,需要运行 catcdba.sql 脚本创建 CDB 相关的对象,然后再跑 catalog.sql 等脚本。
@?/rdbms/admin/catcdb.sql
根据提示输入
SQL> host perl -I &&rdbms_admin &&rdbms_admin_catcdb –logDirectory &&1 –logFilename &&2
Enter value for 1: /tmp
Enter value for 2: create_cdb.log
Enter new password for SYS: ********
Enter new password for SYSTEM: ********
Enter temporary tablespace name: TEMP
其实这个问题在建库过程中就已经有提示,只是没有注意。
2018-06-27T06:41:39.961677+08:00
Successfully created internal service SYS$BACKGROUND at open
Successfully created internal service SYS$USERS at open
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process AQPC
2018-06-27T06:41:40.352715+08:00
AQPC started with pid=42, OS id=23014
PDB$SEED(2):JIT: pid 22024 requesting stop
PDB$SEED(2):Buffer Cache flush started: 2
PDB$SEED(2):Buffer Cache flush finished: 2
2018-06-27T06:41:40.922925+08:00
PDB$SEED(2):While transitioning the pdb 2 to clean state, clearing all its abort bits in the control file.
2018-06-27T06:41:41.482842+08:00
PDB$SEED(2):Endian type of dictionary set to little
2018-06-27T06:41:41.987095+08:00
PDB$SEED(2):Database Characterset for PDB$SEED is AL32UTF8
PDB$SEED(2):Accessing dba_registry_sqlpatch hit error: 942
Accessing dba_registry_sqlpatch hit error: 942
经过一番折腾之后,终于顺利的完成了手工创建 18c CDB 数据库的任务,搭建起了测试环境。
更多 Oracle 相关信息见 Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12
: