这篇文章主要介绍了Oracle数据库的启动与关闭方法 需要的朋友可以参考下
创新互联建站公司2013年成立,公司自成立以来始终致力于为企业提供官网建设、移动互联网业务开发(小程序开发、手机网站建设、app开发定制等),并且包含互联网基础服务(域名、主机服务、企业邮箱、网络营销等)应用服务;以先进完善的建站体系及不断开拓创新的精神理念,帮助企业客户实现互联网业务,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞誉。
一 启动数据 $sqlplus "sys/pass as sysdba" sqlstartup
二 启动监听器 数据库启动后 如果未启动监听进程 则客户端无法与数据库连接 监听进程的启动方法为 $lsnrctl start 在widnows中 可以从服务列表中启动监听器 监听里程配置文件为listener ora 位于目录/home/app/oracle/product/ /db /neork/admin/ 此配置文件分为两部分 一部分为监听程序本身的配置 包括协议 地址 端口号等 另一部分为监听程序所连接的数据库的实例信息 包括 实例名 全局数据库名 oracle主目录等 监听器可以利用oracle net config 向导来配置 要显示监听器的运行状态 $lsnrctl status; 要停止监听器 $lsnrctl stop
三 数据库的启动过程 分为三个阶段 启动实例 包括以下操作 ) 读取参数文件 ) 分配SGA ) 启动后台进程 2.装载数据库 装载数据库是将数据库与已启动的实例相联系 数据库装载后 数据库保持关闭状态 3.打开数据库 此步骤使用数据库可以进行正常的操作的处理 主要是打开控制文件 数据库文件和日志文件
四 数据库启动参数 NOMOUNT:只启动实例 不装载数据库 sqlstartup nomount MOUNT:启动实例 并装载数据 但不打开数据库 sqlstartup mount READ ONLY:将数据库置为只读 sqlstartup mount sqlalter database open read only READ WRITE:以可读写方式打开数据 这是默认方式 sqlstartup mount sqlalter database open read write OPEN:打开数据库 这是默认方式 sqlstartup mount sqlalter database open; RESTRICT:以受限方式打开 只有具有RESTRICTED SESSION权限的用户才可以连接数据库 sqlstartup restrict PFILE:启时指定参数文件 sqlstartup pfile=/u /user/mypfile ora FORCE:以强制方式启动数据库 sqlstartup pfile=/u /user/mypfile ora open restrict force
五 数据库的关闭 与启动过程相对应 关闭包括三个过程 1).关闭数据库 2).卸载数据库 3).关闭数据库实例
1.NORMAL关闭方式 NORMAL关闭方式是正常关闭方式 是默认关闭方式 在这种关机方式下 数据库服务器必须等待所有客户端从Oracle中正常退出时 才可以关闭数据库 SQLSHUTDOWN NORMAL 2.IMMEDIATE关闭方式 使用这种方式关闭数据库时 系统将连接到数据库的所有用户尚未提交的事务全部回退 中断连接 然后关闭数据库 SQLSHUTDOWN IMMEDIATE 3.ABORT关闭方式 ABORT关闭方式为异常方式 使用这种方式关闭数据库时 系统立即将数据库实例关闭 对事务膛数据完整性不作检查 是最快的关机方式 sqlshutdown abort; 4.TRANSACTIONAL关闭方式 在这种关机方式中 数据库必须等待所有的客户运行的事务结束 提交或回退 sqlshutdown transactional
sql startup force 强制启动
lishixinzhi/Article/program/Oracle/201311/19075
以redhat 和oracle g为例 安装过程参考官方文档 以下是实现oracle自启动的方法
配置dbstart和dbshut
在$ORACLE_HOME/bin中 有dbstart和dbshut这两个脚本 more dbstart看一下可以看到
QUOTE:
#
# $Id: dbstart sh pp may : : vikrkuma Exp $
# Copyright (c) Oracle All rights reserved
#
###################################
#
# usage: dbstart
#
# This is used to start ORACLE from /etc/rc( local)
# It should ONLY be executed as part of the system boot procedure
#
# This will start all databases listed in the oratab file
# whose third field is a Y If the third field is set to Y and
# there is no ORACLE_SID for an entry (the first field is a *)
# then this will ignore that entry
#
# This requires that ASM ORACLE_SID s start with a + and
# that non ASM instance ORACLE_SID s do not start with a +
#
# If ASM instances are to be started with this it cannot
# be used inside an rc* d directory and should be invoked from
# rc local only Otherwise the CSS service may not be available
# yet and this will block init from pleting the boot
# cycle
#
# Note:
# Use ORACLE_TRACE=T for tracing this
#
# The progress log for each instance bringup plus Error and Warning message[s]
# are logged in file $ORACLE_HOME/startup log The error messages related to
# instance bringup are also logged to syslog (system log module)
# The Listener log is located at $ORACLE_HOME_LISTNER/listener log
可以看出这个脚本是用来启动oracle服务的 包括listener instance a *** instances 并且可以放到/etc/rc( local) 同样dbshut也是起到关闭服务的作用
配置系统使这个脚本起作用
) 以root编辑/etc/oratab 类似 orcl:/u /product/ /db_ :N 这种格式 其中orcl是你的ORACLE_SID /u /product/ /db_ 是ORACLE_HOME 这里需要把N改为Y 即orcl:/u /product/ /db_ :Y这样
) 以oracle编辑$ORACLE_HOME/bin/dbstart 找到其中第 行:ORACLE_HOME_LISTNER=改为你自己的路径 或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME
保存脚本 以oracle用户运行dbshut和dbstart看是否能关闭 启动数据库 如果不能 一般是参数设置 根据报错找到对应位置更改
把dbstart和dbshut加到redhat启动服务中
经过上一步的配置 可以直接用dbstart命令启动数据listener instance a *** instances 但是还没有启动oracle g的EM ORACLE利用web页面管理数据库相当方便 也是 g的一个特色 所以应该一并启动起该服务来
QUOTE:
$ORACLE_HOME/bin/emctl start dbconsole
因此我们可以用rc local或者redhat服务都可以实现要求的开机启动 下面分别说一下
) 利用rc local 直接把dbstart加到rc local中 实现开机自动启动 这里需要注意的是必须以oracle启动该脚本
用root编辑/etc/rc local 添加下面一行
QUOTE:
su oracle c /u /product/ /db_ /bin/dbstart
su oracle c /u /product/ /db_ /bin/emctl start dbconsole
这里/u /product/ /db_ 需要替换成实际的ORACLE_HOME
保存并退出后 reboot服务器测试一下 可以看到 当系统启动以后oracle监听 实例和em都已经起来了
) 如果我们不用rc local 也可以加到redhat服务中 在/etc/rc d/init d中添加如下脚本文件 命名为oracle
QUOTE:
#!/bin/sh
#cconfig:
#deion: ORACLE g Server
ORACLE_HOME=/u /product/ /db_
if [ ! f $ORACLE_HOME/bin/dbstart ]
then
echo ORACLE cannot start
exit
fi
case $ in
start )
echo Starting Oracle Database
su oracle c $ORACLE_HOME/bin/dbstart
su oracle c $ORACLE_HOME/bin/emctl start dbconsole
;;
stop )
echo Stoping Oracle Database
su oracle c $ORACLE_HOME/bin/emctl stop dbconsole
su oracle c $ORACLE_HOME/bin/dbshut
;;
esac
注意其中两行注释 网上很多脚本因为少了这两行不能使服务自启动
QUOTE:
#cconfig:
#deion: ORACLE g Server
其中cconfig 是指脚本将为运行级 启动oracle g服务 启动优先级为 关闭优先级为
然后以root权限:
QUOTE:
# cd /etc/rc d
# ln s /etc/rc d/init d/oracle S oracle
# cconfig list oracle
# cconfig level on
重启系统 就可以在启动的过程中看到 Starting oracle 因为我们设置的优先级为 一般是最后启动 [OK]以后就可以了 因为要启动emctl 可能有点慢 等待的时间要稍微长一点
lishixinzhi/Article/program/Oracle/201311/16863
1、打开命令行窗口界面,可以同时按住“ctrl+R”键,在弹出来的运行窗口中输入cmd。2、启动oracle服务,在命令行窗口中输入“netstartoracleserviceXXXX”后面的XXXX实际是需要根据您自己的数据库实例名进行替换。如果您不知道,可以看下“计算机管理”界面下的服务中,能不能找到服务名类似的服务。提示“服务已经启动成功”就说明服务启动起来了。3、启动监听程序,在命令行窗口输入lsnrctlstart,等到提示“命令执行成功”就可以了。4、接下来就开始加载数据库实例了。在命令行窗口输入“sqlplus/assysdba”登录到一个空闲的例程。5、登录完成后,输入“startup”。这个过程可能有点慢,直到出现“数据库已经打开”则表示实例启动成功了。6、测试一下把,随便连接一个数据库用户,如果提示“连接成功”则说明数据库服务现在可以正常使用了。注意事项如果操作过程中提示“监听已经启动”,“服务已经运行”等,则可以跳过相应步骤,继续执行。
如果是windows操作系统:
右键单击“我的电脑”- 管理 - 服务和应用程序 - 服务 - OracleService****(****是你自己的oracle服务名)右键单击,选启动;OracleOraDb****TNSListener右键单击,选启动;
通常如果在自己本机建立使用数据库启动这两个就够了。如果要进入网页版的oracle,就将所有oracle开头的服务都起来;