...
与Linux/UNIX上的情况类,Windows上的Oracle环境也依赖于服务而存在,如图1-20。 图1-20Windows Oracle服务示意图 注意到Oracle环境的初始化是通过ORACLE.EXE eygle来完成的,至于实例和数据库是否随服务启动要依赖于注册表中的设置。 通过手动在命令行执行类
与Linux/UNIX上的情况类似,Windows上的Oracle环境也依赖于服务而存在,如图1-20。
|
图1-20Windows Oracle服务示意图 |
注意到Oracle环境的初始化是通过ORACLE.EXE eygle来完成的,至于实例和数据库是否随服务启动要依赖于注册表中的设置。
通过手动在命令行执行类似命令,可以初始化任意的Oracle环境:
C:\>oracle julia
Press CTRL-C to exit server:
|
此后就可以连接到这个环境启动实例:
C:\>set ORACLE_SID=juliaC:\>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.oraC:\>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.
|
已连接到空闲例程。
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的活动可以由此展开。