oracle启动过程

合集下载

windows oracle实例启动流程

windows oracle实例启动流程

windows oracle实例启动流程Windows Oracle实例启动流程一、引言Oracle是一种常用的关系型数据库管理系统,而Windows是最常见的操作系统之一。

在Windows上启动Oracle实例是使用Oracle数据库的前提,本文将详细介绍Windows上Oracle实例的启动流程。

二、检查环境配置在启动Oracle实例之前,需要确保Windows操作系统已正确安装并配置了Oracle软件。

首先,要检查Oracle软件是否已正确安装,并且所需的环境变量已经设置。

环境变量包括ORACLE_HOME、ORACLE_SID和PATH等,它们分别指定了Oracle软件安装路径、当前实例的唯一标识和执行文件的搜索路径。

三、启动监听(Listener)监听是Oracle数据库与客户端之间的通信桥梁,它负责接收来自客户端的连接请求,并将请求转发给相应的数据库实例。

在启动Oracle实例之前,需要先启动监听。

通过命令行或者图形界面工具可以启动监听,监听的配置文件为listener.ora。

四、启动数据库实例数据库实例是Oracle数据库的一个运行实例,可以理解为数据库的一个副本。

在启动数据库实例之前,需要先确定要启动的实例的唯一标识(ORACLE_SID)。

通过命令行或者图形界面工具可以启动数据库实例,启动的配置文件为init.ora或spfile。

五、连接数据库一旦数据库实例启动成功,就可以通过客户端工具连接到数据库。

常见的客户端工具包括SQL*Plus、SQL Developer和Toad等。

在连接数据库时,需要指定正确的数据库实例名、用户名和密码。

六、启动流程总结Windows上Oracle实例的启动流程如下:1. 检查环境配置,确保Oracle软件已正确安装并配置了环境变量。

2. 启动监听,监听负责接收客户端的连接请求。

3. 启动数据库实例,确定要启动的实例的唯一标识。

4. 连接数据库,使用客户端工具连接到数据库。

ORACLE的两个实例,如何进行分别重启

ORACLE的两个实例,如何进行分别重启

ORACLE的两个实例,如何进行分别重启第一篇:ORACLE的两个实例,如何进行分别重启AIX上安装了ORACLE的两个实例,如何进行分别重启问题背景:用户购买了oracle10g数据库,先安装了一个实例orcl供nc产品使用,后来又安装了第二个实例oadb供OA系统用。

由于机房方面的原因需要将服务器重启,为了保证数据库安全,客户想将oracle先停止然后再重新启动,并要求每个实例分别进行停止和启动。

解决方法:用root进入AIX系统之后切换到oracle用户然后运行以下命令:一、关闭NC数据库 1.配置变量export ORACLE_HOME=/home/oracle/OraHome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl2.连接数据库sqlplus /nolog conn /as sysdba 3.关闭数据库SQL>shutdown immediate SQL>exit 4.关闭监听lsnrctl stop 1.关闭OA的数据与上面雷同,只不过将上面1中的ORACLE_SID的内容改为OA的数据库示例名称oadb即可二、启动NC数据库用root进入AIX系统之后切换到oracle用户然后运行以下命令:1.配置变量export ORACLE_HOME=/home/oracle/OraHome_1 export PATH=$PATH:$ORACLE_HOME/bin export ORACLE_SID=orcl2.启动监听lsnrctl start 3.连接数据库sqlplus /nolog conn /as sysdba 4.启动数据库SQL>startup SQL>exit第二篇:Oracle 11g图形界面创建数据库实例Oracle 11g图形界面创建数据库实例注:以oracle11g为例,在windowsXP操作系统测试通过。

Oracle启动实例步骤

Oracle启动实例步骤

