自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle 更改dbid和dbname工具利器|DBNEWID (NID)分享

數(shù)據(jù)庫(kù) Oracle
DBID 是數(shù)據(jù)庫(kù)的內(nèi)部唯一標(biāo)識(shí)符。由于恢復(fù)管理器 (RMAN)通過(guò) DBID 區(qū)分?jǐn)?shù)據(jù)庫(kù),因此您無(wú)法在同一個(gè) RMAN 存儲(chǔ)庫(kù)中同時(shí)注冊(cè)種子數(shù)據(jù)庫(kù)和手動(dòng)復(fù)制的數(shù)據(jù)庫(kù)。

[[442731]]

NID 實(shí)用程序是在Oracle 10g中引入的。DBNEWID 是一個(gè)數(shù)據(jù)庫(kù)實(shí)用程序,位于 $ORACLE_HOME/bin 目錄中,可以更改操作數(shù)據(jù)庫(kù)的內(nèi)部數(shù)據(jù)庫(kù)標(biāo)識(shí)符 (DBID) 和數(shù)據(jù)庫(kù)名稱 (DBNAME)。在引入 DBNEWID 實(shí)用程序之前,我們?cè)?jīng)手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)的副本,并通過(guò)重新創(chuàng)建控制文件為其賦予新的數(shù)據(jù)庫(kù)名稱 (DBNAME)。但是,更改實(shí)例的內(nèi)部數(shù)據(jù)庫(kù)標(biāo)識(shí)符 (DBID) 是不可能的。

DBID 是數(shù)據(jù)庫(kù)的內(nèi)部唯一標(biāo)識(shí)符。由于恢復(fù)管理器 (RMAN)通過(guò) DBID 區(qū)分?jǐn)?shù)據(jù)庫(kù),因此您無(wú)法在同一個(gè) RMAN 存儲(chǔ)庫(kù)中同時(shí)注冊(cè)種子數(shù)據(jù)庫(kù)和手動(dòng)復(fù)制的數(shù)據(jù)庫(kù)。DBNEWID 實(shí)用程序解決了這個(gè)問(wèn)題。

NID 實(shí)用程序允許我們更改

  • 只有數(shù)據(jù)庫(kù)的 DBID
  • 只有數(shù)據(jù)庫(kù)的 DBNAME
  • 數(shù)據(jù)庫(kù)的 DBNAME 和 DBID

更改數(shù)據(jù)庫(kù)的 DBID 是一個(gè)嚴(yán)肅的過(guò)程。當(dāng)數(shù)據(jù)庫(kù)的 DBID 更改時(shí),該數(shù)據(jù)庫(kù)的所有先前備份和存檔日志將變得不可用。更改 DBID 后,必須使用 RESETLOGS 選項(xiàng)打開數(shù)據(jù)庫(kù),該選項(xiàng)會(huì)重新創(chuàng)建聯(lián)機(jī)重做日志并將其序列重置為 1。因此,更改 DBID 后應(yīng)立即備份整個(gè)數(shù)據(jù)庫(kù)。

在不更改 DBID 的情況下更改 DBNAME 不需要您使用 RESETLOGS 選項(xiàng)打開,因此數(shù)據(jù)庫(kù)備份和存檔日志不會(huì)失效。但是,更改 DBNAME 確實(shí)會(huì)產(chǎn)生影響。您必須在數(shù)據(jù)庫(kù)名稱更改后更改 DB_NAME 初始化參數(shù)以反映新名稱。此外,您可能需要重新創(chuàng)建 Oracle密碼文件. 如果您恢復(fù)控制文件的舊備份(在名稱更改之前),那么您應(yīng)該使用數(shù)據(jù)庫(kù)名稱更改之前的初始化參數(shù)文件和密碼文件。

NID 實(shí)用程序的參數(shù)(Oracle 10g 和Oracle 11g 中的參數(shù)相同):

