【比較】Oracle不同版本中關於ALTER TABLESPACE的功能演進
1.分別看一下從9i到11gR2版本中關於“ALTER TABLESPACE”的語法。
1).11g(R1和R2相同)的語法:
ALTER TABLESPACE tablespace
{ DEFAULT [ table_compression ] storage_clause
| MINIMUM EXTENT size_clause
| RESIZE size_clause
| COALESCE
| SHRINK SPACE [ KEEP size_clause]
| RENAME TO new_tablespace_name
| { BEGIN | END } BACKUP
| datafile_tempfile_clauses
| tablespace_logging_clauses
| tablespace_group_clause
| tablespace_state_clauses
| autoextend_clause
| flashback_mode_clause
| tablespace_retention_clause
} ;
2).10g的語法:
ALTER TABLESPACE tablespace
{ DEFAULT
[ table_compression ] storage_clause
| MINIMUM EXTENT size_clause
| RESIZE size_clause
| COALESCE
| RENAME TO new_tablespace_name
| { BEGIN | END } BACKUP
| datafile_tempfile_clauses
| tablespace_logging_clauses
| tablespace_group_clause
| tablespace_state_clauses
| autoextend_clause
| flashback_mode_clause
| tablespace_retention_clause
} ;
3).9i的語法:
ALTER TABLESPACE tablespace
{ datafile_tempfile_clauses
| DEFAULT [ data_segment_compression ] storage_clause
| MINIMUM EXTENT integer [ K | M ]
| ONLINE
| OFFLINE [ NORMAL | TEMPORARY | IMMEDIATE ]
| { BEGIN | END } BACKUP
| READ { ONLY | WRITE }
| PERMANENT| TEMPORARY
| COALESCE
| logging_clause
| [ NO ] FORCE LOGGING
} ;
2.將比較關心的幾個特性演進描述一下
1)10g比9i增加了修改表空間名字的方法(RENAME TO),方便很多,雖然在改名的過程中存在一些限制,不過改進相當的人性,終於不用透過增刪的方式修改表空間的名字了。
關於rename表空間名字的一些限制請閱讀Oracle的官方文件,描寫的非常的清晰,地址如下:
具體操作一例:
sys@ora10g> alter tablespace TBS_SEC_D1 rename to TBS_SEC_D;
Tablespace altered.
2)10g到9i的變化是非常大的,增加了非常多的特性,因為10g是一個跨時代的一個版本。
3)10g到11g的變化不是很大,不過也體現了功能的進一步加強,這裡提到的是對臨時表空間的“SHRINK SPACE”功能,加強了對臨時表空間的管理功能。
(1)“SHRINK SPACE”之前的臨時表空間檢視
sys@ora11g> select tablespace_name,file_id,bytes/1024/1024 Mbytes,blocks,maxbytes/1024/1024 MmaxBytes,maxblocks from dba_temp_files;
TABLESPACE_NAME FILE_ID MBYTES BLOCKS MMAXBYTES MAXBLOCKS
--------------- ---------- ---------- ---------- ---------- ----------
TEMP 1 29 3712 32767.9844 4194302
(2)使用“SHRINK SPACE”功能對臨時表空間進行縮減
sys@ora11g> alter tablespace TEMP shrink space;
Tablespace altered.
(3)“SHRINK SPACE”之後臨時表空間檢視,可以看到臨時表空間大小由原來的29M變成了現在的不到2M的大小。
sys@ora11g> select tablespace_name,file_id,bytes/1024/1024 Mbytes,blocks,maxbytes/1024/1024 MmaxBytes,maxblocks from dba_temp_files;
TABLESPACE_NAME FILE_ID MBYTES BLOCKS MMAXBYTES MAXBLOCKS
--------------- ---------- ---------- ---------- ---------- ----------
TEMP 1 1.9921875 255 32767.9844 4194302
(4)演示一下對於非臨時表空間進行SHRINK時的報錯資訊,提示資訊很清晰
sys@ora11g> alter tablespace USERS shrink space;
alter tablespace USERS shrink space
*
ERROR at line 1:
ORA-12916: cannot shrink permanent or dictionary managed tablespace
3.小結
上面只是提到了幾個我感覺比較實用的變化,拋個磚,細節之處大家再慢慢體會吧。
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2124604/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- alter tablespace ts_name autoextend_clause
- NLP 中不同詞嵌入技術的比較 - KDnuggets
- 不同解決方案的比較
- iOS 版本號的比較iOS
- Linux 比較不同命令Linux
- SpringBoot中關於 HikariPool、Druid及常用連線池的比較Spring BootUI
- Oracle date 型別比較和String比較Oracle型別
- 使用perl比較mysql的版本MySql
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- 關於 PHP 不同資料型別在比較時該如何轉化問題PHP資料型別
- javascript訪問不同物件的速度比較JavaScript物件
- 關於oracle中的undoOracle
- 關於c、c++之前比較模糊的概念C++
- 關於plsql,crt登入比較慢SQL
- Oracle OCP(48):UNDO TABLESPACEOracle
- ALTER TABLE修改列的不同方法
- 令人比較失落的IT圈子-關於華為裁員
- HTTP協議幾個版本的比較HTTP協議
- 不同於Oracle:SEQUENCE的區別Oracle
- 版本號比較大小問題
- LeetCode-165-比較版本號LeetCode
- 1.4.1. 關於Oracle 資料庫版本號Oracle資料庫
- 關於Spring的JDBC連線mysql(與傳統jdbc比較)SpringJDBCMySql
- 如何比較版本號--Python實現Python
- 【TABLESPACE】Oracle表空間最佳實踐Oracle
- 在java中進行日期時間比較的4種方法Java
- 比較兩個檔案,求出不同的內容,A-B
- 如何比較兩個資料庫表結構的不同資料庫
- Mysql關於長連線短連線優劣比較MySql
- JavaScript與WebAssembly進行比較JavaScriptWeb
- 【原】關於Visual Assist X(VC助手)幾個最新版本的比較與破解下載——更新到10.7.1903.0
- 在Hibernate中關於Oracle sequence的使用KHOracle
- VUE中diff比較Vue
- Boost.Asio和ACE之間關於Socket程式設計的比較程式設計
- 【TABLESPACE】Oracle 表空間結構說明Oracle
- 關於Oracle 18c將採用新的命名版本號的方式Oracle
- 對於“前端狀態”相關問題,如何思考比較全面前端
- powershell中的where和foreach比較
- Mysql中的Datetime和Timestamp比較MySql