修改方法:1、將“pfile.ora”參數文件中的“db_name”值修改為指定值并保存;2、將原環境變量中的sid修改為新的“db_name”值;3、重啟數據庫后,使用resetlogs方式打開數據即可完成修改。
本教程操作環境:Windows10系統、oracle 11g版、Dell G3電腦。
oracle怎么修改db name
整體操作步驟如下:
-
生成重建空間語句相關的trace,以及生成數據庫實例的pfile文件
-
關閉數據庫
-
修改參數文件內容
-
執行創建控制文件的語句并啟動數據庫到mount
-
打開數據庫到open狀態
-
查看數據庫的名稱
修改db_name過程中涉及到的隱含內容
創建控制文件過程中的參數區別
redolog損壞的情況下,恢復數據庫的方法
物理修改數據庫文件位置之后,快速的恢復數據庫的方法
上面內容只做修改名稱演示,其他場景請參考另外技術文章。
修改過程
現數據庫的db_name信息如下:
1、生成參數文件:
SQL>?create?pfile='/home/oracle/pfile.ora'?from?spfile; File?created.
將生成出來參數文件(pfile.ora)的db_name 修改為 testdb
*.db_name='testdb' *.db_recovery_file_dest='+FRA' *.db_recovery_file_dest_size=4621074432 *.diagnostic_dest='/u01/app/oracle' *.dispatchers='(PROTOCOL=TCP)?(SERVICE=testdbXDB)'
將修改完的pfile文件生成為新的spfile
生成控制文件的trace文件
為session加上標記,方便查找trace文件
alter?session?set?tracefile_identifier='bak_control';
將當前controlfile文件的創建語句放到了trace文件中
alter?database?backup?controlfile?to?trace;
獲得第二步中生成的trace文件的路徑
select?tracefile?from?v$process?where?addr?in?(select?paddr?from?v$session?where?sid?in?(select?sid?from?v$mystat));
關閉數據庫
shutdown?immediate;
2、修改參數文件的內容和操作系統環境變量
將原來環境變量中的SID修改為新的名稱testdb
使用創建控制文件的語句啟動數據庫
實際執行的過程中,需要將上面的reuse 替換成 set ,將NORESETLOGS 修改為 RESETLOGS ,實際執行過程如下:
具體參數說明如下:
| 參數名稱 | 參數說明 | | —— | —— | | set | 一般是更改數據庫名字 | | reuse | 重新創建控制文件 | | noresetlogs | 打開數據庫的時候不用resetlogs | | resetlogs | 打開數據庫的時候要求resetlogs |
3、打開數據庫到open狀態
必須用resetlogs 的方式打開數據,否則報錯。
SQL>?alter?database?open; alter?database?open * ERROR?at?line?1: ORA-01589:?must?use?RESETLOGS?or?NORESETLOGS?option?for?database?open SQL>? SQL>? SQL>?alter?database?open?resetlogs; Database?altered. SQL>
結果驗證
過程總結
建議避免在生產環境使用該方法修改數據庫名稱
使用場景為不同的業務需要不同的環境名稱,做完異機恢復之后,按照環境要求修改相應的名稱。
整個過程難度不大,但是需細心,尤其是參數文件的修改和控制文件的重新生成
推薦教程:《Oracle視頻教程》