关于Oracle中的关闭和启动数据库的几种方式(五)

关于Oracle中的关闭和启动数据库的几种方式(五)

目录

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;

🎯 相关推荐

打造一颗钻石需要多长时间?天然钻石与实验室培育钻石的区别
16 款主流企业财务管理平台哪个更好?2025年全新测评
广昌在哪里-广昌在哪里属于哪个省
(0755) 3656 3788

广昌在哪里-广昌在哪里属于哪个省

📅 10-18 👀 9348