Oracle 数据库启动过程的三阶段、停库四种模式详解
作者:梦想家DBA 发布时间:2024-01-16 04:05:25
数据库的启动过程(3个台阶)
1.nomount
shutdown --> nomount
startup nomount
select status from v$instance;
SQL>
SQL> conn / as sysdba
Connected to an idle instance.
SQL>
SQL> startup nomount
ORACLE instance started.
Total System Global Area 629145392 bytes
Fixed Size 9137968 bytes
Variable Size 197132288 bytes
Database Buffers 415236096 bytes
Redo Buffers 7639040 bytes
SQL>
SQL>
SQL>
SQL>
SQL> select status from v$instance;
STATUS
------------
STARTED
SQL>
数据库启动到nomount做了什么?
分配实例(ipcs -sm, ps -ef | grep ora_)
写审计文件和警报日志
数据库启动到nomount需要什么?
参数文件
需要审计目录和诊断目录
nomount状态可以做什么?
可以修改参数
可以查看内存和后台进程的信息
可以创建数据库
可以重建控制文件
SQL>
SQL> select * from v$sgainfo;
NAME BYTES RES CON_ID
-------------------------------- ---------- --- ----------
Fixed SGA Size 9137968 No 0
Redo Buffers 7639040 No 0
Buffer Cache Size 411041792 Yes 0
In-Memory Area Size 0 No 0
Shared Pool Size 197132288 Yes 0
Large Pool Size 4194304 Yes 0
Java Pool Size 0 Yes 0
Streams Pool Size 0 Yes 0
Shared IO Pool Size 0 Yes 0
Data Transfer Cache Size 0 Yes 0
Granule Size 4194304 No 0
NAME BYTES RES CON_ID
-------------------------------- ---------- --- ----------
Maximum SGA Size 629145392 No 0
Startup overhead in Shared Pool 193465328 No 0
Free SGA Memory Available 0 0
14 rows selected.
SQL> select name from v$bgprocess where paddr<>'00';
NAME
-----
PMON
CLMN
PSP0
VKTM
GEN0
MMAN
M000
GEN1
SCMN
DIAG
OFSD
NAME
-----
SCMN
DBRM
VKRM
SVCB
PMAN
DIA0
DBW0
LGWR
CKPT
LG00
SMON
NAME
-----
LG01
SMCO
RECO
W000
LREG
W001
PXMN
FENC
D000
MMON
MMNL
NAME
-----
S000
TMON
35 rows selected.
SQL>
2.mount
shutdown --> mount
startup mount
nomount --> mount
alter database mount;
SQL>
SQL> select status from v$instance;
STATUS
------------
STARTED
SQL> alter database mount;
Database altered.
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL>
数据库启动到mount做了什么?
加载控制文件的信息到内存
数据库启动到mount状态需要做什么?
控制文件
mount状态可以做什么?
可以备份、还原、恢复
可以移动数据库文件
可以进行数据文件的offline
可以打开和关闭归档模式
可以打开和关闭闪回数据库的功能
SQL>
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u02/oradata/CDB1/system01.dbf
/u02/oradata/CDB1/sysaux01.dbf
/u02/oradata/CDB1/undotbs01.dbf
/u02/oradata/CDB1/pdbseed/system01.dbf
/u02/oradata/CDB1/pdbseed/sysaux01.dbf
/u02/oradata/CDB1/users01.dbf
/u02/oradata/CDB1/pdbseed/undotbs01.dbf
/u02/oradata/CDB1/pdb1/system01.dbf
/u02/oradata/CDB1/pdb1/sysaux01.dbf
/u02/oradata/CDB1/pdb1/undotbs01.dbf
/u02/oradata/CDB1/pdb1/users01.dbf
11 rows selected.
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
/u02/oradata/CDB1/temp01.dbf
/u02/oradata/CDB1/pdbseed/temp012022-11-02_15-16-24-663-PM.dbf
/u02/oradata/CDB1/pdb1/temp01.dbf
SQL>
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/u02/oradata/CDB1/redo03.log
/u02/oradata/CDB1/redo02.log
/u02/oradata/CDB1/redo01.log
SQL>
3.open
shutdown --> open
startup
nomount ----> open
alter database mount;
alter datbase open;
只读方式去打开数据库
SQL>
SQL> startup mount
ORACLE instance started.
Total System Global Area 629145392 bytes
Fixed Size 9137968 bytes
Variable Size 197132288 bytes
Database Buffers 415236096 bytes
Redo Buffers 7639040 bytes
Database mounted.
SQL>
SQL>
SQL> select status from v$instance;
STATUS
------------
MOUNTED
SQL>
SQL> alter database open read only;
Database altered.
SQL>
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL>
SQL>
SQL>
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY
SQL>
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 629145392 bytes
Fixed Size 9137968 bytes
Variable Size 197132288 bytes
Database Buffers 415236096 bytes
Redo Buffers 7639040 bytes
Database mounted.
Database opened.
SQL>
数据库启动到open做了什么?
加载联机日志和数据文件
数据库启动到open需要什么?
联机日志和数据文件
open状态可以做什么?
数据库的停止(四种模式)
1.正常停库: shutdown normal = shutdown
普通用户的连接不允许建立
等待查询结束
等待事务结束
产生检查点(数据同步)
关闭联机日志和数据文件
关闭控制文件
关闭实例
2.事务级停库: shutdown transactional
普通用户的连接不允许建立
查询被终止
等待事务结束
产生检查点(数据同步)
关闭联机日志和数据文件
关闭控制文件
关闭实例
3.立即停库 : shutdown immediate (生产库最常用的停库方式)
普通用户的连接不允许建立
查询被终止
事务被回退
产生检查点(数据同步)
关闭联机日志和数据文件
关闭控制文件
关闭实例
4.强制停库 : shutdown abort
相当于拔电源
(停止之后的数据库是脏库)
注意:这些命令需要慎用
startup force = shutdown abort + startup
startup force nomount = shutdown abort + startup nomount
startup force mount = shutdown abort + startup mount
来源:https://blog.csdn.net/u011868279/article/details/127950584


