Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
2017-05-10 10:17
375 查看
实验环境:
SQL> select * from v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
PL/SQL Release 12.2.0.1.0 - Production 0
CORE 12.2.0.1.0 Production
TNS for Linux: Version 12.2.0.1.0 - Production 0
NLSRTL Version 12.2.0.1.0 - Production 0
一、 手工创建 PDB
SQL>SELECT NAME,CDBFROM V$DATABASE;
SQL>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
SQL> alter session set container=pdb$seed;
SQL>
set lin 400;
col name for a60;
select * from v$dbfile;
FILE# NAME CON_ID
---------- ------------------------------------------------------------ ----------
5 /home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_syste 2
m_djsz1z31_.dbf
6 /home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_sysau 2
x_djsz1z2x_.dbf
8 /home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_undot 2
bs1_djsz1z34_.dbf
SQL> create pluggable database pdb02 admin user pdb02 identified by pdb02
file_name_convert=('pdbseed','pdb02');
ORA-65005: missing or invalid file name pattern for file -
/home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_system_djsz1z31_.dbf
SQL> alter session set db_create_file_dest='/home/oracle/app/oracle/oradata/';
SQL> create pluggable database pdb02 admin user pdb02 identified by pdb02;
Pluggable database created.
说明:使用了OMF格式的文件名,目标库无法使用convert转换,只能配置db_create_file_dest同样对于该PDB使用OMF。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 MOUNTED
SQL> alter pluggable database pdb02 open;
Pluggable database altered.
二、手工删除 PDB
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 READ WRITE NO
SQL> alter session set container=pdb02;
Session altered.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB
/datafile/o1_mf_system_dk4oy9tr_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB
/datafile/o1_mf_sysaux_dk4oy9xy_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB
/datafile/o1_mf_undotbs1_dk4oy9y1_.dbf
SQL> alter session set container=cdb$root;
Session altered.
drop pdb 方式一:including DATAFILES
SQL> drop pluggable database pdb02 including datafiles;
ERROR at line 1: > 报错说明删除pdb,这个pdb要在 close 状态。
ORA-65025: Pluggable database PDB02 is not closed on all instances.
SQL> alter pluggable database pdb02 close immediate;
Pluggable database altered.
SQL> drop pluggable database pdb02 including datafiles;
Pluggable database dropped.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
[oracle@12c01 ~]cd /home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB/datafile
[oracle@12c01 datafile]$ ll
total 0 > 操作系统层对应的文件也一并删除了
drop pdb 方式二:keep DATAFILES
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
SQL> alter session set container=pdb01;
Session altered.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_system_djszmxhq_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_sysaux_djszmxkb_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_users_djszpsmt_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_undo_1_djz4jq1z_.dbf
NAME
--------------------------------------------------------------------------------
SQL> alter session set container=cdb$root;
Session altered.
SQL> alter pluggable database pdb01 close immediate;
Pluggable database altered.
SQL>alter pluggable database pdb01 unplug into '/home/oracle/pdb01.xml';
Pluggable database altered.
SQL> drop pluggable database pdb01 keep datafiles;
Pluggable database dropped.
[oracle@12c01 ~]cd /home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafile
[oracle@12c01 datafile]$ ll
total 775720
-rw-r-----. 1 oracle oinstall 408952832 May 10 18:02 o1_mf_sysaux_djszmxkb_.dbf
-rw-r-----. 1 oracle oinstall 272637952 May 10 18:02 o1_mf_system_djszmxhq_.dbf
-rw-r-----. 1 oracle oinstall 104865792 May 10 18:02 o1_mf_undo_1_djz4jq1z_.dbf > 操作系统层对应的文件没有被删除
-rw-r-----. 1 oracle oinstall 7872512 May 10 18:02 o1_mf_users_djszpsmt_.dbf
说明:在drop PDB的时候,有2种方式 keep DATAFILES 和 including DATAFILES,默认是KEEP
SQL> select * from v$version;
BANNER CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production 0
PL/SQL Release 12.2.0.1.0 - Production 0
CORE 12.2.0.1.0 Production
TNS for Linux: Version 12.2.0.1.0 - Production 0
NLSRTL Version 12.2.0.1.0 - Production 0
一、 手工创建 PDB
SQL>SELECT NAME,CDBFROM V$DATABASE;
SQL>show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
SQL> alter session set container=pdb$seed;
SQL>
set lin 400;
col name for a60;
select * from v$dbfile;
FILE# NAME CON_ID
---------- ------------------------------------------------------------ ----------
5 /home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_syste 2
m_djsz1z31_.dbf
6 /home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_sysau 2
x_djsz1z2x_.dbf
8 /home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_undot 2
bs1_djsz1z34_.dbf
SQL> create pluggable database pdb02 admin user pdb02 identified by pdb02
file_name_convert=('pdbseed','pdb02');
ORA-65005: missing or invalid file name pattern for file -
/home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_system_djsz1z31_.dbf
SQL> alter session set db_create_file_dest='/home/oracle/app/oracle/oradata/';
SQL> create pluggable database pdb02 admin user pdb02 identified by pdb02;
Pluggable database created.
说明:使用了OMF格式的文件名,目标库无法使用convert转换,只能配置db_create_file_dest同样对于该PDB使用OMF。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 MOUNTED
SQL> alter pluggable database pdb02 open;
Pluggable database altered.
二、手工删除 PDB
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 PDB02 READ WRITE NO
SQL> alter session set container=pdb02;
Session altered.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB
/datafile/o1_mf_system_dk4oy9tr_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB
/datafile/o1_mf_sysaux_dk4oy9xy_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB
/datafile/o1_mf_undotbs1_dk4oy9y1_.dbf
SQL> alter session set container=cdb$root;
Session altered.
drop pdb 方式一:including DATAFILES
SQL> drop pluggable database pdb02 including datafiles;
ERROR at line 1: > 报错说明删除pdb,这个pdb要在 close 状态。
ORA-65025: Pluggable database PDB02 is not closed on all instances.
SQL> alter pluggable database pdb02 close immediate;
Pluggable database altered.
SQL> drop pluggable database pdb02 including datafiles;
Pluggable database dropped.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
[oracle@12c01 ~]cd /home/oracle/app/oracle/oradata/ANDYCDB/ANDYCDB/4F21240B3F45400BE0531019640A46FB/datafile
[oracle@12c01 datafile]$ ll
total 0 > 操作系统层对应的文件也一并删除了
drop pdb 方式二:keep DATAFILES
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
SQL> alter session set container=pdb01;
Session altered.
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_system_djszmxhq_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_sysaux_djszmxkb_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_users_djszpsmt_.dbf
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_undo_1_djz4jq1z_.dbf
NAME
--------------------------------------------------------------------------------
SQL> alter session set container=cdb$root;
Session altered.
SQL> alter pluggable database pdb01 close immediate;
Pluggable database altered.
SQL>alter pluggable database pdb01 unplug into '/home/oracle/pdb01.xml';
Pluggable database altered.
SQL> drop pluggable database pdb01 keep datafiles;
Pluggable database dropped.
[oracle@12c01 ~]cd /home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafile
[oracle@12c01 datafile]$ ll
total 775720
-rw-r-----. 1 oracle oinstall 408952832 May 10 18:02 o1_mf_sysaux_djszmxkb_.dbf
-rw-r-----. 1 oracle oinstall 272637952 May 10 18:02 o1_mf_system_djszmxhq_.dbf
-rw-r-----. 1 oracle oinstall 104865792 May 10 18:02 o1_mf_undo_1_djz4jq1z_.dbf > 操作系统层对应的文件没有被删除
-rw-r-----. 1 oracle oinstall 7872512 May 10 18:02 o1_mf_users_djszpsmt_.dbf
说明:在drop PDB的时候,有2种方式 keep DATAFILES 和 including DATAFILES,默认是KEEP
相关文章推荐
- Oracle 12c 多租户 手工创建 pdb 与 手工删除 pdb
- 2.oracle 12c 创建-访问-关闭-删除PDB
- oracle 12c 创建PDB用户即Local User
- Oracle 12C -- 使用seed PDB创建新的pdb
- Oracle12c多租户如何连接到CDB或PDB、CDB与PDB容器切换
- Oracle 12c 多租户 CDB 与 PDB之 shared undo 与 Local undo 切换
- oracle 12c创建可插拔数据库(PDB)及用户
- Oracle12c多租户如何连接到CDB或PDB、CDB与PDB容器切换
- oracle 12c创建可插拔数据库(PDB)与用户详解
- Oracle 12c 多租户 CDB 与 PDB 级别 expdb 与 impdb(表、用户、全库)
- oracle 12c创建pdb用户
- Oracle 12C 创建用户连接pdb
- Oracle 12c 手工创建CDB数据库
- Oracle 12c 多租户配置和修改 CDB 和 PDB 参数
- 手工删除Oracle 12C数据库
- oracle 12c 创建、开关、删除
- oracle12c 实战 创建PDB用户 创建表空间 导入DMP数据
- [转]Oracle 12c多租户特性详解:PDB 的创建、克隆与维护
- Oracle 12c 多租户 CDB 与 PDB之 shared undo 与 Local undo 切换
- Oracle 12c 多租户配置和修改 CDB 和 PDB 参数