« 獲得MCSE認證的流程路由菜單也可DIY 解析建立個性路由器菜單技巧 »

Oracle數據庫的SID更改方法

SID : 數據庫實例名

    SQL> show parameter instance

    DB_NAME: 數據庫名。可以用DBNEWID (nid)命令更改DB_NAME.

    SQL> show parameter db_name

    DBID: 數據庫建立時創建的內部數字,用於區分不同數據庫。RMAN會用該數字來區分數據庫。當數據庫都是正常創建時,DBID是不壹樣的。如果用復制的方法復制數據庫,它們的DBID就會壹樣。可以用DBNEWID (nid)命令更改DBID.

    SQL> select dbid from v$database;

    下面開始更改SID.本例中,原SID名為oldsid,更改為newsid

    1. 關閉數據庫

SQL > create pfile from spfile;     生成initoldsid.ora 文件,後續操作需要用到

SQL > shutdown immediate;
 


    2. 編輯環境變量

# vi /home/oracle/.bash_profile

將其中的

export ORACLE_SID=oldsid   更改為

export ORACLE_SID=newsid
 


    為使環境變量生效,以oracle用戶重新登錄。

    3. 重命名參數文件

# cd $ORACLE_HOME/dbs

# mv initoldsid.ora initnewsid.ora
 


    參數文件內容無需更改。如果本數據庫是從另壹臺oracle服務器復制過來的,那需要將參數文件中的路徑和內存等配置進行修改,這不屬於本次任務。

    4. 創建口令文件

orapwd file=$ORACLE_HOME/dbs/orapwnewsid password=oracle


    至此,SID已經更改完成,數據庫可以正常啟動。以下操作是額外部分:

    5. 更改其他相關配置

    更改listener.ora:

    vi $ORACLE_HOME/network/admin/listener.ora,若其中配置了SID_NAME=OLDSID,則需要更改為NEWSID.然後重啟監聽:# lsnctl restart.

    更改tnsnames.ora:

    所有需要連接到本數據庫的其他主機,都需要更改tnsnames.ora.將SERVICE_NAME = OLDSID更改為SERVICE_NAME = NEWSID.這樣才能連接到本數據庫。

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。