Oracle-11g 从表空间删除数据文件
生活随笔
收集整理的這篇文章主要介紹了
Oracle-11g 从表空间删除数据文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從表空間刪除數據文件前提條件
如果欲從表空間中刪除數據文件,那么該數據文件必須為空,否則將報出"ORA-03262: the file is non-empty"的錯誤。 從表空間刪除數據文件步驟 1.確定數據文件為空 根據數據文件名稱及表空間確定文件為空 SQL>?SELECT distinct b.owner, b.segment_name FROM dba_data_files a, dba_extents b WHERE a.file_id = b.file_id AND a.tablespace_name ='tablespace_name' AND a.file_name ='datafile_name'; 其中,tablespace_name?為數據文件所屬表空間名稱;datafile_name?為數據文件名稱。 注意:確保該語句查詢結果為空。否則需將該數據文件內對象移除該數據文件。 2.確保對應表空間無回收對象: SQL>?SELECT original_name, type, ts_name, can_purge FROM dba_recyclebin WHERE ts_name='tablespace_name'; 其中,tablespace_name?為回收對象所屬表空間名稱。 注意:確保該語句查詢結果為空。否則需使用?PURGE TABLE?等命令清理回收對象。3.從表空間刪除數據文件 登錄數據庫服務器,進入 sqlplus 環境,運行如下語句。 SQL>?ALTER TABLESPACE tablespace_name DROP DATAFILE 'datafile_name'; 其中,tablespace_name?為數據文件所屬表空間名稱;datafile_name?為數據文件名稱。 注意:切勿執行中取消操作,謹記! 4.監控執行過程 執行過程中,可能發生長時間卡死的情況,此時應多方位排查故障。 a.查看 alert.log 在執行的數據庫服務器上查看對應實例的?alert.log 文件。 b.查看會話等待事件 SQL>?SELECT inst_id, sid, serial#, username, sql_id, event FROM gv$session; 注意:很可能出現?enq TT - contention?的等待事件。應注意排查是否出現阻塞情況。 c.排查阻塞情況 SQL>?SELECT inst_id, addr, sid, type, id1, id2, lmode, request, ctime, block FROM gv$lock WHERE (id1, id2, type) IN ? ? (SELECT id1, id2, type? FROM gv$lock WHERE request>0);
轉載于:https://www.cnblogs.com/autopenguin/p/6179892.html
總結
以上是生活随笔為你收集整理的Oracle-11g 从表空间删除数据文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: input文本框设置和移除默认值
- 下一篇: 使用java获取本机mac