更改Oracle数据库默认临时表空间出现的小问题
更改Oracle数据库默认临时表空间出现的小问题
在oracle 10g 中 ,发出alter database default temporary tablespace temp 命令后
会把所有用户的临时表空间改为temp,下面看下测试过程:
SQL> select username,temporary_tablespace from dba_users;
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
DBSNMP TEMP
SYS TEMP
SYSTEM TEMP
TEST TEMP
OUTLN TEMP
HR TEMP
WMSYS TEMP
TSMSYS SYSTEM
DIP SYSTEM
已选择9行。
SQL> create temporary tablespace test_temp tempfile 'd:\test_temp02.dbf' size 10
m;
表空间已创建。
SQL> alter user hr temporary tablespace test_temp;
用户已更改。
SQL> select username,temporary_tablespace from dba_users;
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
DBSNMP TEMP
SYS TEMP
SYSTEM TEMP
TEST TEMP
HR TEST_TEMP
OUTLN TEMP
WMSYS TEMP
TSMSYS SYSTEM
DIP SYSTEM
已选择9行。
SQL> alter database default temporary tablespace test_temp;
数据库已更改。
SQL> select username,temporary_tablespace from dba_users;
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
DBSNMP TEST_TEMP
SYS TEST_TEMP
SYSTEM TEST_TEMP
TEST TEST_TEMP
TSMSYS TEST_TEMP
OUTLN TEST_TEMP
DIP TEST_TEMP
HR TEST_TEMP
WMSYS TEST_TEMP
已选择9行。
SQL> alter database default temporary tablespace temp;
数据库已更改。
SQL> select username,temporary_tablespace from dba_users;
USERNAME TEMPORARY_TABLESPACE
------------------------------ ------------------------------
DBSNMP TEMP
SYS TEMP
SYSTEM TEMP
TEST TEMP
TSMSYS TEMP
OUTLN TEMP
DIP TEMP
HR TEMP
WMSYS TEMP
已选择9行。
可以看出一旦发出alter database default temporary tablespace temp; 命令后,会更改所有用户的临时表空间
所以对有些用户有自己默认临时表空间的话,就要注意了,发出上面命令后,记的更改回来。