猜你喜欢
- 使用python脚本实现查询火车票信息的效果图如下:实现的代码:# coding: utf-8"""命令行火车
- 当一个项目很大的时候我们去找某一个文件经常使用搜索功能,本人经常使用快捷键ctrl+p进行某个文件的搜索,或者单机一个文件时会覆盖掉原来窗口
- 用过Qt的朋友 特别是QtCreator的习惯在界面UI上面对应的CPP中写代码。但是在PyQt中不是这样的。pyQt只是个界面,只会生成界
- Hedger Wang 在国内 blog 上得到的方法:使用 try … finally 结构来使对象最终为 null ,以阻止内存泄露。其
- 1. 什么是网络爬虫简单来说,就是构建一个程序,以自动化的方式从网络上下载、解析和组织数据。就像我们浏览网页的时候,对于我们感兴趣的内容我们
- opencv > pilimport cv2 from PIL import Imageimg = cv2.imread("
- 如下所示:<div class="status_button">
- 在TypeScript 项目中,我们经常需要使用声明一系列的ts类型。然而,手动写的效率实在太低,编写一个自动生成ts类型的工具可以解放生产
- 经常在各处牛人的代码中看到许多简写的条件表达语句,看了一些介绍这方面的文章,觉得3 ways 2 say if这篇文章(http://www
- 本文实例讲述了php测试kafka项目。分享给大家供大家参考,具体如下:概述Kafka是最初由Linkedin公司开发,是一个分布式、分区的
- 本文实例为大家分享了python爬取网页内容转换为PDF的具体代码,供大家参考,具体内容如下将廖雪峰的学习教程转换成PDF文件,代码只适合该
- 首先恭喜月影,当然希望好书大卖!原文提供了样章下载1.1M,pdf格式的。如果大家想下载可以访问源地址:http://bbs.51js.co
- 浅谈python中set使用In [2]: a = set() # 常用操作1 In [3]: a Out[3]: set()
- 本人最近在当当网上购买了一本关于用户体验的书,在此把最实在的内容整理下发给大家分享下。第一步:表现层视觉设计,也就是我们说的网页设计师做的工
- 【基本介绍】【格式】:pivot(聚合函数 for 需要转为列的字段名 in(需要转为列的字段值))【说明】:实现将指定字段的字段值转换为列
- 在实际的工作中,尤其是在生产环境里边,SQL语句的优化问题十分的重要,它对数据库的性能的提升也起着显著的作用.我们总是在抱怨机器的性能问题,
- 目录1. 初始化数组2. 数组求和、求最大值、最小值3. 过滤错误值4. 使用逻辑运算符5. 判断简化6. 清空数组7. 计算代码性能8.
- import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(
- function is_email($str){ //检验email return preg_match("/
- 前言这部分已经折腾我两天了,还是没有头绪,可能还会折腾更久,最后在第三天上午解决问题,在一个不起眼的地方被坑了,jQuery加载的问题。会者