一、Linux下启动Oracle数据库:
1、首先使用oracle用户登录linux
2、使用sysdab角色登录sqlplus
$ sqlplus as sysdba
3、sql命令行启动数据库
SQL> startup
4、退出sql命令行
SQL> exit
5、打开Oracle监听
$ lsnrctl start
注:到pl/sql下验证是否已经可以连接
二、linux下停止oracle数据库:
1、首先使用oracle用户登录Linux
2、停掉Oracle监听
$ lsnrctl stop
3、使用sysdab角色登录sqlplus
$ sqlplus as sysdba
4、sql命令行停止数据库
SQL> shutdown
三、shutdown不同的命令参数:
shutdown normal:
不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown transactional:
不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时不需要实例恢复。
shutdown immediate:
不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要实例恢复。
shutdown abort:
不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时自动进行实例恢复。
四、未完全关闭数据库导致ORA-01012
找到进程,kill掉就可以了。
$ ps -ef |grep ora_dbw0_
oracle 6519 1 0 Sep06 ? 00:00:15 ora_dbw0_bys1
oracle 20947 20924 0 09:08 pts/0 00:00:00 grep ora_dbw0_
$ kill -9 6519
$ ps -ef |grep ora_dbw0_
oracle 20949 20924 0 09:08 pts/0 00:00:00 grep ora_dbw0_
$ sqlplus / as sysdba
SQL>startup
ORACLE instance started.