《循序渐进Oracle 数据库管理、优化与备份恢复》里提到的oracle小工具

1.2.3 ORADIM工具的使用

1.2.3 ORADIM工具的使用
ORADIM工具是Oracle在Windows上的一个命令行工具,用于手工进行Oracle服务的创建、修改、删除等工作。ORADIM的使用很简单,通过帮助文件可以看到常用的命令示例,此处不再赘述。
ORADIM在数据库恢复中也常被用到,很多朋友都问过这样的问题:在Windows上,如果系统崩溃了,可能数据库软件丢掉了,但是数据文件、控制文件、日志文件等都还在,该怎样来恢复Oracle数据库?
其实过程很简单,通常只要按原来的目录结构重新安装Oracle软件,然后通过ORADIM工具重建服务,就可以启动实例、加载数据库(当然相关的参数文件和口令文件等需要在$ORACLE_HOME\database目录存在)。
来看以下过程,通过ORADIM创建一个服务后,实例会随之启动:

C:\>oradim -new -sid eygle   

实例已创建。
用net命令可以查看系统启动了哪些服务,看到Oracle的服务已经启动:

C:\>net start  
已经启动以下 Windows 服务:
...............
OracleServiceeygle
Plug and Play
Print Spooler  

命令成功完成。
如果你的系统装了一些UNIX增强工具,那么可以通过grep过滤一下:
C:\>net start |grep Oracle
OracleServiceeygle  
使用ORADIM工具后,会在$ORACLE_HOME\database目录下生成一个日志文件。
 
===============================================================================
 
 
 
 
 
 
 
 
 
 
1.2.4 ORACLE_SID的含义
与Linux/UNIX上的情况类似,Windows上的Oracle环境也依赖于服务而存在,如图1-20。
《循序渐进Oracle 数据库管理、优化与备份恢复》里提到的oracle小工具_第1张图片
图1-20Windows Oracle服务示意图

注意到Oracle环境的初始化是通过ORACLE.EXE eygle来完成的,至于实例和数据库是否随服务启动要依赖于注册表中的设置。
通过手动在命令行执行类似命令,可以初始化任意的Oracle环境:

C:\>oracle julia
Press CTRL-C to exit server:   

此后就可以连接到这个环境启动实例:

C:\>set ORACLE_SID=julia

C:\>sqlplus "/ as sysdba" SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 2月 17 10:11:13 2007 Copyright (c) 1982, 2005, Oracle. All rights reserved.

已连接到空闲例程。
SQL> startup nomount;
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'C:\ORACLE\10.2.0\DATABASE\INITJULIA.ORA'  
当然还需要创建参数文件和口令文件等:
C:\>cp c:\oracle\10.2.0\database\SPFILEEYGLE.ORA c:\
Oracle\10.2.0\database\spfilejulia.ora

C:\>orapwd file=c:\oracle\10.2.0\database\ PWDjulia.ora password=oracle entries=5


此后,实例可以顺利启动,并可以挂接和打开数据库:
C:\>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 2月 17 10:13:10 2007
Copyright (c) 1982, 2005, Oracle.  All rights reserved.  

已连接到空闲例程。
SQL> startup nomount;  
ORACLE 例程已经启动。
<...ignore SGA info here...>

SQL> set linesize 120 SQL> show parameter instance_name NAME TYPE VALUE ------------------------------------ ---------------------- --------------- instance_name string julia SQL> show parameter db_name NAME TYPE VALUE ------------------------------- ------------------ ------------------------------ db_name string eygle SQL> alter database mount;


数据库已更改。
SQL> alter database open; 
数据库已更改。
如果在环境窗口中按下CTRL+C组合键退出,则数据库将异常中断。
总结一下,实际上不管在Windows还是Linux/UNIX环境下,ORACLE_SID的作用就是设置一个Oracle环境窗口,通过这个环境变量来标示和命名系统进程,此后Oracle的活动可以由此展开。


1.2.4 ORACLE_SID的含义

你可能感兴趣的:(oracle工具)