Oracle 11g笔记——数据库启动
一、数据库启动原理
1、启动实例(Start An Instance)
当启动实例时,Oracel会读取一个参数文件,这个文件可以是初始化参数文件(Initializaion Paramenter File, PFILE),也可以是服务器端参数文件(Server Paramenter Files, SPFILE),通常,把两都都和称为参数文件。
Oralce根据参数文件中的参数,分配相应大小的一片内存区域叫系统全局区(System Global Area, SGA),然后启动一系列的后台进程(SMON、PMON、ARCH等),SGA与进程组成实例。
实例是用来驱动数据库的,一台机器上可同时运行多个实例,每个实例有自己的名字SID。RAC环境中多个实例可同时驱动一个数据库。
实例启动完成后,数据库处于NOMOUNT状态,数据库还没有和实例关联。此时数据库不可访问,这个阶段主要用于数据库的编护(如重建控制文件)。
参数文件(PFILE或SPFILE)还指定上了控制文件(Control File)的位置。
PFILE是文本文件,SPFILE是二进制文件,它们是两种完全不同的文件,不能在命令行中时显式使用SPFILE来启动数据库。
如:SQL>STARTUP 默认使用SPFILE启动数据库,注:需要有SYSDBA权限
SQL>STARTUP PFILE='/oracle/app/oracle/product/10.1.0/db_1/dbs/initorcl.ora';
重建SPFILE:CREATE SPFILE FROM PFILE='D:\oracle\app\oracle\product\10.1.0\db_1\dbs\initorcl.ora';
2、装载数据库(Mount The Database)
Oracle根据参数文件(PFILE或SPFILE)中的参数(CONTRIL_FILES)找到控制文件(Contril File),然后打开控制文件。从控制文件中获得数据文件(Datafile)和联机日志文件(Redo Log File)的名字及位置。这时Oracle已将实例(Instance)和数据库关联起来,对于普通用户来说,数据库还是不可访问。
处于MOUNT阶段的数据库,主要用于数据库的维护(如:恢复数据库等)
3、打开数据库(Open The Daabase)
当打开数据库的时候,Oracle打开数据文件(Datafile)和联机日志文件(Redo Log File)。这时,数据库可以使用。普通用户可登录数据库,对数据库进行操作。
1、数据启动到NOMOUNT状态,只启动实例
C:>STARTUP NOMOUNT
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
2、数据启动到MOUNT状态,在启动STARTUP之后指定启动选项MOUNT,MOUNT状态不仅打开了实例,还打开了控制文件,从控制文件中读取了数据文件和联机日志文件的名称和位置。
注:启动到MOUNT的状态的过程,还包括启动到NOMOUNT的过程
C:>STARTUP MOUNT
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 2945024 bytes
注:将数据库从Nomount状态变为MOUNT状态:
C:>ALTER DATABASE MOUNT
打开数据库:
1、若数据库是关闭的:
SQL>STARTUP
2、若数据库是NOMOUNT:
SQL>ALTER DATABASE MOUNT
SQL>ALTER DATABASE OPEN
3、若数据库是MOUNT:
SQL>ALTER DATABASE OPEN
4、一步步启动数据库:
SQL>STARTUP NOMOUNT;
SQL>ALTER DATABASE MOUNT;
SQL>ALTER DATABASE OPEN;
5、利用特定的初始化参数文件启动数据库,initorcl.ora为初始化参数(PFILE)的文件名。
SQL>STARTUP PFILE='/oracle/app/oracle/product/10.1.0/db_1/dbs/initorcl.ora';
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 2945024 bytes
Database Mounted.
Database Opened.
6、将数据库启动到限制模式(RESTRICT),作用:
(1)执行数据的导入/导出(import/export)
(2)执行数据的装载(SQL*Loader)
(3)阻止某些用户访问数据
(4)执行某些升级和迁移操作
a、若数据库已关闭:
SQL>STARUP RESTRICT;
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 2945024 bytes
Database Mounted.
Database Opened.
b、若数据库已启动:
SQL>ALTER SYSTEM enable restricted session;
7、以只读模式(Rready Only)打开数据库
只读模式下,数据文件和联机日志文件都禁止写操作,整个数据库是只读的。允许执行数据库恢复(Database Recovery)及其它不会产生回滚的操作。
(1)如果数据库没有启动:
SQL>STARUP OPEN READ ONLY;
查看数据库是否以只读方式打开:
SQL>SELECT open_mode From V$database;
(2)若数据库处于MOUNT状态:
SQL>Alter database open read only;
8、如何把数据库启动到恢复模式(RECOVER),用于数据库的介质恢复
SQL>STARTUP OPEN RECOVER;
9、重新启动数据库(RESET)
SQL>STARTUP FORCE;
STARTUP FORCE命令先调用STARTUP ABORT来关闭数据库,然后再用STARTUP命令,按照正常方式启动数据库。
注:此命令会执行实例恢复的过程,在系统正常的情况下,不推荐使用这个命令,还是应该按照正常的顺序启动/关闭数据库。
10、查看数据库状态:
(1)NOMOUNT状态
SQL>SELECT OPEN_MODE FROM V$DATABASE; 显示:ORA-01507: database not mounted
SQL>SELECT STATUS FROM V$instance; 显示为:STARTED
以上两条记录说明:实例已启动,但没有Mounted,所以为Nomount状态
NOMOUNT状态时,打开数据库要经过两步,不能直接打开数据库:
SQL>ALTER DATABASE MOUNT;
SQL>ALTER DATABASE OPEN;
(2)MOUNT状态
SQL>SELECT OPEN_MODE FROM V$DATABASE; 显示:mounted
SQL>SELECT STATUS FROM V$instance; 显示为:mounted
以上两条记录说明:为MOUNT状态
(3)OPEN打开状态
SQL>SELECT OPEN_MODE FROM V$DATABASE; 显示:READ WRITE
SQL>SELECT STATUS FROM V$instance; 显示为:OPEN
以上两条记录说明:为OPEN状态
ORA-02778: Name given for the log directory is invalid
说明BACKGROUND_DUMP_DEST指向的目录不存在。
1、建立新目录:/wxx/oracle/dbump,并设读写权限
2、修改初始化参数文件(PFILE),使BACKGROUND_DUMP_DEST=/wxx/oracle/dbump
3、重启数据库
警报文件(Alert File)
跟踪文件(Trace File)
Oracle 11g笔记——数据库启动相关推荐
- oracle无法重建em,ORACLE 11g, EM 无法启动的问题和重建
ORACLE 11g, EM 无法启动的问题,可能是IP更改了的原因,所以我使用了EMCA命令重新配置了一下ORACLE EM,具体过程如下: I:\Documents and Settings\ge ...
- Oracle 11G R2 RAC 启动报错:ORA-01078 ORA-01565 ORA-17503 ORA-12547 处理方法
Oracle 11G R2 RAC 启动报错:ORA-01078 ORA-01565 ORA-17503 ORA-12547 处理方法 前几天搭建的RAC测试环境:RedHat 6.8 grid ...
- rhel6安装oracle,在RHEL6中安装Oracle 11g R2数据库
在RHEL6中安装Oracle 11g R2数据库 2011-10-10 TsengYia#126.com http://tsengyia.blog.chinaunix.net/ ######### ...
- 12-Linux下Oracle 11g R2数据库安装
Oracle 11g R2数据库安装 安装环境准备 需要先装centos系统,并更新组件.安装请参考centos6.5安装手册. 用户一览 用户 所在组 权限 Root root 超级用户 Oracl ...
- 启动和关闭oracle 实例,oracle实例和数据库启动与关闭.ppt
<oracle实例和数据库启动与关闭.ppt>由会员分享,可在线阅读,更多相关<oracle实例和数据库启动与关闭.ppt(10页珍藏版)>请在人人文库网上搜索. 1.Orac ...
- oracle 11g 硬件需求,ORACLE 11g R2数据库装配硬件环境要求
ORACLE 11g R2数据库安装硬件环境要求 物理内存要求:最小1G,在windows7,windows8,windows8.1上最小2G. 虚拟内存(或分页空间)容量要求: Available ...
- oracle 11g复制数据库
1.创建辅助实例 a.创建辅助实例的密钥文件 C:/>orapwd file=F:\oracle\product\10.2.0\db_1\database\PWDorcldup.ora pass ...
- oracle 11g 的em启动不了
前几天抽了个时间,在测试的服务器上,安装一个ERP系统的模拟环境. 在安装ORACLE的过程中,遇到了ORACLE的EM无法访问,今天折腾了一个早上,终于解决了. 症状:刚装完ORACLE 11G后, ...
- 修改oracle数据库内存参数,物理内存扩容,oracle 11g R1数据库相关参数修改
背景:对主备机的物理内存扩容一倍,内存扩容后,需要修改数据库相关的内存参数,包括数据库层面和操作系统层面.预计对备机扩容一倍内存操作完毕后,修改相关.. 背景: 对主备机的物理内存扩容一倍,内存扩容后 ...
最新文章
- CentOS7系统下bower 命令权限问题
- 【119】开始学习CMD
- 方法论之 如何解决一个问题
- Java网页小程序——Java Applet
- 文献记录(part36)--A survey on heterogeneous network representation learning
- linux重启sshd命令,重启sshd服务
- 扔掉伟哥!男性壮阳食品荟萃
- matlab求滤波器的冲激响应,在TMS320C5410上用MATLAB实现有限冲激响应滤波器
- 《深入浅出DPDK》读书笔记(五):同步互斥机制
- java 根号_没见过的 Java 入门教程之三!例程使用中文标识符代码:各种变量
- USB学习笔记连载(十五):USB固件更新以及安装驱动
- 百度网盘超级会员,年卡低至198元!百度官方直充,会员实时生效!
- Dataphin核心功能(四):安全——基于数据权限分类分级和敏感数据保护,保障企业数据安全
- (Python)从零开始,简单快速学机器仿人视觉Opencv---运用四:图像损痕修复
- 最大公约数和最小公倍数、判断两数互质
- 基于QT封装的音视频播放时间轴控件
- 打印读取出Excel里全部数据_xing2516_新浪博客
- Hibernate-validator(HV)异常
- catkin_make命令
- VirtualBox安装增强功能显示未能加载虚拟光盘到虚拟电脑