1、打开注册表,修改HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\SYSMAN\OracleDBConsoleorcl里ORACLE_SID对应键值,如果还有其它的项也一并修改
以orcl修改为testdb为例···
2、以管理员权限运行cmd,执行(用nid更改dbname,oradim新建实例)
### nid会修改控制文件,可能会导致启动时出现错误:ORA-01103: ?????????? ''ZJK'' ?? ''ORCL'',参加下方附加部分
C:\WINDOWS\system32>nid target=sys/*** dbname=zjk
DBNEWID: Release 11.2.0.1.0 - Production on 星期三 1月 10 10:15:01 2018
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
已连接数据库 ORCL (DBID=1492411626)
已连接服务器版本 11.2.0
数据库中的控制文件数:
G:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
G:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
是否将数据库 ID 和数据库名 ORCL 更改为 ZJK? (Y/[N]) => y
操作继续进行
将数据库 ID 从 1492411626 更改为 3985682405
将数据库名从 ORCL 更改为 ZJK
控制文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL - 已修改
控制文件 G:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL - 已修
改
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DB - dbid 已更改, 已写入
新名称
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DB - dbid 已更改, 已写入
新名称
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DB - dbid 已更改, 已写
入新名称
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DB - dbid 已更改, 已写入
新名称
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DB - dbid 已更改, 已写
入新名称
数据文件 G:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\ DATA.DB - db
id 已更改, 已写入新名称
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ZJK\ZJK_DATA01.DB - dbid 已更改, 已写
入新名称
数据文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DB - dbid 已更改, 已写入新
名称
控制文件 G:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL - dbid 已更改, 已写
入新名称
控制文件 G:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL - dbid
已更改, 已写入新名称
实例关闭
数据库名已更改为 ZJK。
修改参数文件并在重新启动前生成新的口令文件。
数据库 ZJK 的数据库 ID 已更改为 3985682405。
此数据库的所有以前的备份和归档重做日志均不可用。
数据库无法识别恢复区中以前的备份和归档日志。
数据库已关闭, 用 RESETLOGS 选项打开数据库。
已成功更改数据库名和 ID。
DBNEWID - 已成功完成。
C:\WINDOWS\system32>oradim -delete -sid orcl
Unable to stop service, OS Error = 1062
实例已删除。
C:\WINDOWS\system32>oradim -new -sid testdb
实例已创建。
C:\WINDOWS\system32>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 1月 9 20:25:36 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
ERROR:
ORA-01031: insufficient privileges
请输入用户名:
2-1、出现ORA-01031: insufficient privileges错误是由于,sqlnet.ora里的SQLNET.AUTHENTICATION_SERVICES参数没有不为NTS,做如下修改
# sqlnet.ora Network Configuration File: D:\Program Files\instantclient_11_2\tns_admin\sqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS,NONE)
#SQLNET.AUTHENTICATION_SERVICES= (BEQ,NONE)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
2-2、修改sqlnet.ora参数后,即可通过客户端验证(不需要输入用户名、密码)以sysdba角色登陆,然后执行
C:\WINDOWS\system32>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 1月 9 20:26:20 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'B:\APP\HONGBO\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITTESTDB.ORA'
SQL> exit
已断开连接
2-3、提示如上错误,是因为找不到相应的参数文件,进到相应的目录将对应文件重命名(修改sid名称)
注:启动加载顺序:SPFILE***.ORA(二进制文件,如果变更过参数一定要用这个) >> INIT***.ORA(文本文件,为初始化参数),所以只重命名SPFILE***.ORA和PWD***.ora就可以的。
C:\WINDOWS\system32>cd B:\APP\HONGBO\PRODUCT\11.2.0\DBHOME_1\DATABASE
C:\WINDOWS\system32>b:
B:\app\Hongbo\product\11.2.0\dbhome_1\database>ren INITorcl.ORA INITtestdb.ORA
B:\app\Hongbo\product\11.2.0\dbhome_1\database>dir
驱动器 B 中的卷是 2ndOS
卷的序列号是 DECC-3F3C
B:\app\Hongbo\product\11.2.0\dbhome_1\database 的目录
2018/01/09 20:28 <DIR> .
2018/01/09 20:28 <DIR> ..
2016/07/02 11:19 <DIR> archive
2016/07/02 11:21 2,048 hc_orcl.dat
2016/09/22 14:12 964 INITtestdb.ORA
2005/12/22 04:07 31,744 oradba.exe
2017/12/26 13:02 16,842 oradim.log
2016/09/22 11:20 52,234 orclcore.log
2017/12/26 13:13 1,536 PWDorcl.ora
2017/12/26 13:02 3,584 SPFILEORCL.ORA
7 个文件 108,952 字节
3 个目录 43,087,896,576 可用字节
B:\app\Hongbo\product\11.2.0\dbhome_1\database>ren PWDorcl.ora PWDtestdb.ora
B:\app\Hongbo\product\11.2.0\dbhome_1\database>ren SPFILEORCL.ORA SPFILETESTDB.ORA
2-4、重新连接sysdba后启动
B:\app\Hongbo\product\11.2.0\dbhome_1\database>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期二 1月 9 20:26:51 2018
Copyright (c) 1982, 2010, Oracle. All rights reserved.
已连接到空闲例程。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 3373858816 bytes
Fixed Size 2180424 bytes
Variable Size 1845496504 bytes
Database Buffers 1509949440 bytes
Redo Buffers 16232448 bytes
数据库装载完毕。
数据库已经打开。
2-5、查询用户视图,原来的用户都还正常
SQL> select username from dba_users;
USERNAME
------------------------------
ZYNJ
TS_GIOI
LFSQMCB
TA3
ASALLPSI
ASQMCB
SCOTT
YW_GENERAL_OLD
YW_GENERAL
XS$NULL
BI
USERNAME
------------------------------
PM
OE
APEX_PUBLIC_USER
SPATIAL_CSW_ADMIN_USR
ORACLE_OCM
MDDATA
IX
SH
DIP
HR
SPATIAL_WFS_ADMIN_USR
USERNAME
------------------------------
DBSNMP
CTXSYS
SYSMAN
FLOWS_FILES
MDSYS
WMSYS
ORDDATA
ANONYMOUS
SI_INFORMTN_SCHEMA
ORDSYS
EXFSYS
USERNAME
------------------------------
APPQOSSYS
APEX_030200
OWBSYS_AUDIT
XDB
ORDPLUGINS
OWBSYS
OLAPSYS
MGMT_VIEW
SYS
SYSTEM
OUTLN
USERNAME
------------------------------
QMCB_POLICE
QMCB_MB
QMCB_SI
QMCB
QMCB_XNH
QMCB_XNB
已选择50行。
SQL>