【TABLESPACE】使用“ALTER TABLESPACE”命令的“RENAME”功能實現表空間快速重新命名
在Oracle 10g環境中使用“ALTER TABLESPACE”命令的“RENAME TO”可以實現表空間快速重新命名的功能,我們體驗一下這種方便快捷的方法。
1.查詢資料庫版本資訊
sys@ora10g> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
2.建立表空間TBS_SECOOLER
sys@ora10g> create tablespace tbs_secooler datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_01.dbf' size 10m;
Tablespace created.
3.查詢表空間與資料檔案的對應關係
sys@ora10g> col tablespace_name for a20
sys@ora10g> col file_name for a51
sys@ora10g> select tablespace_name,file_name from dba_data_files where file_name like '%secooler%';
TABLESPACE_NAME FILE_NAME
-------------------- ---------------------------------------------------
TBS_SECOOLER /oracle/ora10gR2/oradata/ora10g/tbs_secooler_01.dbf
此處資訊用作後面的比較。
4.在TBS_SECOOLER表空間上建立使用者SECOOLER並授權
sys@ora10g> create user secooler identified by secooler default tablespace tbs_secooler;
User created.
sys@ora10g> grant connect,resource to secooler;
Grant succeeded.
5.查詢使用者與表空間的對應關係
sys@ora10g> select username,default_tablespace from dba_users where username = 'SECOOLER';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SECOOLER TBS_SECOOLER
此處資訊用作後續比較。
6.在SECOOLER使用者中建立測試表
sys@ora10g> conn secooler/secooler
Connected.
secooler@ora10g> create table t_secooler as select * from all_objects;
Table created.
7.查詢表與表空間的對應關係
secooler@ora10g> conn / as sysdba
Connected.
sys@ora10g> select segment_name,tablespace_name from dba_segments where segment_name='T_SECOOLER';
SEGMENT_NAME TABLESPACE_NAME
------------------------------ --------------------
T_SECOOLER TBS_SECOOLER
此處資訊用作後續比較。
8.調整表空間名字
我們將表空間TBS_SECOOLER更名為TBS_ANDY。
sys@ora10g> alter tablespace TBS_SECOOLER rename to TBS_ANDY;
Tablespace altered.
9.表空間調整後的查詢確認
1)查詢表空間與資料檔案的對應關係
sys@ora10g> select tablespace_name,file_name from dba_data_files where file_name like '%secooler%';
TABLESPACE_NAME FILE_NAME
-------------------- ---------------------------------------------------
TBS_ANDY /oracle/ora10gR2/oradata/ora10g/tbs_secooler_01.dbf
可見,表空間的名字發生的變化,但對應的資料檔案並沒有改變。
2)查詢SECOOLER使用者與表空間的對應關係
sys@ora10g> select username,default_tablespace from dba_users where username = 'SECOOLER';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SECOOLER TBS_ANDY
SECOOLER使用者的預設表空間已經有原來的TBS_SECOOLER調整為現在的TBS_ANDY。
3)查詢表與表空間的對應關係
sys@ora10g> select segment_name,tablespace_name from dba_segments where segment_name='T_SECOOLER';
SEGMENT_NAME TABLESPACE_NAME
------------------------------ --------------------
T_SECOOLER TBS_ANDY
表T_SECOOLER的儲存表空間已經由原來的TBS_SECOOLER調整為現在的TBS_ANDY。
透過以上測試,可見使用“ALTER TABLESPACE”命令的“RENAME TO”功能可以完美的實現表空間快速重新命名的目標。
10.小結
Oracle資料庫在每一個新版本中都會給我們帶來一些驚喜的功能,這些新的改變往往就是那些我們迫切要求的功能。
本例中的表空間快速重新命名的功能就是一例。
Good luck.
secooler
11.07.09
-- The End --
1.查詢資料庫版本資訊
sys@ora10g> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
2.建立表空間TBS_SECOOLER
sys@ora10g> create tablespace tbs_secooler datafile '/oracle/ora10gR2/oradata/ora10g/tbs_secooler_01.dbf' size 10m;
Tablespace created.
3.查詢表空間與資料檔案的對應關係
sys@ora10g> col tablespace_name for a20
sys@ora10g> col file_name for a51
sys@ora10g> select tablespace_name,file_name from dba_data_files where file_name like '%secooler%';
TABLESPACE_NAME FILE_NAME
-------------------- ---------------------------------------------------
TBS_SECOOLER /oracle/ora10gR2/oradata/ora10g/tbs_secooler_01.dbf
此處資訊用作後面的比較。
4.在TBS_SECOOLER表空間上建立使用者SECOOLER並授權
sys@ora10g> create user secooler identified by secooler default tablespace tbs_secooler;
User created.
sys@ora10g> grant connect,resource to secooler;
Grant succeeded.
5.查詢使用者與表空間的對應關係
sys@ora10g> select username,default_tablespace from dba_users where username = 'SECOOLER';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SECOOLER TBS_SECOOLER
此處資訊用作後續比較。
6.在SECOOLER使用者中建立測試表
sys@ora10g> conn secooler/secooler
Connected.
secooler@ora10g> create table t_secooler as select * from all_objects;
Table created.
7.查詢表與表空間的對應關係
secooler@ora10g> conn / as sysdba
Connected.
sys@ora10g> select segment_name,tablespace_name from dba_segments where segment_name='T_SECOOLER';
SEGMENT_NAME TABLESPACE_NAME
------------------------------ --------------------
T_SECOOLER TBS_SECOOLER
此處資訊用作後續比較。
8.調整表空間名字
我們將表空間TBS_SECOOLER更名為TBS_ANDY。
sys@ora10g> alter tablespace TBS_SECOOLER rename to TBS_ANDY;
Tablespace altered.
9.表空間調整後的查詢確認
1)查詢表空間與資料檔案的對應關係
sys@ora10g> select tablespace_name,file_name from dba_data_files where file_name like '%secooler%';
TABLESPACE_NAME FILE_NAME
-------------------- ---------------------------------------------------
TBS_ANDY /oracle/ora10gR2/oradata/ora10g/tbs_secooler_01.dbf
可見,表空間的名字發生的變化,但對應的資料檔案並沒有改變。
2)查詢SECOOLER使用者與表空間的對應關係
sys@ora10g> select username,default_tablespace from dba_users where username = 'SECOOLER';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SECOOLER TBS_ANDY
SECOOLER使用者的預設表空間已經有原來的TBS_SECOOLER調整為現在的TBS_ANDY。
3)查詢表與表空間的對應關係
sys@ora10g> select segment_name,tablespace_name from dba_segments where segment_name='T_SECOOLER';
SEGMENT_NAME TABLESPACE_NAME
------------------------------ --------------------
T_SECOOLER TBS_ANDY
表T_SECOOLER的儲存表空間已經由原來的TBS_SECOOLER調整為現在的TBS_ANDY。
透過以上測試,可見使用“ALTER TABLESPACE”命令的“RENAME TO”功能可以完美的實現表空間快速重新命名的目標。
10.小結
Oracle資料庫在每一個新版本中都會給我們帶來一些驚喜的功能,這些新的改變往往就是那些我們迫切要求的功能。
本例中的表空間快速重新命名的功能就是一例。
Good luck.
secooler
11.07.09
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-701776/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【TABLESPACE】“ALTER TABLESPACE”命令的“RENAME”功能在重新命名錶空間能力上的測試
- VMS: ALTER TABLESPACE/DATABASE TO RENAME FILES on VMS [ID 9560.1]Database
- 【TABLESPACE】Oracle表空間最佳實踐Oracle
- oracle的臨時表空間temporary tablespaceOracle
- Oracle基礎 01 表空間 tablespaceOracle
- 表空間監控(三)tablespace detailAI
- Tablespace Fragmentation - 表空間碎片問題Fragment
- MySQL Transportable Tablespace(傳輸表空間) 使用詳解MySql
- 【tablespace】表空間離線的3種模式模式
- 【TABLESPACE】Oracle 表空間結構說明Oracle
- Oracle Bigfile Tablespace大檔案表空間Oracle
- 臨時表空間temporary tablespace相關操作
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(上)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(中)Oracle
- 聊聊Oracle可傳輸表空間(Transportable Tablespace)(下)Oracle
- 表空間配額和UNLIMITED TABLESPACE許可權MIT
- 【Oracle】oracle tablespace&datafile -- oracle表空間 分享[轉]Oracle
- Oracle create tablespace 建立表空間語法詳解Oracle
- Rename Tablespace in Oracle database 10gOracleDatabase
- How to Rename Tablespace In Oracle10gOracle
- 使用rman在不同平臺之間傳送oracle asm表空間(transport tablespace)OracleASM
- ALTER DATABASE 與 ALTER TABLESPACE OFFLINE的區別Database
- 用dbms_streams_tablespace_adm表空間的遷移(4)
- 用dbms_streams_tablespace_adm表空間的遷移(3)
- 【比較】Oracle不同版本中關於ALTER TABLESPACE的功能演進Oracle
- 用dbms_streams_tablespace_adm來表空間的遷移(2)
- 用dbms_streams_tablespace_adm來表空間的遷移(1)
- 大資料解決方案(一)之表空間--bigfile tablespace大資料
- Oracle10新特性:臨時表空間組(temporary tablespace group)Oracle
- 10G新特性: 臨時表空間組(temporary tablespace group)
- alter database datafile offline and alter database tablespace ...offlineDatabase
- Oracle10g新特性:臨時表空間組(temporary tablespace group)Oracle
- 利用oracle10g_rman_convert_transportable tablespace遷移表空間Oracle
- 使用oracle procedure儲存過程自動擴充套件表空間空間tablespace_自動化運維Oracle儲存過程套件運維
- CREATE TABLESPACE命令詳解
- alter database drop datafile 與 drop tablespace file 的區別Database
- 重建控制檔案後,對臨時表空間(temporary tablespace)進行重建
- 表空間重新命名相關命令與測試