前段时间被oracle数据库这个问题困扰了很久 我启动监听过后 再去重启服务(注意: 我没关监听直接去重启的 所以起冲突啦 切记先去关监听 启动服务器 再启监听 最后查看监听状态是否正常) 结果unknown状态 自己挖坑埋了我自己 特意在这里总结一下 望遇到类似的能帮到你~
linux中启动oracle主要分两步:一个是启动监听器,一个是启动实例
secureCRT连接到数据库所在的linux机器,切换到oracle用户模式下
[root@nstlbeta ~]# su - oracle
Linux下启动Oracle服务和监听程序
即:机器断电(数据库的服务器关了),可以直接启动监听,不需要先停监听
停止监听
[oracle@nstlbeta bin]
cd
ORACLE_HOME/bin //进入oracle安装目录
[oracle@nstlbeta bin]$ lsnrctl stop //停止监听
然后用sqlplus登录到数据库,关闭数据库
[oracle@nstlbeta ~]$ sqlplus /nolog //登录sqlplus
SQL> connect /as sysdba //连接oracle
正常情况会出现(Connected to an idle instance.)
SQL> startup //启动数据库
SQL> exit //退出sqlplus ,起动监听
启动监听
[oracle@nstlbeta bin]
cd
ORACLE_HOME/bin //进入oracle安装目录
[oracle@nstlbeta bin]$ lsnrctl start //起动监听
如果Oracle启动的时候报了这个错误:
ORA-01081: cannot start already-running ORACLE - shut it down first
ipcs查看shared memory后,发现有oracle的shared memory
[root@nstlbeta :/]# ipcs -m 查看列名OWNER(oracle)
利用ipcrm清除shared memory.
[root@nstlbeta :/]# ipcrm -m 11(id shmid)
shared memory消失后,oracle正常启动