Oracle启动实例步骤
数据库启动步骤:
1. 创建并启动实例(初始化参数⽂件)
2. 装载数据库 (控制⽂件)
3. 打开数据库(数据⽂件与重做⽇志⽂件)
Oracle ⼏种 shutdown命令:
1. shutdown normal
2. shutdown immediate
3. shutdown transaction
4. shutdown abort
1. shutdown normal:
1. 阻⽌任何⽤户建⽴新的连接;
2. 等待当前所有正在连接的⽤户主动断开连接;
3. ⼀旦所有⽤户断开连接,则关闭数据库;
4. 数据库下次启动时不需要任何实例的恢复过程。

1. shutdown immediate
1. 阻⽌任何⽤户建⽴新的连接,也不允许当前连接⽤户启动任何新的事务;
2. 回滚所有当前未提交的事务;
3. 终⽌所有⽤户的连接,直接关闭数据库;
4. 数据库下⼀次启动时不需要任何实例的恢复过程
1. shutdown transaction
1. 阻⽌所有⽤户建⽴新的连接,也不允许当前连接⽤户启动任何新的事务;
2. 等待⽤户回滚或提交任何当前未提交的事务,然后⽴即断开⽤户连接;
3. 关闭数据库;
4. 数据库下⼀次启动时不需要任何实例的恢复过程。

2. shutdown abort
1. 阻⽌任何⽤户建⽴新的连接,同时阻⽌当前连接⽤户开始任何新的事务。

2. ⽴即结束当前正在执⾏的SQL语句。

3. 任何未提交的事务不被回滚。

4. 中断所有的⽤户连接,⽴即关闭数据库。

5. 数据库实例重启后需要恢复。

Oracle启动模式

Oracle启动模式

Oracle启动模式由上面的介绍可知,数据库和实例的启动过程可以分为3个步骤:启动实例,加载数据库,打开数据库。

数据库管理员可以根据实际情况的需要,以不同的模式启动数据库。

启动数据库所使用的STARTUP命令格式如下:startup [nomount | mount | open | force][resetrict] [pfile=filename]其中,NOMOUNT选项用于指定启动实例;MOUNT选项用于指定启动例程并装载数据库;OPEN选项用于指定启动例程、装载并打开数据库,这也是默认的选项;FORCE选项用于指定终止实例并重新启动数据库;RESTRICT用于指定以受限会话方式启动数据库;PFILE则用于指定启动实例时所使用的文本参数文件。

由于数据库实例在启动时必须读取一个初始化参数文件,以便从初始化参数文件中获得有关实例的参数配置信息。

当在STARTUP语句启动数据库时,通过PFILE参数指定一个服务器端初始化参数文件或文本初始化参数文件。

如果在STARTUP语句中没有指定PFILE参数,Oracle首先读取默认位置的服务器端初始化参数文件SPFILE,如果没有找到默认服务器端初始化参数文件,Oracle则将继续读取默认位置的文本初始化参数文件。

下面将详细介绍如何使用STARTUP语句启动数据库到各种启动模式。

1.启动实例不加载数据库(NOMOUNT模式)这种启动模式只会创建实例,并不加载数据库,Oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。

当要执行下列维护工作时,必须在NOMOUNT启动模式下进行:●创建新数据库。

●重建控制文件。

进入这种启动模式需要使用带有NOMOUNT子句的STARTUP语句。

下面显示了在SQL*Plus中启动数据库进入NOMOUNT模式的过程:SQL> shutdown immediate数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

ORACLE数据库启动过程分析

ORACLE数据库启动过程分析
二 、 据 库 启 动 的 选 项 配 置 数
表 示 数 据 库 启 动 实 例 , 不 安 装 数 据 库 ,不 打 开 数 据 库 。 增 加 文 件 打 开 。所 以 . 果 数 据库 安 装 失败 。 由 于 控 制 文 件 读 取 错 如 是 N MO N O U T选 项 只 用 于 数 据 库 的 控 制 文 件 全 部 损 坏 .需 要 重 新 误 引起 的 . 要 检 测 控 制 文件 是否 正 确 。 需
21 0 0年第 8期
福 建 电

