一般情況下,不需要修改數據庫名稱。但如果修改了數據庫名,客戶機就必須重新進行網絡服務名的配置,才能連接到數據庫。
【實驗前必知的信息】
1. 平臺環境:CentOS5.5 + Oracle 11g R2
2. 要求:將數據庫名稱由原來的“orcl02”修改成“new_db”
3. ORACLE_SID=Instance02
$ORACLE_BASE=/u01
$ORACLE_HOME=/u01/oracle
4. 存放服務器參數文件spfile 和 文本參數文件pfile的路徑:
Oracle需找參數文件的默認路徑:/u01/oracle/dbs/
spfile文件的路徑:/u01/oracle/dbs/spfileInstance02.ora
pfile文件的路徑:/u01/oracle/dbs/initInstance02.ora
Step 1: 修改spfile中db_name參數。
注意:
要修改spfile文件中的db_name參數,並不能使用“alter system set db_name=’new_db’ scope=spfile”這個命令,因爲通過查詢“v$parameter”動態性能視圖可知,參數db_name的“ISSYS_MODIFIABLE”列的屬性值是FALSE。
SQL> select name, issys_modifiable from v$parameter where name=’db_name’;
NAME ISSYS_MOD
------------------ --------------------
db_name FALSE
因此,要修改db_name參數,只能重新創建spfile文件。創建步驟如下:
① 先將二進制的spfile文件轉化成文本的pfile。
SQL> create pfile=’/u01/oracle/dbs/initInstance02.ora’ from spfile=’/u01/oracle/dbs/spfileInstance02.ora’
② 編輯initInstance02.ora 文件,將參數db_name修改爲“new_db”
③ 根據修改後的initIntance02.ora文件,創建新的spfile
SQL> create spfile=’/u01/oracle/dbs/spfileInstance02.ora’ from pfile=’/u01/oracle/dbs/initInstance02.ora’
至此,新的服務器參數文件spfile創建完畢,初始化參數db_name修改成功。
Step 2:將數據庫啓動到nomount狀態,使db_name參數生效。
Step 3:創建新的控制文件。
create controlfile reuse SET database "new_db" resetlogs noarchivelog
MAXLOGFILES 8
MAXLOGMEMBERS 4
MAXLOGHISTORY 292
MAXDATAFILES 100
MAXINSTANCES 4
LOGFILE
GROUP 1 ('/u01/redo01.log','/u01/oradata/orcl02/redo01.log') SIZE 50M BLOCKSIZE512,
GROUP 2 ('/u01/redo02.log','/u01/oradata/orcl02/redo02.log') SIZE 50M BLOCKSIZE512
DATAFILE
'/u01/oradata/orcl02/system01.dbf',
'/u01/oradata/orcl02/sysaux01.dbf',
'/u01/oradata/orcl02/undo01.dbf',
'/u01/oradata/orcl02/users01.dbf'
CHARACTER SET US7ASCII;
其中,“SET”選項表示用database之後的新數據庫名“new_db”覆蓋現有的數據庫名orcl02;
“resetlogs”表示重新設置當前的重做日誌文件。
當控制文件創建完畢後,Oracle會自動打開控制文件,將數據庫置於mount狀態。
Step 4:將數據庫啓動到open狀態。
SQL> alter database open resetlogs;
注意,因爲在創建控制文件時指定了resetlogs選項,所以在open數據庫時,也必須指定resetlogs選項。
Step 5:重建臨時表空間中的臨時數據文件。
打開數據庫後,重建臨時表空間,以便用戶可以順利的進行大型的排序操作。
SQL> alter tablespace temptbs01 add tempfile '/u01/oradata/orcl02/temptbs01.dbf' size 50m reuse autoextend on maxsize unlimited;
讀者如要轉載,請標明出處和作者名,謝謝。
作者名:zjrodger
地址:http://space.itpub.net/25851087或者http://blog.csdn.net/zjrodger