Oracle 12c 非 CDB 数据库 切换成 CDB 测试

版权声明:欢迎指正,评论,共同学习 https://blog.csdn.net/m18994118189/article/details/82875817

参考https://www.cndba.cn/dave/article/232

如果把数据库从11g 升级到12c,或者在12c中创建的,就是NON CDB,那么这样的数据库就是普通的单实例,和12c 之前的数据库没有区别,但12c 的特点就是CDB 管理,所以既然上12c,还是要切换成CDB 进行管理。

所以下面的测试步骤,就是把NON CDB 切换成CDB的步骤。
 

1.当前环境说明

当前数据库里已经启动了2个实例: ogg6和 test。

SQL> select name,cdb,open_mode from v$database;

NAME      CDB OPEN_MODE
--------- --- --------------------
OGG6      NO  READ ONLY

SQL> select name,cdb,open_mode from v$database;

NAME      CDB OPEN_MODE
--------- --- --------------------
TEST      YES READ WRITE
 

2.在ogg2库中创建xml文件

SQL> begin
  2  dbms_pdb.describe(pdb_descr_file => '/tmp/test.xml');
  3  end;
  4  /

PL/SQL procedure successfully completed.

3.关闭ogg6数据库

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

4.连接CDB并创建PDB,在test中我们就可以查询到ogg6的dbid

[oracle@ogg6 oracle]$ export ORACLE_SID=test
[oracle@ogg6 oracle]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sat Sep 22 03:57:36 2018

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> select name,cdb,open_mode from v$database;

NAME      CDB OPEN_MODE
--------- --- --------------------
TEST      YES READ WRITE

SQL> 
SQL> select con_id,dbid,name,open_mode from v$pdbs;

    CON_ID     DBID NAME                 OPEN_MODE
---------- ---------- ------------------------------ ----------
     2  321802671 PDB$SEED                 READ ONLY

在test数据库的创建ogg6的数据文件目录

/u01/app/oracle/oradata/test/ogg6

SQL>CREATE PLUGGABLE DATABASE ogg6 USING '/tmp/test.xml' COPY FILE_NAME_CONVERT = ('/u01/app/oracle/oradata12c/OGG6', '/u01/app/oracle/oradata/test/ogg6'); 

Pluggable database created.

数据文件已经复制成功

/u01/app/oracle/oradata/test/ogg6
[oracle@ogg6 ogg6]$ ll
total 1838168
-rw-r----- 1 oracle oinstall 912269312 Sep 22 04:56 sysaux01.dbf
-rw-r----- 1 oracle oinstall 964698112 Sep 22 05:00 system01.dbf
-rw-r----- 1 oracle oinstall 524296192 Sep 22 04:51 temp01.dbf
-rw-r----- 1 oracle oinstall   5251072 Sep 22 04:56 users01.dbf

2.5     切换到PDB并执行脚本

SQL> show pdbs

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     1 PDB$SEED              READ ONLY  NO
     2 OGG6              MOUNTED
SQL>

SQL> alter session set container=OGG6;
Session altered.

--执行脚本:
sql> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
…..刷屏…..
…..约30分钟…..

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 OGG6                           MOUNTED
SQL> 
SQL> show con_name;

CON_NAME
------------------------------
OGG6
SQL> 
SQL> alter pluggable database ogg6 open;

Pluggable database altered.

SQL> show pdbs;

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         3 OGG6                           READ WRITE NO
SQL> 
SQL> select name,open_mode from v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
OGG6                           READ WRITE

1 row selected.

猜你喜欢

转载自blog.csdn.net/m18994118189/article/details/82875817