创建可插拔数据库PDB

2022-07-11 15:58:05 浏览数 (1)

1.1 从 PDB$SEED 创建新 PDB

使用种子 PDB PDB$SEED 在容器数据库 cdb1 中创建新的 PDB: PDB2

1.1.2 查看 pdb 状态

代码语言:javascript复制
SYS@cdb1> show pdbs;

1.1.3 查看 pdb$seed 数据文件路径

代码语言:javascript复制
SYS@cdb1> alter session set container=pdb$seed;
SYS@cdb1> select file_name from cdb_data_files; 

切回 cdb1

代码语言:javascript复制
SYS@cdb1> conn /as sysdba 
SYS@cdb1> show pdbs

1.1.4 创建新 PDB 目录

代码语言:javascript复制
SYS@cdb1> ! mkdir /u01/app/oracle/oradata/cdb1/pdb2
SYS@cdb1> ! ls -ld /u01/app/oracle/oradata/cdb1/pdb2

1.1.5 创建 pdb2

代码语言:javascript复制
SYS@cdb1> create pluggable database pdb2
admin user pdb2_admin identified by oracle roles=(connect)
file_name_convert=('/u01/app/oracle/oradata/cdb1/pdbseed','/u01/app/oracle/oradata/cdb1/pdb2');

1.1.6 查看 pdb 状态

代码语言:javascript复制
SYS@cdb1> show pdbs

1.1.7 查看监听程序状态

代码语言:javascript复制
[oracle@~]$ lsnrctl status

1.1.8 open 打开 pdb

代码语言:javascript复制
SYS@cdb1> alter pluggable database pdb2 open;
SYS@cdb1> show pdbs;

1.1.9 查看 pdb2 数据文件

代码语言:javascript复制
SYS@cdb1> col FILE_NAME for a50
SYS@cdb1> select file_id,file_name,tablespace_name,con_id from cdb_data_files;

1.1.10配置 tnsnames.ora

代码语言:javascript复制
[oracle@ ~]$ cd $ORACLE_HOME/network/admin
[oracle@ admin]$ vi tnsnames.ora

1.1.11 pdb2 通过服务名登录

代码语言:javascript复制
[oracle@ ~]$ sqlplus sys/oracle@pdb2 as sysdba
SYS@pdb2> show pdbs

1.1.12 pdb2 查看用户

代码语言:javascript复制
SYS@pdb2> col USERNAME for a30
SYS@pdb2> select username,COMMON,CON_ID from cdb_users where account_status='OPEN';

1.1.13创建并指定默认表空间

代码语言:javascript复制
SYS@pdb2> create tablespace users datafile '/u01/app/oracle/oradata/cdb1/pdb2/users01.dbf' size 50m;
SYS@pdb2> alter pluggable database default tablespace users;

1.2 克隆本地 PDB

在容器数据库 CDB1 中克隆本地 PDB PDB1 创建 PDB3

1.2.2 PDB1 只读方式打开

代码语言:javascript复制
SYS@cdb1> show pdbs
SYS@cdb1> alter pluggable database pdb1 close immediate;
SYS@cdb1> alter pluggable database pdb1 open read only;
SYS@cdb1> show pdbs

1.2.3 查看 PDB1 数据文件路径

代码语言:javascript复制
SYS@cdb1> select file_name from cdb_data_files where con_id=3;

1.2.4 创建目录

代码语言:javascript复制
SYS@cdb1> ! mkdir /u01/app/oracle/oradata/cdb1/pdb3
SYS@cdb1> ! ls -ld /u01/app/oracle/oradata/cdb1/pdb3

1.2.5 创建 pdb3

代码语言:javascript复制
SYS@cdb1> create pluggable database pdb3 from pdb1
file_name_convert=('pdb1','pdb3');

1.2.6 open 打开 pdb3

代码语言:javascript复制
SYS@cdb1> show pdbs
SYS@cdb1> alter pluggable database pdb3 open;
SYS@cdb1> show pdbs

1.2.7 重新打开 pdb1

代码语言:javascript复制
SYS@cdb1> alter pluggable database pdb1 close immediate;
SYS@cdb1> alter pluggable database pdb1 open;
SYS@cdb1> show pdbs

1.3 删除 PDB

从容器数据库 CDB1 中删除可插拔数据库 PDB3 以及对应的数据文件

1.3.2 关闭 PDB

代码语言:javascript复制
SYS@cdb1> show pdbs
SYS@cdb1> alter pluggable database pdb3 close immediate;
SYS@cdb1> show pdbs

1.3.3 删除 PDB3

代码语言:javascript复制
SYS@cdb1> drop pluggable database pdb3 including datafiles;

0 人点赞