重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3256|回复: 0
打印 上一主题 下一主题

[Oracle] oracle 12c 创建PDB的方式

[复制链接]
跳转到指定楼层
楼主
发表于 2020-7-5 17:09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、从PDB$SEED创建新PDB
SQL> create pluggable database PDB3 adminuser pdb3admin identified by oracle
file_name_convert=('/u01/oradata/cdb1/pdbseed','/u01/oradata/cdb1/pdb3');
2、克隆本地PDB
SQL> show pdbs
   CON_ID CON_NAME           OPENMODE  RESTRICTED
---------- ---------------------------------------- ----------
     2     PDB$SEED           READ ONLY  NO
     3     PDB1               READ WRITE NO
     4     PDB2               MOUNTED
     6     PDB3               MOUNTED
SQL> alter pluggable database pdb1 close;
插接式数据库已变更。
SQL> alter pluggable database pdb1 openread only;
插接式数据库已变更。
SQL> create pluggable database pdb4 frompdb1 file_name_convert=('/u01/oradata/cdb1/pdb1','/u01/oradata/cdb1/pdb4') ;
插接式数据库已创建。
  
3、克隆远程 PDB
该操作有一些限制。源和目标 CDB 平台必须满足以下要求:它们必须安装有相同的 endian 格式和兼容的数据库项,并使用相同的字符集和国家字符集。
Check theCHARACTERSET of remote and local CDB
col parameter for a30
col value for a30
select * from nls_database_parameters whereparameter='NLS_CHARACTERSET'
or parameter='NLS_LANGUAGE' orparameter='NLS_NCHAR_CHARACTERSET';
Check the remote CDBis in local undo mode and archivelog mode.
COL property_name FORMAT A30
COL property_value FORMAT A30
SELECT property_name, property_value
FROM database_properties
WHERE property_name = 'LOCAL_UNDO_ENABLED';
PROPERTY_NAME PROPERTY_VALUE
------------------------------------------------------------
LOCAL_UNDO_ENABLED TRUE
SELECT log_mode FROM v$database;
LOG_MODE
------------
ARCHIVELOG
whitch of two is notbe provided ,need to turn the remote database into read-only mode.
on remote sourceCDB:
SQL> alter session set container=pdb2;
Session altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ---------------------------------------- ----------
4    PDB2    READWRITE    NO
SQL> create user pdbclone identified bywelcome123;
SQL> grant create session,create pluggabledatabase to pdbclone;
SQL> alter pluggable database pdb2 close;
SQL> alter pluggable database pdb2 openread only;
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ---------------------------------------- ----------
4   PDB2   READ ONLY  NO
on local destinationCDB:
SQL> create database link clone_linkconnect to pdbclone identified by welcome123 using '192.168.133.220:1521/pdb2';
SQL> create pluggable database pdblk fromPDB2@clone_linkfile_name_convert=('/u01/oradata/cdb1/pdb2','/u01/oradata/cdb1/pdblk') ;
插接式数据库已创建。
SQL> ! ls /u01/oradata/cdb1/pdblksysaux01.dbfsystem01.dbf temp01.dbf    undotbs01.dbfusers01.dbf
SQL>on remote source CDB ,Switch thesource PDB back to read/write
SQL> alter pluggable database pdb2 close;
Pluggable database altered.
SQL> alter pluggable database pdb2 open;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ---------------------------------------- ----------
4   PDB2   READ WRITE  NO
4、克隆远程 Non-CDB
该操作有一些限制。源和目标 CDB 平台必须满足以下要求:它们必须安装有相同的 endian 格式和兼容的数据库项,并使用相同的字符集和国家字符集。
Check theCHARACTERSET of remote Non-CDB and local CDB
col parameter for a30
col value for a30
select * from nls_database_parameters whereparameter='NLS_CHARACTERSET'
or parameter='NLS_LANGUAGE' orparameter='NLS_NCHAR_CHARACTERSET';
Check the remoteNon-CDB is in archivelog mode.If not need to turn the remote database intoread-only mode.
SQL> SELECT log_mode FROM v$database;
LOG_MODE
------------
ARCHIVELOG
SQL> create user nocdbclone identified bywelcome123;
SQL> grant create session,create pluggabledatabase to nocdbclone;
SQL> startup mount;
SQL> alter database open read only;
Database altered.
Create a new PDB inthe local database by cloning the remote non-CDB.
SQL>create database link clone_linkconnect to nocdbclone identified by welcome123 using '192.168.133.220:1521/ora12c';
SQL> CREATE PLUGGABLE DATABASE nocdbtopdbFROM NON$CDB@clone_linkfile_name_convert=('/u01/oradata/ora12c','/u01/oradata/cdb1/nocdbtopdb') ;
插接式数据库已创建。
SQL> !ls /u01/oradata/cdb1/nocdbtopdb
sysaux01.dbf system01.dbf temp01.dbf    undotbs01.dbf users01.dbf
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ---------------------------------------- ----------
2   PDB$SEED      READ ONLY   NO
3   PDB1       READ ONLY   NO
4   PDB2       MOUNTED
5   PDB4       MOUNTED
6   PDB3       MOUNTED
7   PDBLK         MOUNTED
8   NOCDBTOPDB      MOUNTED
SQL> ALTER SESSION SETCONTAINER=NOCDBTOPDB;
会话已更改。
SQL>@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
SQL> ALTER PLUGGABLE DATABASE nocdbtopdbopen;
插接式数据库已变更。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ---------------------------------------- ----------
8   NOCDBTOPDB    READWRITE   NO

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-26 19:28 , Processed in 0.128080 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表