国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > 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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 枣庄市| 勃利县| 勐海县| 舒兰市| 独山县| 津市市| 乾安县| 正安县| 三江| 临沂市| 蓬溪县| 商南县| 青铜峡市| 肥西县| 涿州市| 柞水县| 南溪县| 馆陶县| 库车县| 重庆市| 中江县| 商水县| 柳河县| 周宁县| 合阳县| 会同县| 长宁县| 开江县| 屏山县| 望奎县| 平陆县| 涡阳县| 满洲里市| 阿拉善右旗| 横峰县| 营口市| 嘉兴市| 彭阳县| 依安县| 文登市| 通江县|