Linux下启动/关闭Oracle

诗林  金牌会员 | 2024-7-25 03:18:34 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 718|帖子 718|积分 2154

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. Linux下手动启动Oracle


   Linux下启动Oracle分为两步:
  

  • 启动监听;
  • 启动数据库实例;
  1.1 登录服务器,切换到oracle用户,或者以oracle用户登录


  1. su - oracle
复制代码

1.2 打开监听服务


   

  • 可以通过 lsnrctl status 下令查看Oracle监听器运行状态
  

   

  • 通过 lsnrctl start 启动监听
  

1.3 以SYS用户身份登录Oracle


   切换用户:
  CONN 用户名/密码 [AS SYSDBA] ,如果是sys用户一定要写上AS SYSDBA
  1. sqlplus /nolog
  2. conn /as sysdba
复制代码

1.4 查看Oracle状态


   

  • 查看数据库的状态
  1. select * from v$version;
复制代码

   

  • 查看数据库的读写状态
  1. select open_mode from v$database;
复制代码

1.4 启动Oracle数据库


  1. startup
复制代码

   

  • 回显数据库版本
  

   

  • 回显状态显示数据库为读写模式
  

2. Linux下手动关闭Oracle


2.1 关闭数据库实例


  1. shutdown
复制代码

2.2 关闭监听器


  1. lsnrctl stop
复制代码

3. Linux下Shell启动Oracle


3.1 手动执行Shell脚本


   

  • root 用户编写启动脚本
  1. vim 01_oracleStartup.sh
复制代码


  • 填入以下内容
  1. #!/bin/bash
  2. su - oracle <<EON
  3. #启动监听
  4. echo "启动监听中..."
  5. lsnrctl start
  6. echo "睡眠两秒..."
  7. sleep 2s
  8. echo "启动数据库..."
  9. #解决乱码问题,如果要使之永久生效,可以添加这个变量到oracle 用户环境 .bash_profile中
  10. export NLS_LANG=american_america.zhs16gbk
  11. #启动oracle
  12. sqlplus /nolog <<EOF
  13. conn /as sysdba;
  14. startup;
  15. exit;
  16. EOF
  17. echo "启动数据库完成"
  18. EON
复制代码

   

  • 赋权
  1. chmod +x 01_oracleStartup.sh
复制代码

   

  • 执行
  1. ./01_oracleStartup.sh
复制代码

   

  • 启动成功
  • 注意,此脚本是以root用户执行的
  • 在上面的这个脚本中,EOF或EON只是一个分界符,这个分界符可以用你喜欢的任意字符代替,只不过各人都风俗了用EOF或EON来表示。当Shell在执行脚本时,发现 << 后,就把下个词当做分界符,而在分界符后面的内容都被当做输入,直到Shell再次发现此分界符时,才认为输入结束。也就是说分界符都是成对出现的。
  3.2 开机自动执行Shell脚本


   将脚本加入到 /etc/rc.d/rc.local 文件,文件会在 Linux 系统各项服务都启动完毕之后再被运行。以是你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到该文件里。
   

  • 确认你有运行这个文件的权限
  1. chmod +x /etc/rc.d/rc.local
复制代码

   

  • 将脚本加入到 /etc/rc.d/rc.local 文件
  1. echo "/root/01_oracleStartup.sh">>/etc/rc.d/rc.local
复制代码

   

  • 重启系统 reboot
  

   

  • 重启后验证监听
  

   

  • 重启后验证数据库
  

   自动执行Shell脚本成功
  4. Linux下Shell关闭Oracle


  1. vim 02_oracleStop.sh
复制代码


  • 填入以下内容
  1. #!/bin/bash
  2. su - oracle <<EON
  3. echo "关闭数据库开始"
  4. #乱码问题
  5. export NLS_LANG=american_america.zhs16gbk
  6. #关闭oracle
  7. sqlplus /nolog <<EOF
  8. conn /as sysdba;
  9. shutdown;
  10. exit;
  11. EOF
  12. echo "关闭数据库完成"
  13. #关闭监听
  14. lsnrctl stop
  15. echo "关闭监听完成"
  16. EON
复制代码

   

  • 赋权
  1. chmod +x 02_oracleStop.sh
复制代码

   

  • 执行
  1. ./02_oracleStop.sh
复制代码

   关闭成功
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

诗林

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表