$ nid help=y

  • TARGET輸入用戶名和密碼,注意,該用戶必須具有sysdba的權(quán)限。譬如target=sys/oracle,當(dāng)然,如果我們是在操作系統(tǒng)本地操作的話,可用反斜杠連接,即target=/
  • REVERT指明一個(gè)失敗的DBID操作是否需要回退。默認(rèn)是NO。注意,如果數(shù)據(jù)庫(kù)的DBID修改成功,該操作無(wú)法回退。該回退操作只針對(duì)失敗的DBID修改操作。
  • DBNAME指定新的數(shù)據(jù)庫(kù)名。
  • SETNAME默認(rèn)是NO,則該數(shù)據(jù)庫(kù)將同時(shí)修改DBID和DBNAME。如果指定為YES,則該數(shù)據(jù)庫(kù)將只修改DBNAME
  • LOGFILE日志文件,記錄操作信息,默認(rèn)是覆蓋上個(gè)日志文件。如果APPEND設(shè)為YES的話,則這次操作信息將被追加到上個(gè)日志文件中。APPEND默認(rèn)是NO。
  • HELP用來(lái)提示DBNEWID的語(yǔ)法規(guī)則。默認(rèn)為NO

一、更改 DBNAME & DBID

1、查詢數(shù)據(jù)庫(kù)的信息

  1. SQL> select dbid, name from v$database
  2. DBID      NAME 
  3.  
  4. ---------- --------- 
  5.  
  6. 1744662402 SFMv 

2、 備份數(shù)據(jù)庫(kù)

