作者:iamlaosong
先说说如何修改启动脚本:
1. 修改dbstart脚本:
下面的修改是为了启动监听进程:
$ vi $ORACLE_HOME/bin/dbstart
#ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
ORACLE_HOME_LISTNER=$ORACLE_HOME
2. 修改/etc/oratab为如下格式:
$ vi /etc/oratab
SID:$ORACLE_HOME:Y
注:上述SID和$ORACLE_HOME要换成真实内容,例如:
orcl:/opt/app/oracle/product/10.1.0/db_1:Y
3. 修改/etc/rc.d/rc.local实现自启动
# vi /etc/rc.d/rc.local
su - oracle -c "$ORACLE_HOME/bin/dbstart"
注:上述$ORACLE_HOME同样要换成真实内容,例如:
su - oracle -c "/opt/app/oracle/product/10.1.0/db_1/bin/dbstart"
4. dbshut不用修改,可直接使用,关闭数据库,但不会关闭监听器,可以用命令lsnrctl stop关闭。
5. 可以查看启动或关闭日志,看看是否存在问题:$ORACLE_HOME/startup.log、$ORACLE_HOME/shutdown.log
==========================================
顺便说一下手动启动:
1、用sql*plus来连接到Oracle
sqlplus /nolog 是以不连接数据库的方式启动sql*plus
Connect / as sysdba 是以DBA身份连接到oracle
上述两步可以连在一起写:sqlplus / as sysdba
startup 启动数据库
shutdown 或者shutdown immediate是关闭数据库命令,但不关闭监听。
注:这种方式登录数据库并不需要用户名和密码,如果忘了oracle用户密码可以这样进入后修改。
例如进入后修改sys或者system密码
alter user sys identified by newpassword;
2、用lsnrctl启动监听进程
命令很简单:lsnrctl start 开启监听 lsnrctl stop 关闭监听
再说一下启动多个 Oracle实例:
在linux上建立第二个ORACLE的实例步骤:
1、登录到Oracle 用户,使用如下的命令切换到Oracle 用户:
su - oracle
2、指定数据库实例的变量与值,假设要建立的数据实例的SID是test
export ORACLE_SID=test
3、使用DBCA工具建立实例
dbca
4、手工启动两个实例
su - oracle
lsnrctl start
--假设一个实例是itsm、另外一个是test
export ORACLE_SID=itsm
sqlplus / as sysdba
startup
quit
export ORACLE_SID=test
sqlplus / as sysdba
startup
quit
5、自动启动,可以在/etc/rc.local中设置,增加如下的内容
--启动默认的数据库实例
su - oracle <<EOF
lsnrctl start
sqlplus / as sysdba
startup
quit
EOF
--启动第二个数据库实例
su - oracle <<EOF
export ORACLE_SID=test
sqlplus / as sysdba
startup
quit
EOF