码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 关于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的数据库,现在对其进行启动。

    1. startup nomount;
    2. alter database mount;
    3. alter database open;

    也可以直接使用下面的一条语句跳过中间的过程。 

    startup open

    补充:

    (1)Oracle 11g数据库默认的日期格式为:“DD-MM 月-YY”,例如“2022-07-09”应该输入为“9-7 月-20”,但是这不符合我们日常的习惯,所以更改格式的语法:

    1. 修改日期格式:ALTER SESSION
    2. SET NLS_DATE_FORMAT="YYYY-MM-DD"
    3. 输出当前日期:select sysdate from dual;

    (2)查看用户状态(是否解锁)

     select username,account_status from dba_users;

  • 相关阅读:
    xcode中使用printf与snprintf格式化输出
    基于模糊神经网络算法预测电价(Matlab代码实现)
    如何使用 Lazydocker TUI 从终端管理 Docker
    08 robotframework 修改乱码问题
    人生第一个项目(学生管理系统)(进阶版)
    开发板和电脑相互ping,电脑可以ping开发板,但是开发板ping不通电脑
    【RocketMQ】sendDefaultImpl call timeout 问题及其解决办法
    (5)打印nXn方阵
    黑马微服务课程2
    htb-cozyhosting
  • 原文地址:https://blog.csdn.net/Keep_Trying_Go/article/details/126768302
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号