目录
1.Oracle数据库的关闭方式
(1)可视化方式关闭
(2)shutdown normal
(3)shutdown abort
(4)shutdown IMmedate
(5)shutdown transactional
(6)实例演示关闭过程
2.Oracle数据的开启过程
学习Oracle数据库相关基本操作(一)
学习Oracle数据库的新建表的基本操作(二)
学习Oracle数据库新建数据库操作(三)
学习Oracle数据库并对数据进行查询,插入等操作(四)
1.Oracle数据库的关闭方式
(1)可视化方式关闭
使用Win+R快捷键,输入services.msc打开电脑本地服务。
(2)shutdown normal
shutdown normal是正常的关闭方式,normal 方式时Oracle关闭数据库的默认选项,这种方式关闭数据库时会等待用户会话从数据库断开连接后,此时数据库不再接受新的用户进程连接的请求,且数据库的请求会得到处理,未提交的事务会被回滚。
(3)shutdown abort
shutdown abort关闭数据库是放弃一切事务,立即关闭。
abort 方式为关闭数据库最快速的方式,但是关闭数据库时并不会等待用户进程断开连接,这个时候,尽管数据库会拒绝新产生的用户请求进程,但数据库中可能还存在之前已经建立的用户进程,或者用户请求的事务未提交、或数据库已提交的数据尚未写入到存储设备中等等情况。
这种方式关闭数据库时,未提交的事务并不会进行回滚,已连接到数据库的用户请求会被 terminated(中断)。并且通过 abort 方式关闭的数据库,在数据库下一次启动时需要做 Instance Recovery(实例恢复)。
(4)shutdown IMmedate
shutdown immedate立即关闭数据库。
immediate 方式关闭数据库与 abort 方式类似,新的数据库连接都不被允许,也不允许产生新的事务。不同的是,shutdown immediate 方式处理关闭数据库时,会将数据库中未提交部分的事务进行回滚。
正因为 immediate 方式关闭数据库时对未提交的事务进行了回滚,下一次数据库实例启动时不用进行实例恢复。
如果关闭数据库时库中有大量长事务存在,immediate 方式的关闭也不会很块。
(5)shutdown transactional
transactional 方式更像是一种定时任务式的关闭,正如 transactional 意为事务型。使用这种方式关闭数据库时,新连接到数据库的用户进程会被断开,对于已连接到数据库的用户并不会等待用户进程完全退出,而是当数据库中的事务被完全处理结束的时候,直接关闭数据库,可能这个时候数据库中仍然存在用户未释放的连接。
这种方式关闭数据库,可以有效防止数据库中丢失数据,因为数据库的关闭是在数据库中的所有事务处理结束后进行的。且无需用户断开与数据库的连接。数据库下一次启动时也不需要进行实例恢复。
transactional local 模式则指定仅当本节点的事务处理结束后进行数据库的关闭操作,而不是等待所有的数据库事务处理结束。
(6)实例演示关闭过程
以shutdown normal为例子(有关更多的基础看上面文章开头给出的链接)。
参考作者:https://www.jianshu.com/p/18162324c194
2.Oracle数据的开启过程
既然关闭了数据库,那么也可以手动的开启数据库。
首先看数据库的启动过程的图解。
根据上面我们使用shutdown normal的数据库,现在对其进行启动。
startup nomount;
alter database mount;
alter database open;
也可以直接使用下面的一条语句跳过中间的过程。
startup open
补充:
(1)Oracle 11g数据库默认的日期格式为:“DD-MM 月-YY”,例如“2022-07-09”应该输入为“9-7 月-20”,但是这不符合我们日常的习惯,所以更改格式的语法:
修改日期格式:ALTER SESSION
SET NLS_DATE_FORMAT="YYYY-MM-DD"
输出当前日期:select sysdate from dual;
(2)查看用户状态(是否解锁)
select username,account_status from dba_users;