欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux下启动Oracle数据库实例

程序员文章站 2022-05-22 19:28:15
...

Linux下启动Oracle数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。

Linux下启动Oracle数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。

一、如何启动数据库实例
1.进入到sqlplus启动实例
su - oracle --“切换到oracle用户”
lsnrctl start --“打开监听”
sqlplus /nolog --“进入到sqlplus”
SQL> conn /as sysdba --“连接到sysdba”
Connected to an idle instance.
SQL> startup --“启动数据库实例”
SQL> shutdown immediate --“关闭数据库实例”
SQL> exit
[oracle@RedHat ~]$ lsnrctl stop --“关闭监听”
2.用dbstart和dbshut启动和关闭数据库实例

先启动监听 lsnrctl start
启动实例 dbstart

使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

原因:
dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:用vi编辑dbstart,ORACLE_HOME_LISTNER=$1,修改为
ORACLE_HOME_LISTNER=$ORACLE_HOME


然后保存退出,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。

此时的原因是在/etc/oratab的设置问题,我们vi一下,发现
zgz:/home/oracle/product/10g:N
最后设置的是"N"(我的环境中只有一个实例,因此只有一行配置语句),我们需要把“N”修改为“Y”。

以上的工作做好之后,,dbstart就可以正常使用了:

[oracle@redhat bin]$ lsnrctl start --“启动监听”
[oracle@redhat bin]$ dbstart --“启动数据库实例”
Processing Database instance "zgz": log file /home/oracle/product/10g/startup.log
[oracle@redhat bin]$ dbshut --“关闭数据库实例”
[oracle@redhat bin]$ lsnrctl stop --“关闭监听”

二、如何使数据库实例和linux系统一起启动
在/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"