Oracle RAC資料庫修改名稱
簡單記錄下Oracle RAC修改名稱的一些方法。
1.關閉一個執行個體
[oracle@rac11g2 ~]$ sqlplus / as sysdba
SQL> shutdown immediate;
2.備份spfile檔案
SQL> create pfile='/home/oracle/acct1.pfile' from spfile;
3.修改pfile檔案cluster_database為false
*.cluster_database=FALSE
4.使用pfile檔案,啟動單一實例資料庫到mount狀態
SQL> startup mount pfile='/home/oracle/acct1.pfile';
5.執行nid修改dbname
[oracle@rac11g1 ~]$ nid target=sys/oracle dbname=crmdb setname=y
DBNEWID: Release 11.2.0.4.0 - Production on Tue May 19 09:31:48 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to database ACCT (DBID=3809824099)
Connected to server version 11.2.0
Control Files in database:
+DATA_DG/acct/controlfile/current.261.872692963
+DATA_DG/acct/controlfile/current.260.872692963
Change database name of database ACCT to CRMDB? (Y/[N]) => Y
Proceeding with operation
Changing database name from ACCT to CRMDB
Control File +DATA_DG/acct/controlfile/current.261.872692963 - modified
Control File +DATA_DG/acct/controlfile/current.260.872692963 - modified
Datafile +DATA_DG/acct/datafile/system.256.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/sysaux.257.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/undotbs1.258.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/users.259.87269284 - wrote new name
Datafile +DATA_DG/acct/datafile/example.267.87269300 - wrote new name
Datafile +DATA_DG/acct/datafile/undotbs2.268.87269351 - wrote new name
Datafile +DATA_DG/acct/tempfile/temp.266.87269298 - wrote new name
Control File +DATA_DG/acct/controlfile/current.261.872692963 - wrote new name
Control File +DATA_DG/acct/controlfile/current.260.872692963 - wrote new name
Instance shut down
Database name changed to CRMDB.
Modify parameter file and generate a new password file before restarting.
Succesfully changed database name.
DBNEWID - Completed succesfully.
6.修改ORACLE_SID資訊
------節點1------
6.1 環境變數
[oracle@rac11g1 ~]$ vi .bash_profile
export ORACLE_SID=crmdb1
6.2 口令檔案
[oracle@rac11g1 ~]$ cd $ORACLE_HOME/dbs
[oracle@rac11g1 dbs]$ orapwd file=orapwcrmdb1 password=oracle
6.3 修改pfile檔案啟動資料庫
*.cluster_database=TRUE
*.db_name='crmdb'
替換acct1為crmdb1 :%s/acct1/crmdb1/g
替換acct2為crmdb2 :%s/acct2/crmdb2/g
6.4 建立新的spfile參數檔案
[oracle@rac11g1 ~]$ sqlplus / as sysdba
SQL> startup pfile='/home/oracle/acct1.pfile' nomount;
SQL> create spfile='+DATA_DG' from pfile='/home/oracle/acct1.pfile';
6.5 建立pfile參數檔案
[oracle@rac11g1 ~]$ cd $ORACLE_HOME/dbs
[oracle@rac11g1 dbs]$ vi initcrmdb1.ora
SPFILE='+DATA_DG/crmdb/PARAMETERFILE/spfile.293.880105913'
------節點2------
1 環境變數
[oracle@rac11g2 ~]$ vi .bash_profile
export ORACLE_SID=crmdb2
2. 口令檔案
[oracle@rac11g2 ~]$ cd $ORACLE_HOME/dbs
[oracle@rac11g2 dbs]$ orapwd file=orapwcrmdb2 password=oracle
3. 參數檔案
[oracle@rac11g2 dbs]$ vi initcrmdb2.ora
SPFILE='+DATA_DG/crmdb/PARAMETERFILE/spfile.293.880105913'
7.修改crs資源
7.1 刪除舊執行個體配置
[oracle@rac11g1 ~]$ srvctl remove database -d acct
7.2 添加新執行個體配置
[oracle@rac11g1 ~]$ srvctl add database -d crmdb -o /oracle/app/oracle/product/11.2.0/db_1/
[oracle@rac11g1 ~]$ srvctl add instance -d crmdb -i crmdb1 -n rac11g1
[oracle@rac11g1 ~]$ srvctl add instance -d crmdb -i crmdb2 -n rac11g2