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
猜你喜欢
- 这个话题是应腾讯ISD同仁之邀在WebReBuild三周年交流会上做的主题分享。由于临场等原因有些问题当时没有讲明白,回来后按原有思路形成了
- 本文实例讲述了php简单实现批量上传图片的方法。分享给大家供大家参考,具体如下:<?phpfunction upload_multi(
- Python异步编程之Asyncio1. 协程简介1.1 协程的含义及实现方法协程(Coroutine),也可以被称为微线程,是一种用户态内
- 运行MySQL Server 5.0安装程序“setup.exe”,出现如下界面: 安装向导启动,按“Next”继续:
- 这个concatenate用于将矩阵合并,他将沿着已经存在的轴合并一个矩阵,相关参数有(a1, a2, ...), axis=0, out=
- 如下所示:#!/usr/bin/python# coding=utf-8import jsonfrom urllib.request imp
- 效果基于Python3。在自己写小工具的时候因为这个功能纠结了一会儿,这里写个小例子,供有需要的参考。小例子,就是点击按钮打开路径选择窗口,
- 首先说登陆在config.inc.php文件中,有一个选项需要设置查找:$cfg['Servers'][$i]['a
- 一、绘图命令操纵海龟绘图有很多命令,可以划分为三种:画笔运动命令、画笔控制命令、全局控制命令1、画笔运动命令命令说明turtle.forwa
- Anaconda is a completely free Python distribution (including for comme
- 首先要挂代理,但是还不够,pycharm默认不使用代理,需要进行设置找到代理软件的HTTP代理地址,将地址和端口填入设置中即可来源:http
- 我准备在ASP中连接MYSQL了,请问如何做?首先要正确安装MYSQLX,装好之后,可调用以下程序即可正常访问MYSQL:<%@&nb
- 一、python3的安装建议安装python3,python2在未来将不再维护。python官方下载地址https://www.python
- 很多时候我们会发现有的时候输出的结果特别多的时候,会在最后输出时用。。。代替,最后输出一个总长度,那要咋么弄咧?import pandas
- 一、自定义数据集现有数据如下:5个文件夹,每个文件夹是神奇宝贝的一种。每个图片形状、大小、格式不一。我们训练CNN的时候需要的是tensor
- 这篇博客将介绍使用Python,OpenCV获取、更改像素,修改图像通道,截取图像感兴趣ROI;单通道图,BGR三通道图,四通道透明图,不透
- 本文分享了php结合ajax实现无刷新上传图片的实例代码,分享给大家,希望大家可以和小编一起学习学习,共同进步。1.引入文件<!--图
- OUTLINE 常见的时间字符串与timestamp之间的转换日期与timestamp之间的转换常见的时间字符串与timesta
- 一、简述最近接到一个新需求,让做一个动效进度条。由于我们的产品比较大,在软件启动的时候会消耗比较长的时间,原生的进度条已经不能满足我们的需求
- 服务器现在同时输出json和xml两种数据,取决于服务程序和页面之间的约定。在程序遇到问题的时候会返回错误信息,也按照相同的约定会返回jso