实例的开启和关闭
SQL>startup
SQL>shutdown immediate
实例的状态查询
SQL>select instance_name,status from v$instance;
监听的开启和关闭
$lsnrctl start
$lsnrctl stop
启动数据库
数据库的启动过程涉及到三个状态,在每个状态数据库做不同的事情,同时这三个状态适用于数据库的不同维护要求。这三个状态如下。
(1)NOMOUNT状态:该状态只打开了数据库实例。
(2)MOUNT状态:该状态ORACLE根据参数文件中控制文件的位置找到并打开控制文件,读取控制文件中的各种参数信息,如数据文件和日志文件的位置等。
(3)OPEN状态:该状态数据库将打开数据文件并进行一系列的检查工作,这些检查工作用于数据恢复。
关闭数据库
Shutdown immediate
这种方式可以较快且安全地关闭数据库,是DBA经常采用的一种关闭数据库的方式,此时ORACLE会做一些操作,中断当前事务,回滚未提交的事务,强制断开所有用户连接,执行检查点把脏数据写到数据文件中。虽然参数IMMEDIATE有立即关闭数据库的含义,但是它只是相对的概念,如果当前事务很多,且业务量很大,则中断事务以及回滚数据、断开连接的用户都需要时间 。
Shutdown transactional
使用TRANSACTIONAL参数时,数据库当前的连接继续执行,但不允许新的连接,一旦当前的所有事务执行完毕,则关闭数据库。 显然这种方式,通常情况下,在生产数据库系统中,这方式也不会快速关闭数据库,因为如果当前的某些事务一直执行,或许会用几天时间关闭数据库。
Shutdown abort
这是一种很不安全地关闭数据库的方法,最好不要使用使用该方式关闭数据库。SHUTDOWN ABORT关闭数据库时,ORACLE会断开当前的所有用户连接,拒绝新的连接,断开当前的所有执行事务,立即关闭数据库。使用这种方式关闭数据库,当数据库重启时需要进行数据库恢复,因为它不会对未完成事务回滚,也不会执行检查点操作。
Shutdown normal
这种方式是SHUTDOWN数据库的默认方式,如果用户输入SHUTDOWN,则默认采用NORMAL参数,这种方式关闭数据库时,不允许新的数据库连接,只有当前的所有连接都退出时才会关闭数据库,这是一种安全地关闭数据库的方式,但是如果有大量用户连接,则需要较长时间关闭数据库。
文中的概念来源于网络,如有侵权,请联系我删除。
欢迎关注公众号:小周的数据库进阶之路,一起交流数据库、中间件和云计算等技术。欢迎觉得读完本文有收获,可以转发给其他朋友,大家一起学习进步!感兴趣的朋友可以加我微信,拉您进群与业界的大佬们一起交流学习。