<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    修改DBNAME
    ?
    ?
    ??? 最近通過VMware硬盤的直接復制來創建結點,需要修改DBID和DBNAME(保證數據庫環境可用),找了找可以用來直接修改DBNAME的方法,還真有,原來Oracle本身就自帶了這個功能的工具(NID),用了一下發現使用還是比較方便的,但是更改之后問題多多,使用的最終結論還是:不到萬不得已不推薦使用,因為DBID涉及到的關聯很多,修改SID后會引發很多不可預知的錯誤,很多參數都任然沿用之間的%SID%,如果沒有非常特殊的要求,還是保留datafile后,刪除重建。講一下 具體的操作過程:

    一、NID的用法:
    ?
    ??? 這是Oracle自帶的工具,數據庫安裝完成后就自動安裝了。
    C:\>nid
    DBNEWID: Release 9.2.0.1.0 - Production
    Copyright (c) 1995, 2002, Oracle Corporation.? All rights reserved.
    ?
    Keyword???? Description??????????????????? (Default)
    ----------------------------------------------------
    TARGET????? Username/Password????????????? (NONE)
    DBNAME????? New database name????????????? (NONE)
    LOGFILE???? Output Log???????????????????? (NONE)
    REVERT????? Revert failed change?????????? NO
    SETNAME???? Set a new database name only?? NO
    APPEND????? Append to output log?????????? NO
    HELP??????? Displays these messages??????? NO

    用法舉例:

    1) 只修改DBID的用法 :
    wangxiaoqi> nid TARGET=sys/sys

    2) 修改DBID和DBNAME的用法:
    wangxiaoqi> nid TARGET=sys/sys DBNAME=kaka02

    3) 只修改DBNAME不改DBID的用法:
    wangxiaoqi> nid TARGET=sys/sys DBNAME=kaka02 SETNAME=YES
    ?
    4) 添加日志的用法
    wangxiaoqi> nid TARGET=sys/sys DBNAME=kaka02 SETNAME=YES LOGFILE='D:\test\nid.log'
    --理論上應該是這樣的,但是這個測試沒通過,根本不產生LOG
    ?
    ?
    二、修改步驟:
    ?
    1) 連接并修改DBNAME
    ?
    SQL> conn sys/sys as sysdba
    Connected.

    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount
    ORACLE instance started.
    ?
    Total System Global Area? 135338868 bytes
    Fixed Size?????????????????? 453492 bytes
    Variable Size???????????? 109051904 bytes
    Database Buffers?????????? 25165824 bytes
    Redo Buffers???????????????? 667648 bytes
    Database mounted.
    SQL> host nid target=sys/sys dbname=kaka02
    DBNEWID: Release 9.2.0.1.0 - Production
    Copyright (c) 1995, 2002, Oracle Corporation.? All rights reserved.
    ?
    Connected to database KAKA (DBID=524574739)
    ?
    Control Files in database:
    ??? D:\ORACLE\ORADATA\KAKA\CONTROL01.CTL
    ??? D:\ORACLE\ORADATA\KAKA\CONTROL02.CTL
    ??? D:\ORACLE\ORADATA\KAKA\CONTROL03.CTL
    ?
    Change database ID and database name KAKA to KAKA02? (Y/[N]) => y
    ?
    Proceeding with operation
    Changing database ID from 524574739 to 2420728802
    Changing database name from KAKA to KAKA02
    ??? Control File D:\ORACLE\ORADATA\KAKA\CONTROL01.CTL - modified
    ??? Control File D:\ORACLE\ORADATA\KAKA\CONTROL02.CTL - modified
    ??? Control File D:\ORACLE\ORADATA\KAKA\CONTROL03.CTL - modified
    ??? Datafile D:\ORACLE\ORADATA\KAKA\SYSTEM01.DBF - dbid changed, wrote new name
    ??? Datafile D:\ORACLE\ORADATA\KAKA\UNDOTBS01.DBF - dbid changed, wrote new name
    ??? Control File D:\ORACLE\ORADATA\KAKA\CONTROL01.CTL - dbid changed, wrote new name
    ??? Control File D:\ORACLE\ORADATA\KAKA\CONTROL02.CTL - dbid changed, wrote new name
    ??? Control File D:\ORACLE\ORADATA\KAKA\CONTROL03.CTL - dbid changed, wrote new name
    ?
    Database name changed to KAKA02.
    Modify parameter file and generate a new password file before restarting.
    Database ID for database KAKA02 changed to 2420728802.
    All previous backups and archived redo logs for this database are unusable.
    Shut down database and open with RESETLOGS option.
    Succesfully changed database name and ID.
    DBNEWID - Completed succesfully.

    2) 修改db_name參數,重啟數據庫

    SQL> shutdown immediate
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.

    ? --在spfile文件里作相應修改,數據庫db_name
    SQL>startup mount;
    SQL>alter system set db_name=kaka02 scope=spfile;
    System altered.
    ? --如果是pfile文件,需手工修改db_name參數值

    3) 重新創建密碼文件

    SQL>host orapwd file=c:\oracle\ora92\database\pwdkaka02.ora password=sys entries=8
    SQL> conn
    sys/sys as sysdba
    Connected to an idle instance.

    4) 以Resetlogs選項打開數據庫

    SQL> startup mount
    ORACLE instance started.
    ?
    Total System Global Area? 135338868 bytes
    Fixed Size?????????????????? 453492 bytes
    Variable Size???????????? 109051904 bytes
    Database Buffers?????????? 25165824 bytes
    Redo Buffers???????????????? 667648 bytes
    Database mounted.

    SQL> alter database open resetlogs;

    Database altered.

    5) 查看修改是構成功

    SQL> select dbid,name from v$database;

    ????? DBID NAME
    ---------- ---------
    2420728802 KAKA02

    SQL>

    注意:2、3不能顛倒,否則,重建口令文件是不可用的
    ?
    ?
    三、注意修改監聽
    ?
    ??? 發現在..\network\admin\listener.ora下直接添加SID修改不管用,監聽起來的時候還是沒有對新的DB進行監聽。
    ?
    ??? 最后在圖形界面下增加了新的SID后,重啟lsnrctl,連接成功。
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    附:Tom對修改SID的建議和過程:
    ***************************************************
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:318216852435
    ***************************************************
    ?
    ?
    ?
    ?
    posted on 2009-06-20 23:19 decode360 閱讀(783) 評論(0)  編輯  收藏 所屬分類: 10.DB_Tools
    主站蜘蛛池模板: 91九色视频无限观看免费| 成人无码视频97免费| 亚洲一区免费视频| 久久香蕉国产线看观看亚洲片| a一级爱做片免费| 亚洲精品无码国产| 叮咚影视在线观看免费完整版| 亚洲精品无码久久久久sm| 久久成人免费大片| 亚洲精品高清国产一久久| 18禁无遮挡无码国产免费网站| 久久精品国产亚洲AV忘忧草18| 日韩毛片免费无码无毒视频观看| 亚洲熟妇少妇任你躁在线观看| 国产色爽免费视频| 国产va免费精品| 久久99亚洲网美利坚合众国| 国产成人免费在线| 亚洲高清毛片一区二区| 亚洲精品视频在线看| APP在线免费观看视频| 亚洲精品综合久久中文字幕 | 亚洲va无码专区国产乱码| 嫩草在线视频www免费观看| 亚洲图片中文字幕| 日韩免费在线观看| 成人无码a级毛片免费| 亚洲国产av高清无码| 国产乱弄免费视频| 日韩精品在线免费观看| 亚洲欧美一区二区三区日产| 亚洲成a人片在线观看久| 久久青青草原国产精品免费| 久久精品国产亚洲AV久 | 日本亚洲成高清一区二区三区| 91人人区免费区人人| 国产精品亚洲а∨天堂2021| 亚洲精品V欧洲精品V日韩精品| 成年在线观看网站免费| 一区二区视频免费观看| 亚洲电影在线播放|