2012-07-12 31 views
2

我已經恢復的數據庫名爲DB到名爲DB01恢復後更改數據庫名稱controlfiles?

另一個數據庫

它是在已啓動狀態(未安裝),似乎如果沒有坐騎,我不能改名字,我不能安裝它,因爲的名稱,如果可能的話如何解決這個問題?

我從DB RMAN完整備份,承載數據庫DB01的initdb01.ora願與DB01

我能做些什麼未來

NID並沒有幫助我的配置當前服務器上!它要求安裝數據庫!我不能安裝它

ORA-01103:控制文件數據庫名稱「DB」不是「DB01」

回答

2

您需要重新創建控制文件。最好的方法是首先在原始數據庫中執行以下命令:

alter database backup controlfile to trace; 

這會在跟蹤目錄中創建一個文本文件。您需要更改文件路徑以匹配新的數據庫文件位置,並更改db_name參數。

上一步完成後,在nomount中啓動新數據庫並執行上面的文件(確保您已連接到新數據庫,並且所有文件路徑指向新數據庫)。這將創建一個新的控制文件。

+0

可以通過包含跟蹤目錄通常位於的位置來改進您的答案。我們(oracle noobs)必須解決這個問題。 – Tinman 2012-11-01 05:22:23

3

所以這裏將db_name設爲DB,一旦數據庫打開就開始恢復,您可以使用nid實用程序更改數據庫名稱。

SQL > ALTER SYSTEM SET DB_NAME=DB SCOPE=spfile; 

請參考鏈接: Changing oracle db name in 10G

0

如果要還原到不同的盒子,那麼你可以暫時使用原有數據庫的名稱裝入還原的數據庫。然後,您可以掛載已恢復的數據庫,並使用掛載的數據庫提供的工具。

  • 更改ORACLE_SID到原始數據庫名

  • 重命名spfile中包含原始數據庫名

  • 使用此在spfile中更改名稱。

    ALTER SYSTEM SET DB_NAME = ORIGINAL_DBNAME SCOPE = spfile;

這不適用於運行原始數據庫的盒子,因爲您不能在同一個盒子上運行兩個具有相同名稱的數據庫。

+0

你如何完成前兩步?我永遠不會理解Oracle數據庫是什麼,導致它與其他所有數據相比,記錄如此糟糕。圍繞Web的Oracle問題的答案似乎沒有包含完成任務所需的完整技術步驟,而無需在其他地方查看大量的東西。 – alexk 2014-12-02 12:32:11

0

請參閱Oracle支持文檔ID 1906009.1。

您需要從備份中重新創建控制文件,然後將其修改爲使用帶有SET DATABASE選項的REUSE和RESETLOGS。使用

alter database backup controlfile to trace; 

然後使用create controlfile命令找到相關的跟蹤文件。修改SQL以包含推薦的選項。我剛剛做了這個,這裏是我的例子:

CREATE CONTROLFILE REUSE set DATABASE "ANDYSTBY" RESETLOGS ARCHIVELOG 
    MAXLOGFILES 16 
    MAXLOGMEMBERS 3 
    MAXDATAFILES 100 
    MAXINSTANCES 8 
    MAXLOGHISTORY 292 
LOGFILE 
    GROUP 1 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_1.258.917112951', 
    '+LOGS/ANDYSTBY/ONLINELOG/group_1.259.917113325' 
) SIZE 50M BLOCKSIZE 512, 
    GROUP 2 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_2.257.917112935', 
    '+LOGS/ANDYSTBY/ONLINELOG/group_2.260.917113339' 
) SIZE 50M BLOCKSIZE 512, 
    GROUP 3 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_3.256.917112925', 
    '+LOGS/ANDYSTBY/ONLINELOG/group_3.261.917113345' 
) SIZE 50M BLOCKSIZE 512 
-- STANDBY LOGFILE 
DATAFILE 
    '+DATA/ANDYSTBY/DATAFILE/system.257.917108631', 
    '+DATA/ANDYSTBY/DATAFILE/sysaux.256.917108485', 
    '+DATA/ANDYSTBY/DATAFILE/undotbs1.259.917108757', 
    '+DATA/ANDYSTBY/DATAFILE/users.258.917108757' 
CHARACTER SET AL32UTF8; 

恢復數據庫後,您將需要使用「使用備份控制文件」選項進行恢復。

恢復數據庫直到取消使用備份控制文件;