Oracle数据库的启动/关闭

派派是只大橘喵
派派是只大橘喵
发布于 2024-09-06 / 67 阅读 / 0 评论 / 0 点赞

Oracle数据库的启动/关闭

Oracle数据库的启动/关闭

公司使用的oracle的数据库 和 Mysql的启动方式还是有很多地方不一样的,这里记录一下

环境检查

启动oracle数据库的前提是必须使用实例用户登录

su - oracle

这里注意一下 "-" 的两边是有空格的

检查有关环境变量SID

env | grep SID

SID的值决定了启动哪个数据库,如下,在/home/app/oracle/ordata目录中

里面可以看到我们的数据库实例

启用和关闭监听

oracle需要启动监听程序才能够提供外部连接, 命令如下 (需要再oracle用户下运行)

lsnrctl start
lsnrctl stop

以DBA身份登录

sqlplus  /  as sysdba

四种启动方式

用上面的方法进入sqlplus之后,就可以启动数据库了,下面是四种启动方式 和 对应的说明

启动方式

说明

startup nomount

alter database mount;

启动数据库实例, 此时读取参数文件,但是不加载数据库;

更改为mount状态

startup mount

alter database open

启动数据库实例,加载数据库,但是数据库处于关闭状态;

切换为open状态

startup open dbname

启动数据库实例,加载并打开数据库;

startup force

终止实例并重启数据库,这种模式在数据库关闭或者启动遇到问题时使用

这里我们选用 startup open dbname 打开数据库

关闭数据库

使用SHUTDOWN命令关闭数据库

  • 正常方式(NORMAL)

  • 立即方式(IMMEDIATE)——最常用的数据库关闭方式

  • 事务处理方式(TRANSACTIONAL)

  • 中止方式(ABORT)

  • 正常方式(SHUTDOWN NORMAL)

正常方式(SHUTDOWN NORMAL(normal可省略))

  • 发出该命令后,任何新的连接都不 允许连接到数据库。在数据库关闭 之前,Oracle将等待目前连接的所 有用户从数据库中退出后才开始关 闭数据库。

  • 采用这种方式关闭数据库,在下一次启动时不需要进行任何的实例恢复。

shutdown normal

立即方式(SHUTDOWN IMMEDIATE)

  • 发出该命令后,当前正在被Oracle 处理的SQL立即中断,系统中任何 没有提交的事务全部回滚。系统不 等待连接到数据库的所有用户退出 系统,强行回滚当前所有的活动事 务,然后断开所有的连接用户。

shutdown immediate

事务处理方式(SHUTDOWN TRANSACTIONAL

  • 发出该命令后,任何新的连接和事 务都是不允许的,在当前连接到数 据库且正在活动的事务执行完毕后, 数据库将和shutdown immediate同样的方式关闭数据库。

  • 该命令常用来计划关闭数据库。

shutdown transactional

中止方式(SHUTDOWN ABORT)

  • 发出该命令后,所有正在运行的SQL 语句都将立即中止,所有未提交的事 务将不回滚,Oracle强行断开所有连 接,关闭数据库。下次启动数据库时 需要实例恢复。

  • 一般不使用这种方式关闭数据库。

shutdown abort

4种不同的关闭数据库的方法对比


评论