Oracle使用者預設表空間的問題
偶爾發現的,後續變更的時候需要注意下。
一個使用者預設的表空間被Drop掉之後,透過DBA_USERS查詢, 使用者預設的表空間依然是先前的表空間,雖然相關的表空間已經不存在了。需要手工進行相關使用者預設表空間的修改。
現網環境是9i的,存在這樣的問題,剛剛在10g/11g/12c都測試了,也存在類似的問題。
具體過程如下:
應用搬遷擴容後,需要刪除舊的表空間。
-- 刪除前首先確認相關表空間中是否還有segment存在,防止誤刪
SQL> select owner,segment_name,segment_type from dba_segments where tablespace_name='XX_D02_D30_B';
no rows selected
SQL> select owner,segment_name,segment_type from dba_segments where tablespace_name='XX_D02_I30_B';
no rows selected
-- 刪除相關表空間。使用“INCLUDING CONTENTS AND DATAFILES”的選項(具體原因見上一篇文章:Oracle Standby環境ORA-01274 01119 27038報錯處理
。
SQL> DROP TABLESPACE XX_D02_D30_B INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
SQL> DROP TABLESPACE XX_D02_I30_B INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
--查詢發現其中個別使用者的預設表空間有問題,需要更改。
SQL> select username,default_tablespace from dba_users;
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SYS SYSTEM
SYSTEM SYSTEM
DBSNMP SYSTEM
CXX038 XX_D03_D30_B
OSS XX_D02_D30_B
PERFSTAT PERFSTAT
IDIP XX_D02_D30_B
DBSRVT XX_D02_D30_B
WEB XX_D02_D30_B
OUTLN SYSTEM
WMSYS SYSTEM
11 rows selected.
SQL> alter user & 1 default tablespace XX_D03_D30_B;
Enter value for 1: OSS
old 1: alter user & 1 default tablespace XX_D03_D30_B
new 1: alter user OSS default tablespace XX_D03_D30_B
User altered.
.....
引申討論下Oracle不同版本使用者預設表空間的變遷
Oracle 8i:如果建立使用者的時候沒有指定DEFAULT TABLESPACE,則使用者的預設表空間是SYSTEM表空間。
Oracle 9i:同8i,同樣是SYSTEM表空間;增加DEFAULT_TEMP_TABLESPACE設定,具體資訊可查詢DATABASE_PROPERTIES。
Oracle 10g/11g/12c:DB 建立時增加DEFAULT TABLESPACE設定,可以用於設定DB級別使用者的預設表空間,如果未設定,則預設還是SYSTEM表空間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29154652/viewspace-772932/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle修改預設表空間和預設臨時表空間Oracle
- ORACLE預設的臨時表空間Oracle
- Oracle資料庫設定預設表空間Oracle資料庫
- [20210528]oracle大表空間預分配問題.txtOracle
- Oracle檢視使用者預設表空間使用情況的sql語句OracleSQL
- Oracle新建使用者、表空間、表Oracle
- 更改資料庫預設臨時表空間出現的小問題資料庫
- oracle系統預設臨時表空間以及redo日誌檔案問題處理Oracle
- 臨時表空間的建立、刪除,設定預設臨時表空間
- 只讀表空間的恢復問題--預備知識
- oracle 9i 臨時表空間問題Oracle
- 預設undo表空間變更後執行TSPITR要注意的問題
- Oracle臨時表空間檢視、新增臨時表空間資料檔案、修改預設臨時表空間 方法!Oracle
- 解決Oracle臨時表空間佔滿的問題Oracle
- oracle的臨時表空間解決問題的步驟Oracle
- oracle 建立表空間和使用者Oracle
- Oracle中新建表空間、使用者Oracle
- Oracle建立表空間和使用者Oracle
- 2.5.9.1 指定預設表空間的型別型別
- oracle 10g R2 建立使用者時預設表空間改變Oracle 10g
- Oracle表空間設計理念Oracle
- system表空間不足的問題分析
- oracle系統表空間過大問題處理Oracle
- ORACLE表空間、資料檔案離線問題Oracle
- oracle 檢視使用者所在的表空間Oracle
- Oracle批次修改使用者表table的表空間Oracle
- oracle 段空間管理問題Oracle
- Tablespace Fragmentation - 表空間碎片問題Fragment
- Oracle的表空間、使用者和使用者授權Oracle
- oracle 11g線上收回臨預設臨時表空間Oracle
- oracle資料泵方式更換資料預設表空間.Oracle
- Oracle RAC建立表空間和使用者Oracle
- oracle RAC 建立使用者和表空間Oracle
- 轉:Oracle 臨時表空間過大問題解決Oracle
- system表空間不足的問題分析(二)
- 處理TEMP表空間滿的問題
- Oracle表空間Oracle
- oracle 表空間Oracle