11 6
O A L R C E数 据 库启 动 过 程分 析
张 春 玉
(民航 东 北地 区空 中交 通 管 理局 气 象 中心 辽 宁 沈 阳 10 4 10 3)
【 摘
要】 :本文对 ORA L C E数据库 系统 的启动过程 的详 细分析 , 以及相关配置文件 的设 置, 通过数据库启动 失败 情况
20() 不 断 地 总 结 经 验 , 断 地 进 行 自我 设 计 , 断 地 调 整 学 习进 度 。 息 .0 5 2 . 不 不 [ 朱青 菊. 4 J 综合性 网络 多媒 体英语 课 件设 计初探 U】 . 成都 大 学学报 , 不 断 地 改 进学 习方 法 , 断 的 提 高 自主 学 习 的 质量 。 不

次完成 。 中途 不 能 退 出 . 不能 返 回重 作 。” 也 目标 测 试 ” 标 可 题
参考文献 :
以选 用 配 参 考 答 案 的练 习 模 式 , 复 练 习 , 面训 练 ; 可 以选 [ ] 反 全 也 1 华汉 芬. 关于 多媒体课 件制 作的 几点 建议 【 . J 宁波教 育 学院 学报 , ] 择 不 配 答 案 的 测 试 形式 , 面 检 测学 习效 果 。 目标测 试 ” 全 ” 配有 自 2 0 ( ) 052. 动计 分 功 能 . 接 显 现 学 习水 平 和 学 习质 量 。 测 结果 及 时 向学 [] 直 检 2 张艳 慧. 关于多媒体课件制作的探 讨U . ] 河北北方学院学报 , 0 () 2 53. 0 3赵 应用 多媒体技 术辅助 大学英语 教 学的探 索[]中国科技 信 J. 生 提 供 自 己在 不 同 阶段 的学 习情 况 .便 于 学 生 在 其 学 习 过 程 中 【 ] 建 军.

OARCEL 启动

OARCEL 启动

oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下。

安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_profile添加几个环境变量:ORACLE_SID,ORACLE_BASE,ORACLE_HOME。

比如:export ORACLE_SID=test export ORACLE_BASE=oracle_install_dir export ORACLE_HOME=xxx启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。

1.$ su - oracle2.$ sqlplus / nolog3.sql> conn / as sysdba4.sql> startup (一般不需要加参数,只要设置好环境变量)5.sql> quit (退出sql模式)6.$ lsnrctl start (启动监听器)关闭oracle1.$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)2.$ sqlplus /nolog3.sql>shutdown 其参数:shutdown有四个参数,四个参数的含义如下:Normal 需要等待所有的用户断开连接Immediate 等待用户完成当前的语句Transactional 等待用户完成当前的事务Abort 不做任何等待,直接关闭数据库normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。

transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。

abort 执行强行断开连接并直接关闭数据库。

前三种方式不回丢失用户数据。

第四种在不的已的情况下,不建议采用!经常遇到的问题:1)权限问题,解决方法,切换到oracle用户;2)没有关闭监听器,解决方法:关闭监听器3)有oracle实例没有关闭,解决办法:关闭oracle实例4)环境变量设置不全,解决办法:修改环境变量</u2/oradb/admin/toptest/pfile> export ORACLE_SID=toptest</u2/oradb/admin/toptest/pfile> sqlplus / as sysdbaSQL*Plus: Release 10.2.0.3.0 - Production on Thu Mar 14 09:40:59 2013 Copyright (c) 1982, 2006, Oracle. All Rights Reserved.Connected to an idle instance.SQL> startupORACLE instance started.Total System Global Area 536870912 bytesFixed Size 2074080 bytesVariable Size 222300704 bytesDatabase Buffers 306184192 bytesRedo Buffers 6311936 bytesDatabase mounted.Database opened.SQL>。

Oracle数据库启动过程研究与实践

Oracle数据库启动过程研究与实践

