oracle18c创建数据库,Oracle 18C 手工创建CDB

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数据库的任务,搭建起了测试环境。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值