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;