温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

oracle 12 DBCA如何创建pdb

发布时间:2021-11-09 13:59:32 来源:亿速云 阅读:375 作者:小新 栏目:关系型数据库

这篇文章主要介绍了oracle 12 DBCA如何创建pdb,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。


12c新推出的pdb是一种全新的数据库管理模式,有别于传统的数据库。今天的实验室是使用dbca图形界面创建一个pdb,再用dbca的静默方式创建一个pdb。

pdb是可插拔数据库,当然也就离不开cdb。c就是container,容器。

环境变量如下

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1

export ORACLE_SID=CDB

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib


oracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdboracle 12 DBCA如何创建pdb
在这里如果有报错Error in Process:/u01/app/oracle/product/12.1.0/db_1/perl/bin/perl
可参见我的另一篇博客http://blog.itpub.net/29047826/viewspace-1434056/
oracle 12 DBCA如何创建pdb

通过SQL PLUS连接根库

[oracle@snow ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Sun Feb 8 16:11:18 2015

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

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

查看pdb状态,已经是open(read write)

SQL>

SQL> show pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED                       READ ONLY  NO

3 PDB1                           READ WRITE NO

图形安装后包含了根库CDB$ROOT,con_id为1,包含种子库PDB$SEED,con_id为2,还包含本次创建的可插拔库pdb1,con_id为3

SQL> select con_id,name from v$containers;

CON_ID NAME

---------- ------------------------------

1 CDB$ROOT

2 PDB$SEED

3 PDB1

查看cdb_data_files数据字典可以看到cdb的数据文件和pdb的数据文件

SQL> col file_name for a60

SQL> set line 120

SQL> select con_id,file_name from cdb_data_files order by 1;

CON_ID FILE_NAME

---------- ------------------------------------------------------------

1 /u01/app/oracle/oradata/CDB/system01.dbf

1 /u01/app/oracle/oradata/CDB/users01.dbf

1 /u01/app/oracle/oradata/CDB/undotbs01.dbf

1 /u01/app/oracle/oradata/CDB/sysaux01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/sysaux01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/pdb1_users01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/system01.dbf

如果切换到pdb,就只能看到属于自己的数据文件

SQL> alter session set container=pdb1;

SQL> col name for a60

SQL> select con_id,name from v$datafile;

CON_ID NAME

---------- ------------------------------------------------------------

0 /u01/app/oracle/oradata/CDB/undotbs01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/system01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/sysaux01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/pdb1_users01.dbf

由于我的虚拟机空间较小,先用dbca删除刚才创建的cdb和pdb再执行下面的脚本。注意dbca删除数据库后并不清理磁盘上的物理文件,需要手动删除比如 rm -rf $ORACLE_BASE/oradata/CDB,这个命令只是一个事例请勿模仿。

下面这条dbca - silent … 语句是一条完整的语句,不换行。 里面的关键字是createAsContainerDatabase true,如果没有该关键字创建出来的就是一个普通的数据库,而不是我们此次需要的CDB。 

该命令执行后,输出Copying database files ..1% complete

[oracle@snow ~]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname CDB -sid CDB -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration LOCAL -createAsContainerDatabase true -sysPassword oracle -systemPassword oracle

Copying database files

1% complete

3% complete

37% complete

Creating and starting Oracle instance

40% complete

45% complete

46% complete

47% complete

52% complete

57% complete

58% complete

59% complete

62% complete

Completing Database Creation

66% complete

70% complete

74% complete

85% complete

96% complete

100% complete

Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/CDB/CDB.log" for further details.

到此为止CDB创建完成,通过下面的sql语句查看其内容。

[oracle@snow ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Sun Feb 8 16:51:36 2015

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

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> show pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED                       READ ONLY  NO

SQL>

SQL> select con_id,name from v$containers;

CON_ID NAME

---------- ------------------------------

1 CDB$ROOT

2 PDB$SEED

SQL> col file_name for a60

SQL> select con_id,file_name from cdb_data_files order by 1;

CON_ID FILE_NAME

---------- ------------------------------------------------------------

1 /u01/app/oracle/oradata/CDB/system01.dbf

1 /u01/app/oracle/oradata/CDB/users01.dbf

1 /u01/app/oracle/oradata/CDB/undotbs01.dbf

1 /u01/app/oracle/oradata/CDB/sysaux01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf

下面通过种子容器创建pdb

[oracle@snow ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Sun Feb 8 16:59:03 2015

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

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> create pluggable database pdb1 admin user pdb1adm identified by oracle file_name_convert=('/u01/app/oracle/oradata/CDB/pdbseed','/u01/app/oracle/oradata/CDB/pdb1');

Pluggable database created.

此时pdb的状态是mounted

SQL> show pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED                       READ ONLY  NO

3 PDB1                           MOUNTED

下面的额查询语句只有跟库的信息,无法显示pdb的信息

SQL> select con_id,file_name from cdb_data_files order by 1;

CON_ID FILE_NAME

---------- --------------------------------------------------

1 /u01/app/oracle/oradata/CDB/system01.dbf

1 /u01/app/oracle/oradata/CDB/sysaux01.dbf

1 /u01/app/oracle/oradata/CDB/undotbs01.dbf

1 /u01/app/oracle/oradata/CDB/users01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf

通过下面的命令将所有的pdb库open

SQL> alter pluggable database all open;

Pluggable database altered.

此时pdb的状态有mount变成了read write

SQL> show pdbs

CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED                       READ ONLY  NO

3 PDB1                           READ WRITE NO

再次执行下面的查询就可以看到pdb的数据文件了

SQL> select con_id,file_name from cdb_data_files order by 1;

CON_ID FILE_NAME

---------- --------------------------------------------------

1 /u01/app/oracle/oradata/CDB/system01.dbf

1 /u01/app/oracle/oradata/CDB/users01.dbf

1 /u01/app/oracle/oradata/CDB/undotbs01.dbf

1 /u01/app/oracle/oradata/CDB/sysaux01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/system01.dbf

2 /u01/app/oracle/oradata/CDB/pdbseed/sysaux01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/system01.dbf

3 /u01/app/oracle/oradata/CDB/pdb1/sysaux01.dbf

感谢你能够认真阅读完这篇文章,希望小编分享的“oracle 12 DBCA如何创建pdb”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI