nid修改資料庫名稱

skzhuga發表於2019-02-19

nid可以用來修改db_id與db_name,修改之前最好冷備一下


1.關閉監聽,正常關閉Oracle

 [oracle@node3 ~]$ lsnrctl stop

 LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 19-FEB-2019 09:35:04

 Copyright (c) 1991, 2013, Oracle.  All rights reserved.

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))

 The command completed successfully

 

 SQL> shutdown immediate

 Database closed.

 Database dismounted.

 ORACLE instance shut down.


2.重啟資料庫到mount狀態

  SQL> startup mount force

 ORACLE instance started.

 

 Total System Global Area 2.1379E+10 bytes

 Fixed Size                  2262656 bytes

 Variable Size            2.0401E+10 bytes

 Database Buffers          939524096 bytes

 Redo Buffers               36073472 bytes

 Database mounted.


3.nid修改資料庫名稱

  nid target=sys/xxx dbname=BDDEV1 logfile=nid_0219.log

 

 檢視日誌檔案:

 [oracle@node3 ~]$ more nid_0219.log 

 

 DBNEWID: Release 11.2.0.4.0 - Production on Tue Feb 19 09:33:15 2019

 Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

 Connected to database BDDEV2 (DBID=2430401913)

 Connected to server version 11.2.0

 Control Files in database:

     /opt/app/oracle/oradata/BDDEV1/control01.ctl

     /opt/app/oracle/fast_recovery_area/BDDEV1/control02.ctl

  Changing database ID from 2430401913 to 2391707803

 Changing database name from BDDEV2 to BDDEV1

     Control File /opt/app/oracle/oradata/BDDEV1/control01.ctl - modified

     Control File /opt/app/oracle/fast_recovery_area/BDDEV1/control02.ctl - modified

     Datafile /opt/app/oracle/oradata/BDDEV1/system01.db - dbid changed, wrote new name

     Datafile /opt/app/oracle/oradata/BDDEV1/sysaux01.db - dbid changed, wrote new name

     Datafile /opt/app/oracle/oradata/BDDEV1/undotbs01.db - dbid changed, wrote new name

     Datafile /opt/app/oracle/oradata/BDDEV1/users01.db - dbid changed, wrote new name

     Datafile /opt/app/oracle/oradata/BDDEV1/tbs_soe.db - dbid changed, wrote new name

     Datafile /opt/app/oracle/oradata/BDDEV1/temp01.db - dbid changed, wrote new name

     Control File /opt/app/oracle/oradata/BDDEV1/control01.ctl - dbid changed, wrote new name

     Control File /opt/app/oracle/fast_recovery_area/BDDEV1/control02.ctl - dbid changed, wrote new name

     Instance shut down

 Database name changed to BDDEV1.

 Modify parameter file and generate a new password file before restarting.

 Database ID for database BDDEV1 changed to 2391707803.

 All previous backups and archived redo logs for this database are unusable.

 Database is not aware of previous backups and archived logs in Recovery Area.

 Database has been shutdown, open database with RESETLOGS option.

 Succesfully changed database name and ID.

 DBNEWID - Completed succesfully.

  如果日誌檔案中有報錯資訊,比如:NID-00135: There are 1 active threads,則可能是因為沒有正常關閉資料庫導致的。


4.修改引數檔案中db_name後,啟動Oracle

  SQL> startup nomount

  ORACLE instance started.

  Total System Global Area 1185853440 bytes

  Fixed Size                  2252664 bytes

  Variable Size             436207752 bytes

  Database Buffers          738197504 bytes

  Redo Buffers                9195520 bytes

  SQL> alter system set db_name=BDDEV1 scope=spfile;

  System altered.

  SQL> shutdown immediate

  ORA-01507: database not mounted

  ORACLE instance shut down.

 SQL> startup mount

 ORACLE instance started.

 

 Total System Global Area 1185853440 bytes

 Fixed Size                  2252664 bytes

 Variable Size             436207752 bytes

 Database Buffers          738197504 bytes

 Redo Buffers                9195520 bytes

 Database mounted.

 resetlogs方式開啟資料庫:

 SQL> alter database open resetlogs;

 Database altered.


5.開啟監聽

 lsnrctl start


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

相關文章