在oracle中,預設表空間是使用者在建立時不特別指定表空間位置的儲存位置,可以利用ALTER指令修改表空間,語法為「ALTER DATABASE DEFAULT TABLESPACE users;」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
在oracle9i中,如果未使用 DEFAULT TABLESPACE 子句建立的所有使用者將以SYSTEM表空間作為它們的預設表空間。同時也不能為資料庫指定一個預設的表空間。
在Oracle 10g中定義了資料庫層級的預設表空間USERS,在建立使用者時沒有定義預設表空間,就會把資料庫層級的預設表空間當作自己的預設表空間。
在10g以前,就是把系統表空間(SYSTEMS)當作預設表空間。這樣很不合理。
可以使用以下指令查看預設表空間:
/* Formatted on 2011/12/19 15:57:48(QP5 v5.185.11230.41888) */ SELECT PROPERTY_VALUE FROM database_properties WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE'
可以使用下列指令修改預設表空間:
ALTER DATABASE DEFAULT TABLESPACE users;
這裡有幾個注意事項:
1. 如果我們在建立使用者時指定了預設表空間,那麼在修改預設表空間後,先前使用者的預設表空間也會改變。
2. 如果我們在建立使用者時沒有指定使用者表空間,那麼預設也會使用DB的預設表空間,這時候如果我們修改了DB的預設表空間,使用者的表空間也會發生改變。
3. 如果我們在建立使用者指定使用者的表空間是其他的表空間,那麼我們修改DB的預設表空間不會影響使用者的表空間。
4. DB的預設表空間無法刪除,除非預設表空間指向其他表空間之後才可刪除。
5. 如果使用者的預設表空間指向其他的表空間,當這個表空間被drop 之後,使用者的預設表空間會自動指向DB的預設表空間。
推薦教學:《Oracle影片教學》
以上是oracle預設表空間是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!