在Windows上,如果系统崩溃了,可能数据库软件丢掉了,但是数据文件、控制文件、日志文件等都还在,该怎样来恢复Oracle数据库?
这个时候我们可以使用oradim工具来创建实例并启动后台服务来复用我们的参数文件、控制文件、日志文件、数据文件。
oradim用法:
创建例程: -NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m] [-PFILE 文件] [-TIMEOUT 秒]
编辑例程: -EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE 文件名] [-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT 秒]
删除例程: -DELETE -SID sid | -SRVC 服务名称
启动服务和例程: -STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE 文件名] 关闭服务和例程: -SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE a | i | n] 查询帮助: -? | -h | -help
相关说明:
-SID sid 指定要启动的实例名称
-SRVC 服务 指定要启动的服务名称
-USRPWD 口令 指定内部用户的口令,如果作为NT管理员登录,不用此参数
-PFILE 文件名 为实例指明初始化参数文件,如果参数文件在Oracle的默认位置,则不需要此命令
-STARTTYPE srvc|inst|srvc,inst 表示要启动什幺srvc—只启动服务inst—启动实例,服务必须已经启动并开始工作了srvc,inst —服务和实例都启动
-SHUTTYPE srvc|inst|srvc,inst 表示要终止什幺,参数选项同上
-STARTMODE a|m 表示启动实例所使用的模式a—auto方式(自动)m—manual方式(手动)
-SHUTMODE a|i|n 表示终止实例所使用的关闭模式a—abort方式i—immediate方式n—normal方式
例子:
1.在服务里生成一个新的实例管理服务,启动方式为手工
oradim -NEW -SID test -STARTMODE manual -PFILE “D:\Oracle\admin\test\pfile\inittest.ora”
|oradim -NEW -SRVC OracleServicetest -STARTMODE manual -PFILE “D:\Oracle\admin\test\pfile\inittest.ora
注:有效的服务名为 “OracleService” 后跟“ SID” -SID test 与 -SRVC OracleServicetest 等价
2.删除此实例或服务 oradim -DELETE -SID test |oradim -DELETE -SRVC OracleServicetest
3.编辑此实例,启动方式改为手动 oradim -EDIT -SID test -STARTMODE manual
4.编辑此实例,启动方式改为自动 oradim -EDIT -SID test -STARTMODE auto
5. 启动test oradim -STARTUP -SID test |oradim -STARTUP -SID test -STARTTYPE srvc,inst
6.只启动test服务 oradim -STARTUP -SID test -STARTTYPE srvc
7.只启动test实例 oradim -STARTUP -SID test -STARTTYPE inst
8. 关闭test oradim -SHUTDOWN -SID test |oradim -SHUTDOWN -SID test -SHUTTYPE srvc,inst