修改Oracle數據庫名稱

一般情況下,不需要修改數據庫名稱。但如果修改了數據庫名,客戶機就必須重新進行網絡服務名的配置,才能連接到數據庫。

 

【實驗前必知的信息】

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 修改spfiledb_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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章