Oracle数据库启动过程研究与实践摘要:分析了Oracle数据库启动过程,阐述了导致Oracle数据库启动故障的不同原因,模拟了各种故障,提出了故障的处理过程,使读者对Oracle数据库启动过程有更深入的了解。

关键词:Oracle;数据库;启动0引言Oracle数据库是当前应用最广泛的大型数据库管理系统,它在各个领域的使用不断增长。

了解Oracle的启动过程,就可以在Oracle启动发生故障时,快速定位,准确判断,从而快速解决问题。

1Oracle的启动过程如图1所示,ORACLE的启动过程分为3个阶段:启动数据库实例、装载数据库、打开数据库。

在每个阶段所作的工作包括:启动实例(nomount):Oracle读取参数文件,以确定初始化参数的值。

然后,系统便会分配SGA,并启动后台进程。

装载数据库(mount):Oracle读取控制文件,并检查数据文件的一致性,通过口令文件实现对用户身份认证。

打开数据库(open):根据控制文件找到数据文件、日志文件、检查点信息等重要文件,进行检查点及完整性检查。

在此状态下,用户可以访问数据库。

图1ORACLE的启动过程2Oracle启动异常时的分析处理2.1Oracle启动异常的原因分析根据Oracle数据库启动过程的分析,Oracle数据库启动失败的原因可能如下:①启动实例失败:参数文件不存在,系统配置(内核参数等)存在问题,应检查是否分配了足够的系统资源;②装载失败:控制文件读取错误,需要逐一检测所有控制文件是否正确。

口令文件读取错误,需要检查或重建口令文件;③打开失败:数据文件或日志文件损坏或不一致,需要进行恢复。

2.2Oracle启动异常的模拟及错误现象以下范例在Oracle11g中验证,$Oracle_home是C:\\app\\Administrator\\product\\11.2.0\\dbhome_1 目录,$Oracle_base是C:\\app\\Administrator目录,数据库的SID为ORCL。

启动和关闭数据库的概念和步骤

启动和关闭数据库的概念和步骤

启动数据库的步骤二(装载数据库)
装载数据库时,实例将打开数据库的控制文件,根据初始化参数control_file的设置,找到控制文件,从中获取数据库名称、物理文件的位置名称等信息。在装载阶段实例并不会打开数据库的物理文件,数据库任然处于关闭状态,仅有数据库管理员可以通过部分命令修改数据库,用户无法与数据库建立连接或会话 在执行下列任务时,需要数据库处于装载状态 1、重新命名、增加、删除数据文件和重做日志文件 2、执行数据库的完全恢复 3、改变数据库的归档模式 使用STARTUP MOUNT 命令启动实例并装载数据库(但是不打开数据库)
ShutDown Transactional(完成事务) 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新事务 等待所有当前未提交的事务提交完毕,然后立即断开用户的连接 一旦所有用户都断开连接,才关闭、卸载数据库、并终止实例 按Transactional选项关闭数据库,既能保证用户不会丢失当前工作的信息,又尽可能快的关闭数据库,并且下次启动数据库时不需要进行任何恢复操作
关闭数据库的方法
ShutDown Abort(中止) 发生在如下几种情况下,可考虑按abort关闭数据库 1、数据库本身或某各数据库应用程序发生异常,并且使用其他选项均无效 2、出现紧急情况,需要立即关闭数据库 3、在启动数据库实例的过程中产生错误 按abort关闭数据库时,将执行如下操作: 1、阻止任何用户建立新的连接,同时阻止当前连接的用开始任何新事务 2、立即中止当前正在执行的SQL语句 3、任何未提交的事物均不被回退 4、立即断开所有用户的连接,关闭、卸载数据库,终止实例 5、此种关闭方式由于当前未完成事务并不会被回退,所以可能会丢失一部分数据,并对数据库的完整性造成危害,所以下次启动时需要恢复
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通常所说的Oracle Server主要由两个部分组成:Instance和Database。

