Linux下oracle数据库启动和关闭操作

xiaoxiao2021-02-28  122

利用shell来启动和关闭数据库(需要切换到oracle用户)

#!/bin/bash echo "请选择需要执行的操作:" #加 -e 才会正确显示制表符 echo -e "\e[1;32m$color 1:启动oracle服务 \t 2:停止oracle服务 \e[0m" #read获取屏幕输入 read input #case esac:以;;结束每一个模式,模式名称以 ) 结束 case $input in 1) #启动监听服务 lsnrctl start #登录sqlplus并启动oracle服务 sqlplus -S /nolog <<EOF connect / as sysdba startup; exit; EOF ;; 2) #登录sqlplus并停止oracle服务 #正常关闭 shutdown:需要等待所有用户断开连接之后数据库才会关闭 #立即关闭 shutdown immediate:用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接 #强行关闭 shutdown abort:执行强行断开连接并直接关闭数据库 echo "等待所有用户断开数据库连接" sqlplus -S /nolog <<EOF connect / as sysdba shutdown; exit; EOF #关闭监听服务 lsnrctl stop ;; esac

第一步:登陆

root登陆之后切换到oracle用户上,输入 su - oracle 第二步:连接 在oracle用户下,输入 sqlplus /nolog 第三步:使用管理员权限 输入 connect /as sysdba 第四步:启动/关闭服务 输入 startup startup参数 不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式! nomount,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用! mount,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了! 谢谢!不准确的地方请指教! shutdown shutdown的参数 Normal 需要等待所有的用户断开连接 Immediate 等待用户完成当前的语句 Transactional 等待用户完成当前的事务 Abort 不做任何等待,直接关闭数据库 normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接 immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。 transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。 abort 执行强行断开连接并直接关闭数据库。 第五步:如果是启动服务,要开启监听 退出sqlplus模式,输入 lsnrctl start
转载请注明原文地址: https://www.6miu.com/read-41571.html

最新回复(0)