UNIX和WINDOWS2000上的ORACLE的差异 PartII[1]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 fenng 的 blog

 

ian adam ,saic ltd
david stien,saic ltd

翻译:fenng
partii

数据库启动与关闭

在windows 2000上数据库可以通过启动相关的服务打开。通过控制面板的服务选项或者是通过命令行模式,如:

net start oracleserviceatei就可以打开相关服务。这依赖于一些注册表参数,我们在后面讨论。停止相关的服务,例如:net stop oracleserviceatei可以关闭一个数据库。

在所有的平台上,oracle8i实例都可以从服务管理器(或者sql*plus!)中通过startup命令启动。在unix中,这个命令启动后台进程并且打开数据库。它还生成了一个unix特定文件,叫做$oracle_home/dbs/lk<dbname>,这是个mount锁文件[6 metalink, 2000]。这会阻止两个实例mount在同一数据库上,当不使用并行服务器的模式下,要使用不同的oracle_sid。原来这是个0长度文件,不过现在包含文本'do not delete this file!'。不要试图通过查看这个文件来得知是否数据库是可用的,它不是很准确的。在windows 2000中,startup命令并不启动oracle服务,不过,如果服务已经运行的话,这将打开数据库。

类似的,服务管理器server manager的shutdown命令在任何平台上都会关掉数据库,不过在windows 2000上它并不停掉服务。很有可能的情况就是oracle服务被启动但是数据库却关掉了。


unix上的数据库的自动启动与关闭

在 unix上,oracle 提供了dbstart和dbshut 脚本以供使用。在linux
中oracle检测文件/etc/oratab 来决定哪个数据库自动的启动/关闭。在 solaris (和一些其他版本的unix)中,检查/var/opt/oracle/oratab文件。要注意:8.1.6 版本的dbstart有个bug,在8.1.7中已经被修复,察看[7 metalink, 2000]有详细说明。

在linux上,作为root用户,在/etc/rc.d/init.d目录中创建一个一个名为dbora的文件。这个文件将会检查参数是否是   'start' 或者 'stop' 并且适当的执行 dbstart/dbshut;通常也从这个脚本启动listener 。再生成两个符号联接
/etc/rc.d/rc2.d/s99dbora 和
/etc/rc.d/rc0.d/k10dbora。数据库在运行级2(多用户)时通过/etc/rc.d/rc2.d/s99dbora
启动,在系统关闭到运行级0的时候通过/etc/rc.d/rc0.d/k10dbora关闭数据库
。在solaris上,这个脚本的在/etc/init.d中而不是在/etc/rc.d/init.d.

要注意默认的dbshut执行了一个正常(normal)的关闭操作。在unix 中可以通过编辑$oracle_home/bin/dbshut中的这一行来改变数据库的关闭模式。


shutdown
修改成
shutdown immediate

如果启动一个已经运行的实例,dbstart 还会执行一个 shutdown abort 。在dbstart script脚本的顶部警告说 'it should only be executed as part of the system boot procedure'。这个脚本要常被复制、修改,这样在其它的时候使用才能足够安全。


windows 2000上的数据库自动的启动与关闭

在以前的版本(8i)中,当oracle的启动被一个额外的服务oraclestartsid处理,服务器的启动和关闭的时候oracle不能被自动的干净的关掉。从oracle8i开始,stop/start功能成为了主要的oracle服务,并通过注册表控制。注意当oradim用于创建或者修改实例的时候,自动的在注册表中设定这些值。这些设置在hkey_local_machine\software\oracle\homeid键值下。

id 号从0开始,每有一个额外的oracle home递增。

-----------------------------------------------------------------
参数                          描述
-----------------------------------------------------------------
ora_sid_autostart       设定为true的时候
             (默认值),oracleservicesid启动的时候启动
数据
              库。
ora_sid_pfile           设定init.ora参数文件的全路径。
ora_shutdown           当设定为true的时候,在当前任何oracle
              home下的任何数据库将shutdown。
ora_sid_shutdown      设定为true的时候,关闭标记sid值的oracle8i数据库。
-----------------------------------------------------------------
如果
shutdown参数设定为false,停掉oracleservicesid将会abort的方式关闭实例,下次启动的
时候要进行实例恢复。


下面的可选参数可以在注册表中设为合适的值

-----------------------------------------------------------------
参数                                  描述
-----------------------------------------------------------------ora_sid_shutdowntype        指明数据库关闭模式aabort),

                            i (immediate), n (normal)。
                            如果你不设定这个参数的话,
                默认的模式是 i (immediate)。

本文关键:Unix Oracle NT 结构
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top