Instance是指一组后台进程(在Windows上是一组线程)和一块共享内存区域;Database是指存储在磁盘上的一组物理文件。

通过I nstance与Database协同,Oracle数据库才能形成一个动态的可访问关系型数据库系统。

本章将由数据库如何启动与关闭入手,开始和大家一起进入Oracle数据库的国度。

1.1 数据库的启动从表象来看,数据库的启动极其简单,只需要以SYSDBA/SYSOPER身份登陆,敲一条startup命令既可启动数据库。

然而在这条命令之后,Oracle需要执行一系列复杂的操作,深入理解这些操作不仅有助于了解Oracle数据库的运行机制,还可以在故障发生时帮助大家快速的定位问题的根源所在,所以接下来让我们一起分析一下数据库的启动过程。

Oracle数据库的启动主要包含三个步骤:启动数据库到Nomount状态启动数据库到Mount状态启动数据库到Open状态完成这三个过程,数据库才能进入就绪状态,准备提供数据访问。

下面逐个来看看以上各个步骤的具体过程以及含义。

1.1.1 启动数据库到Nomount状态在启动的第一步骤,Oracle首先寻找参数文件(pfile/spfile),然后根据参数文件中的设置(如内存分配等设置),创建实例(INSTANCE),分配内存,启动后台进程。

Nomount的过程也就是启动数据库实例的过程。

这个过程在后台是启动Oracle可执行程序的过程,Windows上是oracle.exe文件的初始化,在U nix/Linux上是oracle可执行文件的初始化。

Windows上Oracle11g的执行文件大小约为86M,而Linux下Oracle11g的执行文件达到145M左右:D:\oracle\product\11.1.0\BIN>dir oracle.exe2007-10-03 17:42 89,702,400 oracle.exe[oracle@localhost bin]$ ls -al $ORACLE_HOME/bin/oracle-rwsr-s--x 1 oracle dba 151901909 Jul 4 15:13 /opt/oracle/product/11.1.0/bin/oracle在Unix/Linux上可以通过file命令查看oracle执行文件来判断Oracle是64位或是32位的,以下是Li nux平台的一个示范输出,输出显示Oracle为32位:[oracle@localhost bin]$ file $ORACLE_HOME/bin/oracle/opt/oracle/product/11.1.0/bin/oracle: setuid setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped在Windows上,也有可选的命令增强工具可以提供类似的功能。

了解Oracle可执行文件还有另外一个用途,在Unix/Linux上通过strings命令可以将oracle可执行文件中的字符文本转储出来,在转储的文本中可以找到很多有意思的信息,比如一些Oracle未公开的Hints 信息、数据库字典基表创建信息等,类似如下一条命令可以完成这样的工作:strings $ORACLE_HOME/bin/oracle > oracle.txt在Nomount初始化的过程中,只要拥有了一个参数文件,就可以凭之启动实例(INSTANCE),这一步骤并不需要任何控制文件或数据文件等的参与。

1.1.1.1 实例以及进程的创建以下是正常情况下启动到nomount状态的过程:[oracle@eygle bdump]$ sqlplus /nologSQL*Plus: Release 10.2.0.1.0 - Production on Wed Jun 28 12:42:30 2006Copyright (c) 1982, 2005, Oracle. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup nomount;ORACLE instance started.Total System Global Area 1073741824 bytesFixed Size 1223488 bytesVariable Size 264242368 bytesDatabase Buffers 801112064 bytesRedo Buffers 7163904 bytes注意这里,Oracle根据参数文件的内容,创建了instance,分配了相应的内存区域,启动了相应的后台进程。

SGA的分配信息从以上输出中可以看到。

观察告警日志文件(alert_.log),可以看到这一阶段的启动过程:读取参数文件,应用参数启动实例。

