Oracle9I开始,取消了
服务器管理器(svrmgl)和internal
用户,
数据库的启动和停止都是通过sql*plus来完成!Oracle10g可以通过浏览器来启动和停止数据库服务!这里主要说说9I下的启动和停止服务,下面的命令在8i下也可以使用
c:\> sqlplus sys/change_on_install as sysdba;
进入sql*plus环境;(注意,ORACLE9I在安装的时候需要你自己设定sys和system的口令,并且不能才用ORACLE9I以前这两个用户的默认口令,这主要是为了保证数据库 系统的 安全,我为了好记忆,在安装完成后立刻恢复了默认的口令)
第二种:
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 4月 26 09:42:00 2004
Copyright (c) 1982, 2002[/img][/img], Oracle Corporation. All rights reserved.
SQL>; connect /as sysdba
已连接。
SQL>;
在进入后就可以进行下面的操作了!
先说关闭数据库
shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Im mediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!
数据库的启动
数据库启动使用startup命令,它有三种情况
第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
要启动或者停止服务,必须拥有sysdba的权限。
可以使用两中方式连接
第一种,以sys用户连接c:\> sqlplus sys/change_on_install as sysdba;
进入sql*plus环境;(注意,ORACLE9I在安装的时候需要你自己设定sys和system的口令,并且不能才用ORACLE9I以前这两个用户的默认口令,这主要是为了保证数据库 系统的 安全,我为了好记忆,在安装完成后立刻恢复了默认的口令)
第二种:
C:\>sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 4月 26 09:42:00 2004
Copyright (c) 1982, 2002[/img][/img], Oracle Corporation. All rights reserved.
SQL>; connect /as sysdba
已连接。
SQL>;
在进入后就可以进行下面的操作了!
先说关闭数据库
shutdown有四个参数,四个参数的含义如下:
Normal 需要等待所有的用户断开连接
Im mediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!
数据库的启动
数据库启动使用startup命令,它有三种情况
第一种:不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
第二种:带nomount参数,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
第三种:带mount参数,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了
一般oracle部署是,准备三个脚本:
第一个为linux 服务控制:
#!/bin/sh # description: Start and Stop for oracle Databases instance # if [! -f %ORACLE_HOME%/bin/dbstart]; then echo "ORACLE STARTUP:can not find dbstart commond" exit 1 fi case "$1" in start) su - %ORACLE_OWNER% -c "%ORACLE_HOME%/bin/dbstart %ORACLE_H
启动脚本dbstart.sql connect / as sysdba startup exit 关闭脚本dbstop.sql connect / as sysdba shutdown immediate exit
OME%"su - %ORACLE_OWNER% -c "ORACLE_SID=%ORACLE_SID%; export ORACLE_SID; sqlplus /nolog @%ORACLE_BASE%/admin/%ORACLE_SID%/scripts/dbstart.sql" touch /var/lock/subsys/%DB_SERVICE%;;stop)su - %ORACLE_OWNER% -c "ORACLE_SID=%ORACLE_SID%; export ORACLE_SID; sqlplus /nolog @%ORACLE_BASE%/admin/%ORACLE_SID%/scripts/dbstop.sql"rm -f /var/lock/subsys/%DB_SERVICE% ;;restart) su - %ORACLE_OWNER% -c "ORACLE_SID=%ORACLE_SID%; export ORACLE_SID; sqlplus /nolog @%ORACLE_BASE%/admin/%ORACLE_SID%/scripts/dbstop.sql" su - %ORACLE_OWNER% -c "%ORACLE_HOME%/bin/dbstart"su - %ORACLE_OWNER% -c "ORACLE_SID=%ORACLE_SID%; export ORACLE_SID; sqlplus /nolog @%ORACLE_BASE%/admin/%ORACLE_SID%/scripts/dbstart.sql"su - %ORACLE_OWNER% -c "%ORACLE_HOME%/bin/lsnrctl stop"su - %ORACLE_OWNER% -c "%ORACLE_HOME%/bin/lsnrctl start";;*)echo "Usage: $0 {start|stop|restart}"exit 1;;esacexit 0
每个实例都有2个开启和关闭脚本,放到目录@%ORACLE_BASE%/admin/%ORACLE_SID%/scripts/中开启脚本dbstart.sql
connect / as sysdba startup exit 关闭脚本 dbstop.sql connect / as sysdba shutdown immediate exit