暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

多租户创建可插拔PDB

原创 陌殇流苏 2025-05-29
77
从PDB$SEED创建新PDB
SYS@cdb1> alter session set container=pdb$seed;
SYS@cdb1> select file_name from cdb_data_files;
SYS@cdb1> conn / as sysdba
SYS@cdb1> ! mkdir /u01/app/oracle/oradata/cdb1/pdb1
SYS@cdb1> create pluggable database pdb1 admin user admin01 indetified by admin01 roles = (connect) file_name_convert = ('PDB$SEEDdir','PDB1dir');
or
SYS@cdb1> create pluggable database pdb1 admin user admin01 indetified by admin01 roles = (connect) create_file_dest = 'PDB1dir';
SYS@cdb1> alter pluggable database pdb2 open;

SYS@pdb1> create tablespace users datafile '/u01/app/oracle/oradata/cdb1/pdb1/users01.dbf' size 50m;
SYS@pdb1> alter pluggable database default tablespace users;
克隆本地PDB
SYS@cdb1> alter pluggable database pdb1 close immediate;
SYS@cdb1> alter pluggable database pdb1 open read only;
SYS@cdb1> show pdbs
SYS@cdb1> select file_name from cdb_data_files where con_id=3;
SYS@cdb1> ! mkdir /u01/app/oracle/oradata/cdb1/pdb2
SYS@cdb1> create pluggable database pdb2 from pdb1 file_name_convert=('pdb1','pdb2');
SYS@cdb1> alter pluggable database pdb3 open;
SYS@cdb1> alter pluggable database pdb1 close immediate;
SYS@cdb1> alter pluggable database pdb1 open;
克隆no-cdb或者远程PDB
SYS@cdb1> create database link lk_prod connect to system identified by oracle using 'prod';
目标端:
SYS@cdb1>grant create pluggable database to system;
源端:
SYS@PROD>grant create pluggable database to system;
Read only重启源端PROD
SYS@PROD>shutdown immediate
SYS@PROD>startup open read only

SYS@cdb1> select file_name from dba_data_files@lk_prod;
SYS@cdb1> ! mkdir /u01/app/oracle/oradata/cdb1/pdb3
SYS@cdb1> create pluggable database pdb3 from non$cdb@lk_prod file_name_convert=('/u01/app/oracle/oradata/PROD','/u01/app/oracle/oradata/cdb1/pdb3');

配置tnsnames.ora
pdb3 = 
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = your_cdb2_host)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PDB3)
    )
  )

SYS@pdb3> @?/rdbms/admin/noncdb_to_pdb.sql
脚本执行过程中 pdb3 状态为yes
SYS@pdb3> alter pluggable database open;
删除PDB
alter pluggable database pdb1 close immediate;
drop pluggable database pdb1 including datafiles; #- 删除odb1数据文件
将拔出的PDB插入CDB
从cdb1211中拔出PRODPDB,插入到cdb1中
SYS@cdb1211> alter pluggable database prodpdb unplug into '/home/oracle/prodpdb.xml';
SYS@cdb1211> select pdb_name,STATUS from cdb_pdbs where pdb_name='PRODPDB';
SYS@cdb1211> drop pluggable database prodpdb keep datafiles;

插入cdb1
SYS@cdb1> create pluggable database prodpdb2 using '/home/oracle/prodpdb.xml' nocopy tempfile reuse;
nocopy : 使用原来路径下数据文件
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论