備份腳本示例:

  1. [localhost]$cat /oracle/ods_backup/bak0.sh 
  2. #!/bin/bash 
  3. export ORACLE_HOME=/oracle/ods/12201 
  4. export ORACLE_SID=orcl 
  5. export DATE=`date +%F` 
  6. export BACK_DIR='/oracle/ods_backup' 
  7. mkdir -p $BACK_DIR/$DATE 
  8. /oracle/ods/12201/bin/rman log=$BACK_DIR/$DATE/rman_backup_$DATE.log target / <<EOF 
  9. run{ 
  10.     CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 
  11.     CONFIGURE CONTROLFILE AUTOBACKUP ON
  12.     CONFIGURE CONTROLFILE autobackup format for device type disk to '$BACK_DIR/$DATE/CONTROLFILE.%F'
  13.     ALLOCATE CHANNEL disk1 DEVICE TYPE DISK FORMAT '$BACK_DIR/$DATE/full_%d_%T_%s.bak'
  14.     ALLOCATE CHANNEL disk2 DEVICE TYPE DISK FORMAT '$BACK_DIR/$DATE/full_%d_%T_%s.bak'
  15.     ALLOCATE CHANNEL disk3 DEVICE TYPE DISK FORMAT '$BACK_DIR/$DATE/full_%d_%T_%s.bak'
  16.     SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'
  17.     BACKUP  DATABASE SKIP INACCESSIBLE FILESPERSET 10 PLUS ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT; 
  18.     SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT'
  19.     CROSSCHECK BACKUP; 
  20.     CROSSCHECK ARCHIVELOG ALL
  21.     DELETE NOPROMPT EXPIRED BACKUP; 
  22.     DELETE NOPROMPT EXPIRED ARCHIVELOG ALL
  23.     DELETE NOPROMPT OBSOLETE; 
  24.     RELEASE channel disk1; 
  25.     RELEASE channel disk2; 
  26.     RELEASE channel disk3; 
  27. EOF 
  28. export EXPIRE_DATE=`date +%F -d '+7 day ago'
  29. rm -rf $BACK_DIR/$EXPIRE_DATE 
  30. exit 

3、在干凈關(guān)閉后掛載數(shù)據(jù)庫(kù)

  1. SQL> SHUTDOWN IMMEDIATE 
  2. SQL> STARTUP MOUNT 

4、調(diào)用 DBNEWID (NID) 實(shí)用程序

調(diào)用 DBNEWID (NID) 實(shí)用程序,使用具有 SYSDBA 權(quán)限的用戶從命令行指定 DBNAME。

  1. $ nid TARGET=sys/password DBNAME=new_name LOGFILE =change_dbname.log 

DBNEWID 實(shí)用程序在嘗試對(duì)文件進(jìn)行 I/O 之前在數(shù)據(jù)文件和控制文件的標(biāo)頭中執(zhí)行驗(yàn)證。如果驗(yàn)證成功,則 DBNEWID 會(huì)提示您確認(rèn)操作(除非您指定日志文件,在這種情況下它不會(huì)提示),更改所有數(shù)據(jù)文件中的 DBID,然后退出。數(shù)據(jù)庫(kù)處于掛載狀態(tài),但尚不可用。

5、更新pfile文件并創(chuàng)建密碼文件(如有必要)

此實(shí)用程序不會(huì)更改 pfile 中的數(shù)據(jù)庫(kù)名稱,因此請(qǐng)手動(dòng)更改 pfile 中的數(shù)據(jù)庫(kù)名稱 (DB_NAME) 并創(chuàng)建密碼文件(如有必要)。

  • 掛載數(shù)據(jù)庫(kù)SQL> STARTUP MOUNT
  • 以 RESETLOGS 模式打開數(shù)據(jù)庫(kù),恢復(fù)正常使用SQL> ALTER DATABASE OPEN RESETLOGS;
  • SQL> select dbid, name from v$database;
  • DBID NAME---------- ---------
  • 1748860243 SFM_DEV

6、進(jìn)行新的數(shù)據(jù)庫(kù)備份

由于您已重置聯(lián)機(jī)重做日志,因此舊的備份和歸檔日志在當(dāng)前的數(shù)據(jù)庫(kù)中不再可用。

二、Changing only DBNAME

在命令行上調(diào)用該實(shí)用程序;您必須同時(shí)指定 DBNAME 和 SETNAME 參數(shù)。

  1. $ nid TARGET=SYS/password DBNAME=newname SETNAME=YES 

DBNEWID 在嘗試對(duì)文件進(jìn)行 I/O 之前在控制文件(不是數(shù)據(jù)文件)的頭中執(zhí)行驗(yàn)證。如果驗(yàn)證成功,則 DBNEWID 會(huì)提示確認(rèn),更改控制文件中的數(shù)據(jù)庫(kù)名稱,然后退出。DBNEWID 成功完成后,數(shù)據(jù)庫(kù)仍處于掛載狀態(tài)但尚不可用。

如果操作成功,更新init文件后啟動(dòng)數(shù)據(jù)庫(kù)。

如果操作失敗,要恢復(fù)更改,請(qǐng)?jiān)俅芜\(yùn)行 DBNEWID 實(shí)用程序,指定 REVERT 關(guān)鍵字。

  1. $ nid TARGET=SYS/password REVERT=YES LOGFILE= backout.log 

三、Changing only DBID

在命令行上調(diào)用該實(shí)用程序;不要指定 DBNAME。

  1. $ nid TARGET=SYS/password 

如果操作成功,掛載數(shù)據(jù)庫(kù)并用resetlogs打開。如果操作失敗,要恢復(fù)更改,請(qǐng)?jiān)俅芜\(yùn)行 DBNEWID 實(shí)用程序,指定 REVERT 關(guān)鍵字。

  1. $ nid TARGET=SYS/password REVERT=YES LOGFILE=backout.log 

 

責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2010-04-19 11:23:26

Oracle開發(fā)工具

2020-10-24 15:31:10

Linux服務(wù)器工具

2010-05-04 11:58:38

Oracle數(shù)據(jù)庫(kù)

2022-01-26 07:18:57

oracle臨時(shí)表空間數(shù)據(jù)庫(kù)

2023-11-14 10:56:56

2011-11-21 11:19:19

Oracle NoSQ

2018-01-31 18:32:06

數(shù)據(jù)庫(kù)Oracle優(yōu)化工具

2010-04-06 16:00:19

Oracle更改表

2018-05-30 09:23:11

數(shù)據(jù)庫(kù)Oracle性能收集

2010-06-10 17:43:01

UML工具EA

2009-12-15 18:24:02

Ruby連接到orac

2010-04-12 17:58:38

Oracle更改

2015-09-09 15:54:00

mhddfs分區(qū)Linux

2020-07-16 10:19:43

程序員技能開發(fā)者

2009-11-19 11:12:13

Oracle LogM

2014-03-03 09:48:55

SSHTmux

2013-02-27 10:42:07

前端工具Web

2022-02-11 08:00:00

DevOps開發(fā)工具

2010-03-26 10:42:19

Exadata數(shù)據(jù)庫(kù)機(jī)Oracle

2010-04-19 17:37:51

Oracle 10g
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)