本文主要是介绍ORACLE修改实例名和dbname方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 登陆数据库把数据库变成mount状态
C:\>sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期一 4月 17 15:10:42 2006Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn /as sysdba
已连接。
NAME TYPE VALUE
------------------------------------ ----------- ---------------
db_file_name_convert string
db_name string drew
global_names boolean FALSE
instance_name string drewSQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL>
2 使用NID命令来修改数据库instanc_name和dbname
C:\>nid target=sys/oracle@drew dbname=kbdv2
DBNEWID: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.Connected to database DREW (DBID=2198138346)Control Files in database:D:\ORACLE\ORADATA\TEST\CONTROL01.CTLD:\ORACLE\ORADATA\TEST\CONTROL02.CTLD:\ORACLE\ORADATA\TEST\CONTROL03.CTLChange database ID and database name DREW to KBDV2? (Y/[N]) => YProceeding with operation
Changing database ID from 2198138346 to 1048877256
Changing database name from DREW to KBDV2Control File D:\ORACLE\ORADATA\TEST\CONTROL01.CTL - modifiedControl File D:\ORACLE\ORADATA\TEST\CONTROL02.CTL - modifiedControl File D:\ORACLE\ORADATA\TEST\CONTROL03.CTL - modifiedDatafile D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\DRSYS01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\INDX01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\TOOLS01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\USERS01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\XDB01.DBF - dbid changed, wrote new nameDatafile D:\ORACLE\ORADATA\TEST\TEMP01.DBF - dbid changed, wrote new nameControl File D:\ORACLE\ORADATA\TEST\CONTROL01.CTL - dbid changed, wrote new nameControl File D:\ORACLE\ORADATA\TEST\CONTROL02.CTL - dbid changed, wrote new nameControl File D:\ORACLE\ORADATA\TEST\CONTROL03.CTL - dbid changed, wrote new nameDatabase name changed to KBDV2.
Modify parameter file and generate a new password file before restarting.
Database ID for database KBDV2 changed to 1048877256.
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. SQL> shutdown immediate;
ORA-01109: 数据库未打开已经卸载数据库。
ORACLE 例程已经关闭。
3 修改创建参数文件(pfile/Spfile)
instance_name=kbdv2###########################################
# Miscellaneous
###########################################
compatible=9.2.0.0.0###########################################
# Security and Auditing
###########################################
remote_login_passwordfile=EXCLUSIVE###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=25165824
sort_area_size=524288###########################################
# Database Identification
###########################################
db_domain=""
db_name=kbdv2SQL> CREATE SPFILE FROM PFILE='D:\oracle\admin\test\pfile\init.ora';文件已创建。
4 创建修改口令文件[区别windows系统和unix(linux)系统]
本人操作是在windows系统下的,所以先修改物理服务名
C:\>oradim -edit -sid drew -newsid kbdv2
并且修改注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\ORACLE_SID
如果是unix系统,就在oracle用户下修改.profile里的oracle_sid
创建口令文件
orapwd file=D:\oracle\ora92\database\PWDkbdv2.ora password=oracle entries=5
修改listener.ora和tnsname.ora文件
LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = d:\oracle\ora92)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = kbdv2)(ORACLE_HOME = d:\oracle\ora92)(SID_NAME = kbdv2)))kbdv2 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = kbdv2)))
5 登陆数据库检查修改是否正确
SQL> startup
ORACLE 例程已经启动。Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> alter database open resetlogs;数据库已更改。SQL> show parameter nameNAME TYPE VALUE
------------------------------------ ----------- -----------
db_file_name_convert string
db_name string kbdv2
global_names boolean FALSE
instance_name string kbdv2SQL> select instance_name from v$instance;INSTANCE_NAME
----------------
kbdv2
这样数据库的instance和dbname就全部修改完成
这篇关于ORACLE修改实例名和dbname方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!