Oracle的启动与关闭
启动数据库的前提条件:
- 环境变量定义好($ORACLE_HOME,$ORACLE_SID,$PATH)
- 能密码文件认证或OS认证(确保能登入sys)
- 有正确的参数文件(启动数据库需要查找参数文件,默认找spfile实例名.ora,如果没有再找spfile.ora,如果没有再找initSID.ora。
- 有足够内存
- 参数文件中路径要存在,且有操作权限
- 产品安装正确
告警日志的存储位置由background_dump_dest这个参数决定.
SQL> show parameter back
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /u01/app/oracle/diag/rdbms/gaga01/gaga01/trace
数据库启动或关闭的时间
所有非缺省初始化参数的列表
后台进程的启动
例程使用的线程
正在向其中写入信息的日志序列号LGWR
有关日志切换的信息
表空间的创建和回滚段的创建
已发出的警报声明
有关ORA-600等错误消息和区错误的信息
Oracle 启动关闭命令(启动与关闭数据库通用方式:sqlplus命令或dbstart/dbshut)
一、使用sqlplus指令
|
启动 |
关闭 |
|
Startup |
Shutdow |
|
Startup nomount |
Shutsown transactional |
|
Alter database mount |
Shutdown immediate |
|
Alter database open |
Shutdown abort |
二:dbstar/dbshut
[oracle@WHOST Desktop]$ which dbstart
/u01/app/oracle/product/11.2.4/dbhome_1/bin/dbstart
[oracle@WHOST Desktop]$ which dbshut
/u01/app/oracle/product/11.2.4/dbhome_1/bin/dbshut
需要配置/etc/oratab文件,Y为能被启动,N为不能被启动
[oracle@WHOST Desktop]$ vi /etc/oratab
gaga01:/u01/oracle/11g:Y
ORACLE启动时是否要把监听自动启动?
需要修改ORACLE_HOME_LISTENER=$ORACLE_HOME或$1修改为$ORACLE_HOME
[oracle@WHOST Desktop]$ vi /u01/app/oracle/product/11.2.4/dbhome_1/bin/dbstart
启动数据库 分三个阶段:
- 阶段一:启动实例:nomount阶段
- 阶段二:装载数据库:mount阶段
- 阶段三:打开数据库:open阶段
|
启动实例 nomount阶段 Startup nomount |
参数文件查找原则:spfilesid.ora spfile.ora initsif.ora
tail -f /u01/oracle/admin/wendy/bdump/alter_wendy.log 本阶段用的文件是参数文件,instance启动完毕,处理nomount阶段 查看参数文件位置: Show parameter spfile Select name,value from v$parameter where name='spfile'; 启动数据库与参数文件: Startup nomount Ho rm /u01/oracle/11g/dbs/spfilewendy.ora Startup pfile='/u01/oracle/initwendy.ora' nomount Create spfile from pfile='/u01/oracle/initwendy.ora'; 此时,不可对数据做操作,可以 修改参数create pfile/spfile, alter system set alter session |
|
装载数据库 mount阶段 Alter database mount |
使数据库与以前启动的实例关联 定位并打开参数文件中执行的控制文件 读取控制文件获取数据文件和重做日志文件的名称和状态 读取控制文件,控制文件在参数文件中定义 Show parameter control_file 但此时不进行数据文件和联机重做日志文件是否存在的检查 可以对日志文件和数据文件进行删除,创建,但不能对日志文件,数据文件进行打开操作. 不能获取逻辑结构(表,表空间),只能对数据问及那进行添加,删除的物理操作. 本阶段用的文件是控制文件,数据库处于mount阶段 在mount阶段,你可以对数据库的物理结构进行操作 Alter database指令如
|
|
打开数据库 open阶段 Alter database open |
打开联机数据文件 打开联机重做日志文件 这个阶段会去检查数据文件和重做日志文件是否正常. 首先判断文件是否存在 然后验证所有数据文件和联机重做日志文件是否可以打开,并检查数据库的一致性. 如果需要,系统监视器后台进程SMON启动实例恢复 前滚以恢复尚未记录在数据文件中但已记录在联机重做日志中的数据 打开数据库而不是等待回退全部事务后才使数据库可用 未恢复事务锁定的数据处于open阶段,数据库启动完毕,数据库的逻辑结构与物理结构可以正常工作了. 这个时候不能进行复制备份.因为当前数据文件和日志文件处于活动状态了. |
查看数据库当前状态
desc v$database
OPEN_MODE
SQL> select OPEN_MODE FROM V$DATABASE;
OPEN_MODE
--------------------
READ WRITE-----OPEN阶段
|
1、如果得到错误ORACLE not available |
Oracle没有启动 |
|
2、如果得到错误DATABASE not mounted |
ORACLE处于nomount阶段 |
|
3、如果得到结果是MOUNTED |
ORACLE处于mount阶段 |
|
4、如果得到结果是READ WRITE |
ORACLE处于OPEN阶段 |
ORACLE启动的指令
Startup[FORCE][RESTRICT][PFILE=finename][OPEN][RECOVER][database][MOUNT][NOMOUNT]
|
OPEN: |
使用户得以访问数据库 |
|
MOUNT |
为某些DBA活动装载数据库但不允许用户访问数据库 |
|
NOMOUNT |
创建SGA并启动后台进程但不允许访问数据库 |
|
PFILE=parfile |
允许使用非缺省参数文件配置实例 |
|
FORCE |
在执行正常启动之前终止运行的实例 这个指令是强制将数据库关闭后再启动.最好不好使用. |
|
RESTRICT |
只允许具有RESTRICTED SESSION权限的用户访问数据库 修改字符集时可以使用这方式启动. |
|
RECOVER |
在启动数据库时开始介质恢复 |
几种启动方式:
|
启动方式 |
||
|
1、startup nomount |
非安装启动 |
重建控制文件、重建数据库 启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件 |
|
2、startup mount dbname |
安装启动 |
数据库日志归档、数据库恢复、重新命名一些数据库文件 如:系统表空间或日志文件 执行“nomount”,然后打开控制文件 |
|
3、startup open dbname |
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件, 这种方式下可访问数据库中的数据。 |
|
|
4、startup |
等于以下三个命令 startup nomount alter database mount alter database open |
|
|
5、startup restrict |
约束方式启动 |
这种方式能够启动数据库,但只允许具有一定特权的用户访问 非特权用户访问时,会出现以下提示: ERROR: ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 |
|
6、startup force |
强制启动方式 |
强制启动方式 当不能关闭数据库时,可以用startup force来完成数据库的关闭 先关闭数据库,再执行正常启动数据库命令 |
|
7、startup pfile=参数文件名 |
带初始化参数文件的启动方式 |
先读取参数文件,再按参数文件中的设置启动数据库 例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora |
|
8、startup EXCLUSIVE |
||
|
Alter database mount |
由nomount启动到mount |
|
|
Alter database open |
由mount启动到open |
Oracle 启动过程

关闭数据库
将缓冲区高速缓存中的更改及重做日志缓冲区高速缓存中的条目写入数据文件和联机重做日志文件
关闭所有联机数据文件和联机重做日志文件
卸装数据库
关闭其控制文件
关闭实例
ALTER文件和跟踪文件将关闭
SGA被回收并且后台进程被终止
SHUTDOWN[NORMAL][TRANSACTIONAL][IMMEDIATE][ABORT]
关闭模式:
A=ABORT
I=IMMEDIATE
T=TRANSACTIONAL
N=NORMAL0
|
关闭模式 |
A |
I |
T |
N |
|
允许建立新连接 |
否 |
否 |
否 |
否 |
|
等待到当前会话结束 |
否 |
否 |
否 |
是 |
|
等待到当前事务处理结束 |
否 |
否 |
是 |
是 |
|
强制执行检查点操作并关闭文件 |
否 |
是 |
是 |
是 |
I T N这三种模式关闭数据库,在数据库关闭前,都会将buffer cache中的脏数据刷新到磁盘文件,这个操作被成为完全检查.因为所有的脏数据都被写进磁盘,因此不会丢失用户所做的修改.下次启动时也不需要利用日志进行恢复.我们称这种方式关闭的数据库是一致的数据库,也叫干净的数据库.
A这种模式关闭数据库,ORACLE会立即退出,并不刷新脏数据的磁盘.
sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:
|
Normal 需要等待所有的用户断开连接 |
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接 正常关闭数据库,normal关闭数据库时,除了不允许建立新连接外,允许当前正在进行的会话继续进行,当前正在进行的事务,也可以正常运行知道终止. |
|
Immediate 等待用户完成当前的语句 |
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。 oracle会自动回退没有提交的事务,断开所有连接,关闭所有没有结束的会话,立即关闭数据库 |
|
Transactional 等待用户完成当前的事务 |
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。 会等待所有事务结束后,就关闭数据库,无论会话是否退出. 在transactional完成关闭操作期间,不允许有的事务,更不允许连接,但可以使用select查询 |
|
Abort 不做任何等待,直接关闭数据库 |
abort 执行强行断开连接并直接关闭数据库。 |
Oracle 关闭过程

几种关闭方式:
|
关闭方式 |
||
|
1、shutdown normal |
正常方式关闭数据库 |
|
|
2、shutdown immediate |
立即方式关闭数据库 |
在SVRMGRL中执行shutdown immediate,数据库并不立即关闭, 而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源), 当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 |
|
3、shutdown abort |
直接关闭数据库,正在访问数据库的会话会被突然终止 |
如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间 |
Oracle的启动与关闭的更多相关文章
- Oracle数据库启动和关闭
在介绍oracle数据库的启动和关闭前,先看一下Oracle的参数文件. oracle参数文件 1.初始化参数文件 oracle的初始化参数文件分为spfilesid.ora.spfile.ora.i ...
- Linux 中 Oracle 数据库启动和关闭
有时候你需要重启Linux 上的 Oracle 数据库. 注意先启动数据库,然后在启动数据库监听. a.切换为 oracle 用户身份,也可以使用 su - 将 home 和 path 都切换到 or ...
- Oracle强制启动和关闭实例
要启动和关闭数据库,必须要以具有Oracle 管理员权限的用户登陆,通常也就是以具有SYSDBA权限的用户登陆.一般我们常用SYS用户以SYSDBA连接来启动和关闭数据库.下面介绍Oracle数据库几 ...
- oracle数据库启动和关闭方式
Oracle数据库是重量级的,其管理非常复杂,将其在Linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
- Oracle——数据库启动与关闭
本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解. ...
- Oracle 数据库启动与关闭 各种方式详解整理
概述 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果 ...
- Oracle 数据库启动与关闭
只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果没有启 ...
- Linux下oracle数据库启动和关闭操作
第一步:登陆 root登陆之后切换到oracle用户上,输入 su oracle 第二步:连接 在oracle用户下,输入 sqlplus /nolog 第三步:使用管理员权限 输入 connect ...
- oracle数据库--启动和关闭
oracle--启动 oracle数据库的启动过程包含3个步骤:启动实例->加载数据库->打开数据库 分步骤启动过程可以对数据库进行不同的维护操作,对应我们不同的需求. 启动模式: 1.s ...
随机推荐
- 【ecshop后台详解】系统设置-商店设置
商店设置是我们ecshop新用户第一步先要设置的地方,因为里面相当于网站的基础.包括公司名称,电话,地址,tittle等重要的信息都是这里修改,如果这里没有修改的话,如果有访客来到你网站可能以为走错了 ...
- alloc retain release函数
- 李洪强iOS经典面试题34-求两个链表表示的数的和
李洪强iOS经典面试题34-求两个链表表示的数的和 问题 给你两个链表,分别表示两个非负的整数.每个链表的节点表示一个整数位. 为了方便计算,整数的低位在链表头,例如:123 在链表中的表示方式是: ...
- Java反射机制的基本概念与使用
本篇文章分为以下几个部分: 1.认识反射 2.反射的源头(Class类) 3.利用反射操作构造方法 4.利用反射调用类中的方法 5.反射中的invoke方法 6.利用反射调用类中的属性 反射在我们普通 ...
- wifi设置
1 编辑/etc/init.d/wifi #!/bin/sh case "$1" in start) echo /sbin/mdev > /proc/sys/kern ...
- Modsecurity原理分析--从防御方面谈WAF的绕过(一)
0x00 背景知识 一说到WAF,在我们安全工作者,或者作为普通的白帽子来说,就很头疼,因为好多时候,我们发到服务端的恶意流量都被挡掉了,于是就产生了各种绕“WAF”的话题,绕来绕去,也就无非那么多种 ...
- Entity Framework(五):使用配置伙伴创建数据库
在上一篇文章中讲了如何使用fluent API来创建数据表,不知道你有没有注意到一个问题.上面的OnModelCreating方法中,我们只配置了一个类Product,也许代码不是很多,但也不算很少, ...
- postgresql data数据目录路径迁移
默认的数据库路径是/var/lib/pgsql/9.x/data 将现有的数据库文件全部拷贝到新的数据库路径下,然后重启 新建一个路径作为新的数据库数据路径,假如是/home/data sudo mk ...
- 在linux 列出 超级用户 普通用户和 系统用户
#!/bin/bash echo Please select which list you want to print echo "1. admin (enter 1)" echo ...
- sql one
查询的话 子查询什么的都很正常 添加的话 尽量把东西都添加在一个表单里 这是源头 有个这个方便的源头 查询和删除都会方便很多 组建一个网站,不可避免的要进行调试,有些功能需要添加或者删除,对于后台来讲 ...