【比較】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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於Oracle字元型別的比較Oracle字元型別
- 關於資料庫物件版本比較的指令碼資料庫物件指令碼
- EJBQL中關於日期型資料的比較
- 不同DBMS的SQL比較SQL
- Java中不同的併發實現的效能比較Java
- ORACLE 中IN和EXISTS比較Oracle
- ALTER DATABASE 與 ALTER TABLESPACE OFFLINE的區別Database
- NLP 中不同詞嵌入技術的比較 - KDnuggets
- iOS 版本號的比較iOS
- 關於Go tools的比較有用的flagsGo
- alter index compute statistics與analyze index的比較Index
- 不同Java垃圾回收器的比較Java
- 不同備份方法的特性比較
- 令人比較失落的IT圈子-關於華為裁員
- (轉)ORACLE 中IN和EXISTS比較Oracle
- 不同的Java垃圾回收器的比較Java
- 使用perl比較mysql的版本MySql
- 比較perl模組的版本(轉)
- aix不同版本安裝oracle的不同版本時的要求AIOracle
- 關於 PHP 不同資料型別在比較時該如何轉化問題PHP資料型別
- 關於《尋知圖》後期功能演進之資料分析方向
- Linux 比較不同命令Linux
- javascript訪問不同物件的速度比較JavaScript物件
- insert的不同場景效能比較
- 關於plsql,crt登入比較慢SQL
- 關於c、c++之前比較模糊的概念C++
- 關於ORACLE MYSQL在非字首分割槽索引上分割槽剪裁的比較OracleMySql索引
- oracle不同版本的官方文件Oracle
- alter database datafile offline and alter database tablespace ...offlineDatabase
- 關於時間跨度比較的OVERLAPS函式函式
- C++程式中不同函式呼叫方式的彙編碼比較C++函式
- SpringBoot中關於 HikariPool、Druid及常用連線池的比較Spring BootUI
- 關於9i RMAN 增量備份中的資料塊SCN比較
- 【exp/imp不同版本】Oracle不同版本的exp/imp使用注意事項Oracle
- HTTP協議幾個版本的比較HTTP協議
- 比較 Informix Version 11 的各個版本ORM
- 版本號比較大小問題
- rhel5 oracle10.2.0.4_alter tablespace_擴充套件autoextendOracle套件