设为首页收藏本站

80后

 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1331|回复: 0

一起玩转oracle(5)——数据库开启与关闭

[复制链接]

849

主题

1149

帖子

4261

积分

论坛元老

Rank: 8Rank: 8

积分
4261
发表于 2017-9-7 10:00:53 | 显示全部楼层 |阅读模式
一起玩转oracle(5)——数据库开启与关闭

一、数据库启动(startup)分为三个状态:

1、Nomount状态

2、Mount状态

3、Open状态

简单的说一下:

1、nomount 状态【 加载实例和spfile(参数文件)】

什么是实例?

举个小例子来理解实例:

农村盖房子娶媳妇

第一得有块宅基地,然后在宅基地上盖房子,然后才能结婚。

这块地就是实例,你盖的房子就是库,你和你媳妇就是数据。

参数文件的位置:

路径:cd $ORACLE_HOME/dbs

因为每个人的$ORACLE_HOME不一样,所以这样写相对灵活。

参数文件的名字:spfile实例名.ora【它不是文本文件,是二进制文件】

查看二进制文件使用strings

查看参数文件:strings spfile实例.ora

2、mount状态 【加载控制文件(记录数据文件和日志文件的位置】

你到Mount状态,加载完控制文件,目的是往后加载日志文件和控制文件。

控制文件路径:cd $ORACLE_BASE/oradata/$ORACLE_SID/

查看:strings control01.ctl

3、open状态 【加载日志文件和数据文件】

所有的数据库都会有日志文件,日志文件记录着你所有的动作,通过日志才能保证你数据库的完整性。

数据文件,咱们建的表,往表里插入的数据,在操作层面全是插入到数据文件中。

路径:cd $ORACLE_BASE/oradata/$ORACLE_SID/

以上就是数据库启动的三个过程。

模拟下数据库启动过程:

先来了解下alter日志

命名方式:alert_$ORACLE_SID.log【记录着和库有关的基本的详细信息,oracle的一些改变都会放在alert中】

验证方法一:

窗口1

SQL> shutdown immediate;

SQL> startup

窗口2

cd $ORACLE_BASE/admin/$ORACLE_SID/bdump

tail -f -n 200 alert_$ORACLE_SID.log 动态查看开启过程

验证方法二:

窗口1执行以下命令,窗口二动态监控。

SQL> shutdown immediate;

然后一步步的启动:

startup nomount;

alter database mount;

alter database open;

查看数据库状态命令如下:

select open_mode from v$database;

窗口2

cd $ORACLE_BASE/admin/$ORACLE_SID/bdump

tail -f -n 200 alert_$ORACLE_SID.log 动态查看开启过程

二、关闭数据库的四种方式

1、shutdown normal 需要等待所有事务/进程全部结束 才能关数据库【严谨性最好,但是没有人用】

2、shutdown transactional 需要等待,但在等待过程中,先把空闲事务进程自动关闭,活动的等人工作完毕了,再关闭。

3、shutdown immediate 关闭之前同步数据【该同步数据的同步,没有同步的就释放掉,对于你当前的操作,它会告诉你失败了】(生产关闭数据库常用)

4、shutdown abort 强制关闭数据库相当于断电(它的速度最快,此动作非常危险,容易失数据)



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|www.333cm.com ( 京ICP备16037542号  

GMT+8, 2020-8-5 00:31 , Processed in 0.260643 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表