a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

oracle更改數據庫名

2024-08-29 13:53:32
字體:
來源:轉載
供稿:網友

author:skate
time:2009/10/23

--------------------------------------------------------------------------------


這兩天一朋友問如何更改數據庫名,于是做個測試,簡單記錄下,以便說明問題

如何修改數據庫名(db_name)及實例名(Instance_name or Service_name)


Nid是Oracle從9iR2開始提供的工具,可以用來更改數據庫名稱,而無需通過之前重建控制文件等繁瑣方式。

nid是自帶的工具,在oracle_home/bin目錄中.以下方法假設登陸到數據庫本機做。

目的:在本例中,假設原來的數據庫名為orcl,要改成dborcl,原實例名(service_name,instance_name)orcl,要改成dborcl.

步驟概述:


1.檢查當前的參數情況
2.shutdown數據庫,然后mount數據庫
3.運行nid命令
4.更改參數文件pfile.ora(db_name,instance_name)
5.檢測更改情況
6.如果是windows平臺,要修改服務
7.修改監聽服務


C:/Documents and Settings/Administrator>sqlplus "/as  sysdba"

SQL*Plus: Release 10.2.0.1.0 - PRoduction on 星期四 10月 22 11:56:33 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select  * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

1. 查看更改前的相應名稱

SQL> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      orcl
db_unique_name                       string      orcl
global_names                         boolean     FALSE
instance_name                        string      orcl
lock_name_space                      string
log_file_name_convert                string
service_names                        string      orcl

2. --先shutdown數據庫

SQL> shutdown immediate
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。

3. --nid需要在mount狀態下才能做。因為要更改控制文件的信息

SQL> startup mount
ORACLE 例程已經啟動。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             180358020 bytes
Database Buffers          423624704 bytes
Redo Buffers                7135232 bytes
數據庫裝載完畢。


nid是操作系統的命令,所以要用host

SQL> host nid -help

DBNEWID: Release 10.2.0.1.0 - Production on Fri Oct 23 13:40:54 2009

Copyright (c) 1982, 2005, Oracle.  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

以上是nid命令的語法

4。 --運行nid命令

SQL> host nid target=sys/aibo dbname=dborcl

DBNEWID: Release 10.2.0.1.0 - Production on 星期四 10月 22 11:58:27 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

已連接數據庫 ORCL (DBID=1224293825)

已連接服務器版本 10.2.0

數據庫中的控制文件數:
    D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL01.CTL
    D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL02.CTL
    D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL03.CTL

是否將數據庫 ID 和數據庫名 ORCL 更改為 DBORCL? (Y/[N]) => y

操作繼續進行
將數據庫 ID 從 1224293825 更改為 3277448932
將數據庫名從 ORCL 更改為 DBORCL
    控制文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL01.CTL - 已修改
    控制文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL02.CTL - 已修改
    控制文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL03.CTL - 已修改
    數據文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSTEM01.DBF - dbid 已更改,
已寫入新名稱
    數據文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/UNDOTBS01.DBF - dbid 已更改,
已寫入新名稱
    數據文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/SYSAUX01.DBF - dbid 已更改,
已寫入新名稱
    數據文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/USERS01.DBF - dbid 已更改, 已
寫入新名稱
    數據文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/EXAMPLE01.DBF - dbid 已更改,
已寫入新名稱
    數據文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/TEMP01.DBF - dbid 已更改, 已
寫入新名稱
    控制文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL01.CTL - dbid 已更改,
已寫入新名稱
    控制文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL02.CTL - dbid 已更改,
已寫入新名稱
    控制文件 D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL03.CTL - dbid 已更改,
已寫入新名稱
    實例關閉

數據庫名已更改為 DBORCL。
修改參數文件并在重新啟動前生成新的口令文件。
數據庫 DBORCL 的數據庫 ID 已更改為 3277448932。
此數據庫的所有以前的備份和歸檔重做日志均不可用。
數據庫無法識別恢復區中以前的備份和歸檔日志。
數據庫已關閉, 用 RESETLOGS 選項打開數據庫。
已成功更改數據庫名和 ID。
DBNEWID - 已成功完成。

5. ---shutdown數據庫

SQL> shutdown immediate
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist


SQL> startup nomount
ORACLE 例程已經啟動。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             180358020 bytes
Database Buffers          423624704 bytes
Redo Buffers                7135232 bytes


SQL> create pfile='D:/oracle/product/10.2.0/pfile20091022.ora' from spfile;

文件已創建。

SQL> shutdown immediate;
ORA-01507: ??????


6. ---修改初始化參數文件、spfile文件(init.ora/spfile)


###########################################
instance_name=eyglen
#instance_name=eyglev

###########################################
db_domain=""
db_name=eyglen
# db_name=eyglev
###########################################

7. ---以修改后的參數啟動數據庫

SQL> startup  pfile='D:/oracle/product/10.2.0/pfile20091022.ora'
ORACLE 例程已經啟動。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             180358020 bytes
Database Buffers          423624704 bytes
Redo Buffers                7135232 bytes
數據庫裝載完畢。

ORA-01589: 要打開數據庫則必須使用 RESETLOGS 或 NORESETLOGS 選項


SQL> create spfile from  pfile='D:/oracle/product/10.2.0/pfile20091022.ora'
  2  ;

文件已創建。

SQL> shutdown immediate
ORA-01109: 數據庫未打開


已經卸載數據庫。
ORACLE 例程已經關閉。


