如何為asm db中system表空間的資料檔案使用別名!

warehouse發表於2009-06-08
問題雖小,卻困擾了一段時間![@more@]

SQL> create tablespace TEST datafile '+DG/asmdb/datafile/TEST.DBF' SIZE 3M;

表空間已建立。

SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;

FILE_NAME
--------------------------------------------------------------------------------

+DG/asmdb/datafile/users.266.688401581
+DG/asmdb/datafile/sysaux.264.688401529
+DG/asmdb/datafile/undotbs1.263.688401515
+DG/asmdb/datafile/system01.dbf
+DG/asmdb/datafile/test.dbf

--=====================================
ASMCMD> pwd
+dg/asmdb/datafile
ASMCMD> ls
SYSAUX.264.688401529
SYSTEM.262.688401443
SYSTEM01.DBF
TEST.268.689004557
TEST.DBF
UNDOTBS1.263.688401515
USERS.266.688401581
ASMCMD> ls -a
none => SYSAUX.264.688401529
+DG/ASMDB/DATAFILE/SYSTEM01.DBF => SYSTEM.262.688401443
SYSTEM01.DBF
+DG/ASMDB/DATAFILE/TEST.DBF => TEST.268.689004557
TEST.DBF
none => UNDOTBS1.263.688401515
none => USERS.266.688401581
ASMCMD>
--========================================
很顯然我們建立的表空間test其對應的資料檔案TEST.DBF是一個別名,真實
的資料檔案是TEST.268.689004557,然而在建立db時系統自動建立的幾個表空間
(system,undotbs,sysaux,users)對應的都是真實的資料檔案,沒有別名,如何讓
這幾個檔案使用別名呢?
SQL> select file_name from dba_data_files;

FILE_NAME
-------------------------------------------------------------------------------

+DG/asmdb/datafile/system.262.688401443
+DG/asmdb/datafile/users.266.688401581
+DG/asmdb/datafile/sysaux.264.688401529
+DG/asmdb/datafile/undotbs1.263.688401515

SQL>
--首先建立別名
SQL> alter diskgroup dg add alias '+dg/asmdb/datafile/SYSTEM01.DBF' FOR '+dg/asm
db/datafile/SYSTEM.262.688401443';

磁碟組已變更。

SQL>
--需要重建控制檔案,因為controlfile中記錄的名字目前是真實的名字,需要在
這裡指向別名就可以了
--======================================
SQL> CREATE CONTROLFILE REUSE DATABASE "ASMDB" NORESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '+DG/asmdb/redo01.log' SIZE 5M,
9 GROUP 2 '+DG/asmdb/redo02.log' SIZE 5M,
10 GROUP 3 '+DG/asmdb/redo03.log' SIZE 5M
11 -- STANDBY LOGFILE
12 DATAFILE
13 '+DG/asmdb/datafile/system01.dbf',
14 '+DG/asmdb/datafile/undotbs1.263.688401515',
15 '+DG/asmdb/datafile/sysaux.264.688401529',
16 '+DG/asmdb/datafile/users.266.688401581'
17 CHARACTER SET ZHS16GBK
18 ;

控制檔案已建立。

SQL> alter database open;

資料庫已更改。

SQL> select file_name from dba_data_files;

FILE_NAME
-------------------------------------------------------------------------------

+DG/asmdb/datafile/users.266.688401581
+DG/asmdb/datafile/sysaux.264.688401529
+DG/asmdb/datafile/undotbs1.263.688401515
+DG/asmdb/datafile/system01.dbf

SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1022882/,如需轉載,請註明出處,否則將追究法律責任。

相關文章