修改方法:1、將“pfile.ora”參數(shù)文件中的“db_name”值修改為指定值并保存;2、將原環(huán)境變量中的sid修改為新的“db_name”值;3、重啟數(shù)據(jù)庫后,使用resetlogs方式打開數(shù)據(jù)即可完成修改。
本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。
oracle怎么修改db name
整體操作步驟如下:
-
生成重建空間語句相關(guān)的trace,以及生成數(shù)據(jù)庫實例的pfile文件
-
關(guān)閉數(shù)據(jù)庫
-
修改參數(shù)文件內(nèi)容
-
執(zhí)行創(chuàng)建控制文件的語句并啟動數(shù)據(jù)庫到mount
-
打開數(shù)據(jù)庫到open狀態(tài)
-
查看數(shù)據(jù)庫的名稱
修改db_name過程中涉及到的隱含內(nèi)容
創(chuàng)建控制文件過程中的參數(shù)區(qū)別
redolog損壞的情況下,恢復(fù)數(shù)據(jù)庫的方法
物理修改數(shù)據(jù)庫文件位置之后,快速的恢復(fù)數(shù)據(jù)庫的方法
上面內(nèi)容只做修改名稱演示,其他場景請參考另外技術(shù)文章。
修改過程
現(xiàn)數(shù)據(jù)庫的db_name信息如下:
1、生成參數(shù)文件:
SQL> create pfile='/home/oracle/pfile.ora' from spfile; File created.
將生成出來參數(shù)文件(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加上標(biāo)記,方便查找trace文件
alter session set tracefile_identifier='bak_control';
將當(dāng)前controlfile文件的創(chuàng)建語句放到了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));
關(guān)閉數(shù)據(jù)庫
shutdown immediate;
2、修改參數(shù)文件的內(nèi)容和操作系統(tǒng)環(huán)境變量
將原來環(huán)境變量中的SID修改為新的名稱testdb
使用創(chuàng)建控制文件的語句啟動數(shù)據(jù)庫
實際執(zhí)行的過程中,需要將上面的reuse 替換成 set ,將NORESETLOGS 修改為 RESETLOGS ,實際執(zhí)行過程如下:
具體參數(shù)說明如下:
| 參數(shù)名稱 | 參數(shù)說明 | | —— | —— | | set | 一般是更改數(shù)據(jù)庫名字 | | reuse | 重新創(chuàng)建控制文件 | | noresetlogs | 打開數(shù)據(jù)庫的時候不用resetlogs | | resetlogs | 打開數(shù)據(jù)庫的時候要求resetlogs |
3、打開數(shù)據(jù)庫到open狀態(tài)
必須用resetlogs 的方式打開數(shù)據(jù),否則報錯。
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>
結(jié)果驗證
過程總結(jié)
建議避免在生產(chǎn)環(huán)境使用該方法修改數(shù)據(jù)庫名稱
使用場景為不同的業(yè)務(wù)需要不同的環(huán)境名稱,做完異機恢復(fù)之后,按照環(huán)境要求修改相應(yīng)的名稱。
整個過程難度不大,但是需細心,尤其是參數(shù)文件的修改和控制文件的重新生成
推薦教程:《Oracle視頻教程》