【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序

简介: oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下。   安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME。

 

oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下。

 

安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME。比如:

 

export ORACLE_SID=test  export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx

 

启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。

 

    1. $ su - oracle
    2. $ sqlplus / nolog
    3. sql> conn / as sysdba
    4. sql> startup (一般不需要加参数,只要设置好环境变量)
    5. sql> quit (退出sql模式)
    6. $ lsnrctl start (启动监听器)关闭oracle
      1. $ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)
      2. $ sqlplus  /nolog
      3. sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
        Normal 需要等待所有的用户断开连接
        Immediate 等待用户完成当前的语句
        Transactional 等待用户完成当前的事务
        Abort 不做任何等待,直接关闭数据库
        normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
        immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
        transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
        abort 执行强行断开连接并直接关闭数据库。
        前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!

      经常遇到的问题:

      1)权限问题,解决方法,切换到oracle用户;

      2)没有关闭监听器 ,解决方法:关闭监听器

      3)有oracle实例没有关闭,解决办法:关闭oracle实例

      4)环境变量设置不全,解决办法:修改环境变量

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章