所有在参数文件中定义的非缺省参数都会记录在告警日志文件中,以下是这一过程的日志摘要示例:Wed Jun 28 12:42:40 2006Starting ORACLE instance (normal)LICENSE_MAX_SESSION = 0LICENSE_SESSIONS_WARNING = 0Picked latch-free SCN scheme 2Autotune of undo retention is turned on.IMODE=BRILAT =18LICENSE_MAX_USERS = 0SYS auditing is disabledksdpec: called for event 13740 prior to event group initializationStarting up ORACLE RDBMS Version: 10.2.0.1.0.System parameters with non-default values:processes = 150__shared_pool_size = 255852544__large_pool_size = 0__java_pool_size = 4194304__streams_pool_size = 0sga_target = 1073741824control_files = /opt/oracle/oradata/eygle/control01.ctl, /opt/oracle/oradata/eygle/control02.ctl, /opt/or acle/oradata/eygle/control03.ctldb_block_size = 8192__db_cache_size = 805306368...............background_dump_dest = /opt/oracle/admin/eygle/bdumpuser_dump_dest = /opt/oracle/admin/eygle/udumpdb_name = eygle应用参数创建实例之后,后台进程依次启动,注意以下输出中包含了PID信息以及OS ID两个信息,P ID代表该进程在数据库内部的标识符编号,而OS ID则代表该进程在操作系统上的进程编号:PMON started with pid=2, OS id=6290PSP0 started with pid=3, OS id=6292MMAN started with pid=4, OS id=6294DBW0 started with pid=5, OS id=6296LGWR started with pid=6, OS id=6298CKPT started with pid=7, OS id=6300SMON started with pid=8, OS id=6302RECO started with pid=9, OS id=6304CJQ0 started with pid=10, OS id=6306MMON started with pid=11, OS id=6308MMNL started with pid=12, OS id=6310在这里提醒大家注意一下Oracle不同版本告警日志信息的变化,在Oracle9i早期版本中,后台进程启动的日志信息里并不包含OS ID,以下是Oracle 9.2.0.4的日志信息(在Oracle 9.2.0.8中已经包含了OS ID信息):PMON started with pid=2DBW0 started with pid=3LGWR started with pid=4CKPT started with pid=5SMON started with pid=6RECO started with pid=7在Oracle 11g中,这部分信息有了进一步的增强,输出中不仅包含了OS ID,而且每个后台进程的启动都有单独的时间标记(时间标记可以帮助我们判断每个后台进程启动时所消耗的时间,从而辅助进行问题诊断):Sat Jul 05 09:53:55 2008PMON started with pid=2, OS id=13898Sat Jul 05 09:53:55 2008VKTM started with pid=3, OS id=13900 at elevated priorityVKTM running at (20)ms precisionSat Jul 05 09:53:55 2008DIAG started with pid=4, OS id=13904Sat Jul 05 09:53:55 2008DBRM started with pid=5, OS id=13906Sat Jul 05 09:53:55 2008PSP0 started with pid=6, OS id=13908提示:从Oracle不同版本中的变化来体会Oracle的技术进步、甚至借鉴这些变化是学习Oracle的方法之一。

任何细微的变化都值得注意,认真、细致、严谨是对DBA的基本素质要求。

细心的读者朋友或许可以注意到,在前面日志里的进程启动信息里,并没有pid=1的进程,那么这个进程是否存在呢?1.1.1.2 V$PROCESS视图通过数据库中的v$process视图,可以找到对应于操作系统的每个进程信息:SQL> select addr,pid,spid,username,program from v$process;ADDR PID SPID USERNAME PROGRAM-------- ---------- ---------- -------- ----------------------------------------5FE162AC 1 PSEUDO5FE16860 2 6290 oracle oracle@eygle (PMON)5FE16E14 3 6292 oracle oracle@eygle (PSP0)5FE173C8 4 6294 oracle oracle@eygle (MMAN)5FE1797C 5 6296 oracle oracle@eygle (DBW0)5FE17F30 6 6298 oracle oracle@eygle (LGWR)5FE184E4 7 6300 oracle oracle@eygle (CKPT)。

相关文档
最新文档