日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

修改oracle数据库的名字

發布時間:2024/9/27 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 修改oracle数据库的名字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近閑來無事,決定修改一下數據庫的名字,記得曾經學過通過重建控制文件來修改數據庫的名字,網上找了下也可以通過oracle自帶的nid修改數據庫的名字,不過這個方法有些麻煩,并且修改的數據庫名字不能帶“_"。

? 1,通過重建控制文件修改數據庫名字。

為了方便查找trace文件我們在進行備份控制文件的時候我們可以標記下trace文件:

alter session set? tracefile_identifier='control_bak'

下面我們備份我們的控制文件:

alter database backup controlfile to? trace;

10g是在我們的$ORACLE_BASE/admin\orcl\bdump下面的包含”control_bak“的文件

11g是在我們的$ORACLE_BASE/diag/rdbms/orcl/orcl/trace下面包含的”control_bak的文件

無論是那個版本的數據庫我們可以通過查詢查找到trace文件的路徑

select * from v$diag_info;

關閉數據庫,刪除控制文件(如果我們想要復制數據庫,我們可以把所有的文件復制到相應的位置,包括數據文件,歸檔文件,在線日志文件和和網絡有關的三個文件;不需要復制控制文件)

單純的修改數據庫的名字這步可以省略,我們需要修改pfile文件:主要是修改數據庫的文件路徑和數據庫的名字,以修改后的數據文件啟動新庫到nomount階段。

打開剛才找到的trace文件,復制創建控制文件的一段(一般以CREATE CONTROLFILE 開始)

我們需要修改兩個地方:

1,將“REUSE”修改為“set”,原數據庫名修改數據庫名,其他文件的路徑按需修改

· 2,需要移除RECOVER DATABASE USING BACKUP CONTROLFILE這一句

執行我們復制的腳步

以resetlog的方式打開我們的數據庫

alter database open resetlogs;

啟用臨時文件

alter tablespace temp add tempfile? '/.../temp01.dbf' reuse;

如果只是修改數據庫的名字這一步可以省略。

可以正常打開表示修改數據庫的名字成功

2,通過nid修改數據庫的名字

啟動數據庫到mount階段,修改數據庫的名字

startup mount;

host nid target=sys/orcl? dbname=new_name

關閉再次啟動到mount階段

alter system set db_name=new_name? scope=spfile;

shutdown immediate;

重建控制文件

host orapwd file=/../pwdorcl.ora? password=orcl entries=5(其實這個參數用處不大,多少個這樣的用戶是根據系統來設置的)

以resetlogs方式打開

startup mount;

alter database open resetlogs;

查看數據庫的名字

select dbid,name from v$database;

更改數據庫的instance_name,windows下面停止所有的服務

重建實例

oradim -delete -sid old_name;

oradim -new -sid new_name -intpwd pwd -startmode a -pfile c:\..\initonew_name.ora(修改原來的參數文件)

進入到數據庫中創建spfile文件

set oracle_sid=new_name

sqlplus sys/orcl as sysdba

create spfile from? pfile='c:\..\initnew_name.ora';

重新載入監聽文件

lsnrctl reload;

如果不能啟動可以執行resetlogs

alter database open resetlogs;

在使用2方法修改數據庫的名字的時候切忌修改的名字不能帶“_",否則會報:DIM-00003: 參數缺失變元。

網上查了下是oracle的一個bug,OracleBug No. 6000490中進行了描述。

解決方式就是去掉”_",并說這個bug已經提交進行到開發,但是要等到12版本才能解決。

目前解決方式只能是去掉下劃線。

總結

以上是生活随笔為你收集整理的修改oracle数据库的名字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。