Oracle 数据库启动过程的三阶段、停库四种模式详解

目录
  • 数据库的启动过程(3个台阶)
    • 1.nomount
    • 2.mount
    • 3.open

数据库的启动过程(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

到此这篇关于Oracle 数据库启动三阶段、停库四种模式的文章就介绍到这了,更多相关Oracle 数据库启动内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Oracle数据库的十种重新启动步骤

    1. 停应用层的各种程序. 2. 停oralce的监听进程: $lsnrctl stop 3. 在独占的系统用户下,备份控制文件: SQL>alter database backup controlfile to trace; 4. 在独占的系统用户下,手工切换重作日志文件,确保当前已修改过的数据存入文件: SQL>alter system switch logfile; 5. 在独占的系统用户下,运行下面SQL语句,生成杀数据库用户连接的kill_all_session.sql文件: set

  • oracle 数据库启动阶段分析

    Oracle Server主要由两部分组成:Instance 和Database .Instance 是指一组后台进程/线程和一块共享内存区域,而 Database是指存储在磁盘上的一组物理文件.本文由数据库 如何启动入手. 数据库的启动 首先来分析一下数据库的启动过程,Oracle 数据库的启动主要包含 3 个步骤: (1)启动数据库到 nomount 状态: (2)启动数据库到 mount 状态: (3)启动数据库到 open 状态. 下面逐个来看看各个步骤的具体过程以其含义. 1. 启动数

  • oracle、mysql数据库停止与启动的批处理文件

    1.关机,取消关机 ::关机 echo 30秒之后关机 %systemroot%\system32\shutdown -s -t 30 ::取消关机 echo 取消关机 %systemroot%\system32\shutdown -a 2.oralce,或者mysql滴服务启动与关闭 ::oralce service start net start OracleVssWriterORCL net start OracleDBConsoleorcl net start OracleOraDb10

  • Oracle数据库的启动和关闭顺序实例讲解

    对于一个oracle数据库新手来说,怎么样进行管理oracle数据库呢? 首先从最简单的启动和关闭数据库来说,下面简单的介绍一下Oracle数据库的启动和关闭顺序实例讲解. 一.oralce的启动顺序: 1.先启动监听程序(对应端口1521) : []#lsnrctl start 2.启动oracle实例: []#sqlplus / as sysdba(回车) SQL>startup --启动的是环境变量中的默认数据库实例 $ORACLE_SID --如果启动多个实例:export ORACLE

  • Oracle数据库的启动与关闭方法

    一.启动数据$sqlplus "sys/pass as sysdba"sql>startup 二.启动监听器 数据库启动后,如果未启动监听进程,则客户端无法与数据库连接.监听进程的启动方法为:$lsnrctl start在widnows中,可以从服务列表中启动监听器.监听里程配置文件为listener.ora,位于目录/home/app/oracle/product/10.1.0/db1/network/admin/.此配置文件分为两部分,一部分为监听程序本身的配置,包括协议,地

  • 详解Linux系统中Oracle数据库程序的启动和关闭方式

    在单机环境下,要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle Oracle数据库有以下几种启动方式: 1. startup nomount 非安装启动,这种方式启动下可执行:重建控制文件.重建数据库 读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件. 2. startup mount dbname 安装启动,这种方式启动下可执行: 数据库日志归档. 数据库介质恢复. 使数据文件联机或脱机, 重新

  • oracle 11g配置 解决启动连接数据库出现的ora错误

    按照网上方法并结合实践,整理了一下(以后忘记了可以看看),oracle登录问题的解决办法: 常见的登录连接oracle数据库时遇到的问题ora-12560,01034,27101,00119,00132等,可以按照以下步骤检查和解决. Oracle11g数据库监听,数据库启动  1.添加监听程序(服务器端) 打开net manager 添加监听 添加监听位置(网络地址) 添加数据库服务(oracle主目录可以不填) 2.添加服务命名  3.测试 利用服务器端sqlplus工具E:\app\204

  • Oracle 数据库启动过程的三阶段、停库四种模式详解

    目录 数据库的启动过程(3个台阶) 1.nomount 2.mount 3.open 数据库的启动过程(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 star

  • ORACLE数据库应用开发的三十个注意事项

    引言 笔者及所在团队从2000年开始的CRM等系统开发,一直主要使用ORACLE数据库作为应用数据库,开发方式包括使用PLSQL编写存储过程/数据库函数/触发器.使用ODBC或OCI和ProC开发C++应用.使用JDBC开发Java应用.使用tuxdeo开发中间件应用等.这些应用开发笔者所在团队自己做过,也委托华为.亚信.思特奇等国内厂商合作做过,整体来说ORACLE数据库功能强大.性能出众.系统健壮,确实是OLTP联机事务处理的最受欢迎的数据库. 因ORACLE服务费居高不下.加上最近几年美国

  • LINUX启动/重启/停上MYSQL的命令(详解)

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3.mysqladmin shutdown 三.重启 1.使用

  • Python写入MySQL数据库的三种方式详解

    目录 场景一:数据不需要频繁的写入mysql 场景二:数据是增量的,需要自动化并频繁写入mysql 方式一 方式二 总结 大家好,Python 读取数据自动写入 MySQL 数据库,这个需求在工作中是非常普遍的,主要涉及到 python 操作数据库,读写更新等,数据库可能是 mongodb. es,他们的处理思路都是相似的,只需要将操作数据库的语法更换即可. 本篇文章会给大家分享数据如何写入到 mysql,分为两个场景,三种方式. 场景一:数据不需要频繁的写入mysql 使用 navicat 工

  • Oracle开启和关闭的四种模式

    >1 启动数据库 在cmd命令窗口,直接输入"sqlplus",直接进入oracle管理界面,输入用户名和密码后,开始启动数据库,启动数据库三个步骤:启动实例.加载数据库.打开数据库 命令格式: startup [nomount|mount|open|force][restrict][pfile=filename] nomount:表示启动实例不加载数据库 mount:表示启动实例.加载数据库并保持数据库的关闭状态 open:表示启动实例.加载并打开数据库,这个是默认选项 for

  • Mybatis 逆向工程的三种方法详解

    Mybatis 逆向工程   逆向工程通常包括由数据库的表生成 Java 代码 和 通过 Java 代码生成数据库表.而Mybatis 逆向工程是指由数据库表生成 Java 代码.   Mybaits 需要程序员自己编写 SQL 语句,但是 Mybatis 官方提供逆向工程可以针对单表自动生成 Mybaits 执行所需要的代码,包括 POJO.Mapper.java.Mapper.xml -. 一.通过 Eclipse 插件完成 Mybatis 逆向工程 1. 在线安装 Eclipse 插件  

  • SpringMVC统一异常处理三种方法详解

    这篇文章主要介绍了SpringMVC-统一异常处理三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在 Spring MVC 应用的开发中,不管是对底层数据库操作,还是业务层或控制层操作,都会不可避免地遇到各种可预知的.不可预知的异常需要处理. 如果每个过程都单独处理异常,那么系统的代码耦合度高,工作量大且不好统一,以后维护的工作量也很大. 如果能将所有类型的异常处理从各层中解耦出来,这样既保证了相关处理过程的功能单一,又实现了异常信

  • Android 三种动画详解及简单实例

    Android 三种动画详解 帧动画 一张张图片不断的切换,形成动画效果 在drawable目录下定义xml文件,子节点为animation-list,在这里定义要显示的图片和每张图片的显示时长 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="

  • Service Activity的三种交互方式(详解)

    service有两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Remote Sercie):用于android系统内部的应用程序之间 前者用于实现应用程序自己的一些耗时任务,比如查询升级信息,并不占用应用程序比如Activity所属线程,而是单开线程后台执行,这样用户体验比较好. 后者可被其他应用程序复用,比如天气预报服务,其他应用程序不需要再写这样的服务,调用已有的即可. 编写不需和Activity交互的本地服务示例 本地服务编写比较简单.首先,要创建一个Se

随机推荐