SQL> startup
ORACLE 例程已經啟動。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             180358020 bytes
Database Buffers          423624704 bytes
Redo Buffers                7135232 bytes
數據庫裝載完畢。
ORA-01589: 要打開數據庫則必須使用 RESETLOGS 或 NORESETLOGS 選項


SQL> alter database open noresetlogs
  2  ;
alter database open noresetlogs
*
第 1 行出現錯誤:
ORA-01588: 要打開數據庫則必須使用 RESETLOGS 選項


SQL> alter database open resetlogs
  2  ;

數據庫已更改。


8. --現在數據庫已經啟動了啊,那就檢查下吧,看看是否已經修改了

SQL> select open_mode from v$database;

OPEN_MODE
----------
READ WRITE

SQL> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      dborcl
db_unique_name                       string      dborcl
global_names                         boolean     FALSE
instance_name                        string      dborcl
lock_name_space                      string
log_file_name_convert                string
service_names                        string      dborcl
SQL>

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
orcl

http://www.bizhicool.com/
9. 發現v$instance里的沒有修改過來,這是因為在windows平臺,繼續如下操作


********如果是windows平臺,v$instance里的instanc_name沒有變, 繼續如下操作

passwd文件通常放在oracle_home/database目錄下,文件命名形式為PWDsid.ora,sid為實例名(Service_name),
如當前的數據庫名及service_name為orcl,則passwd文件為PWDorcl.ora


C:/Documents and Settings/Administrator>orapwd file=D:/oracle/product/10.2.0/db_
1/database/PWDdborcl.ora password=aibo entries=5

要注意一下,此時雖然數據庫名已經改成dborcl了,但instance_name還是orcl,所以,passwd文件必須跟以前一樣。否則會出錯。


10. 刪除以前的實例orcl

C:/Documents and Settings/Administrator>oradim -delete -sid orcl
實例已刪除。

11. 創建新的實例名 dborcl

C:/Documents and Settings/Administrator>oradim -new -sid dborcl -intpwd aibo -st
artmode a -pfile D:/oracle/product/10.2.0/pfile20091022.ora

OPW-00005: 存在相同名稱的文件 - 請刪除或重命名
實例已創建。

12.


C:/Documents and Settings/Administrator>set oracle_sid=dborcl

C:/Documents and Settings/Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 22 13:41:12 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


SQL> quit
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開


13.檢查服務名

C:/Documents and Settings/Administrator>lsnrctl reload

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-10月-2009 13:4
3:13

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.56)(PORT=1521)))
命令執行成功

C:/Documents and Settings/Administrator>sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 22 13:43:21 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.


連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select open_mode from v$database;

OPEN_MODE
----------
READ WRITE

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
dborcl

SQL> show parameter name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
db_name                              string      dborcl
db_unique_name                       string      dborcl
global_names                         boolean     FALSE
instance_name                        string      dborcl
lock_name_space                      string
log_file_name_convert                string
service_names                        string      dborcl


SQL> quit
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開

檢查service是否被更改

C:/Documents and Settings/Administrator>tnsping dborcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-10月-
2009 13:50:00

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的參數文件:
D:/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora

已使用 EZCONNECT 適配器來解析別名
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=dborcl.gdgg.local
))(ADDRESS=(PROTOCOL=TCP)(HOST=202.106.195.30)(PORT=1521)))
^C


測試不通過,說明dborcl配置有問題


修改tnsnames.ora文件,添加如下內容:

×××××××××××××××××××××××××××××××××××××××××××××××××××××
DBORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.56)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = dborcl)
    )
  )

×××××××××××××××××××××××××××××××××××××××××××××××××××××


--重啟監聽
C:/Documents and Settings/Administrator>lsnrctl reload

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-10月-2009 13:5
0:46

Copyright (c) 1991, 2005, Oracle.  All rights reserved.

正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.56)(PORT=1521)))
命令執行成功


---在測試

C:/Documents and Settings/Administrator>tnsping dborcl

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 22-10月-
2009 13:52:18

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

已使用的參數文件:
D:/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora


已使用 TNSNAMES 適配器來解析別名
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.
2.56)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dborcl)
))
OK (20 毫秒)


到此所有的 數據庫名(db_name)及實例名(Instance_name or Service_name) ,都已經更改


參考:http://blog.chinaunix.net/u/1696/showart_1011690.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 免费av在线网站 | 国产亚洲精品久久久久久青梅 | 亚洲精品无 | 成人精品一区二区三区中文字幕 | 久久女人 | 久久精品亚洲 | 欧美视频三区 | 国产中文视频 | 青青成人网 | 日韩国产在线观看 | 欧美性18 | 日韩欧美在线一区 | 亚洲午夜精品一区二区三区他趣 | 亚洲国产精品99 | 亚洲欧美中文日韩在线v日本 | 谁有毛片网址 | 成人免费视频在线观看 | 国内精品视频一区二区三区 | 亚洲高清视频在线观看 | 成视频年人免费看黄网站 | 一区二区日韩精品 | 天天碰天天操 | 亚洲精品视频在线播放 | 久久电影中文字幕 | 久久久水蜜桃 | 骚黄视频 | 亚洲成av人片一区二区三区 | 久久国产视频网 | 欧美成人一级 | 精品一区二区三区在线视频 | 成全视频免费观看在线看黑人 | 亚洲欧美少妇 | 欧美日韩中字 | 成人国产精品一级毛片视频 | caoporon| 久久久线视频 | 精品999| 成人久久久久爱 | 欧美一区高清 | 国产91在线视频 | 草视频在线 |