4 Temporary 表空间
CDB 中的temporary 表空间只从在CDB中管理。
?
PDB 可以有自己的temporary表空间,也可以不用,在创建PDB的时候如果没有指定temporary表空间,那么就会公用CDB的temporary 表空间。
?
SQL> select name from v$pdbs; NAME ---------------------------------------------------------------------- PDB$SEED PDBCNDBA PCNDBA2 SQL> alter session set container=pcndba2; Session altered. SQL> show con_name CON_NAME ------------------------------ PCNDBA2 SQL> select file_name fromdba_data_files; FILE_NAME ------------------------------------------------------------ /u01/app/oracle/oradata/cndba/pcndba2/sysaux01.dbf /u01/app/oracle/oradata/cndba/pcndba2/system01.dbf /u01/app/oracle/oradata/cndba/pcndba2/pcndba2_users01.dbf SQL> CREATE TEMPORARY TABLESPACE temp2 2 TEMPFILE'/u01/app/oracle/oradata/cndba/pcndba2/temp02.dbf' SIZE 5M 3 AUTOEXTEND ON NEXT 1M; Tablespace created. SQL> select name from v$tempfile; NAME ---------------------------------------------------------------------- /u01/app/oracle/oradata/cndba/pcndba2/temp01.dbf /u01/app/oracle/oradata/cndba/pcndba2/temp02.dbf SQL> drop tablespace temp2 includingcontents and datafiles; Tablespace dropped. SQL> select name from v$tempfile; NAME ---------------------------------------------------------------------- /u01/app/oracle/oradata/cndba/pcndba2/temp01.dbf
5 Default Tablespaces
?
CDB 中的defaulttablespace 和 default temporary tablespace 只能在CDB中操作。
?
?
PDB 的中defaulttablespace 和 default temporary tablespace有两种修改方法:
?
(1) 使用ALTER PLUGGABLE DATABASE命令
推荐使用这种方法,法语如下:
?
CONN pdb@pdb1 ALTER PLUGGABLE DATABASE DEFAULT TABLESPACEusers; ALTER PLUGGABLE DATABASE DEFAULT TEMPORARYTABLESPACE temp;
(2)为了向后的兼容性,也可以使用ALTERDATABASE 命令修改:
CONN pdb@pdb1 ALTER DATABASE DEFAULT TABLESPACE users; ALTER DATABASE DEFAULT TEMPORARY TABLESPACEtemp;
注意:
不管使用哪种方法,在修改之前,主要要保证container是正确的。