文档库 最新最全的文档下载
当前位置:文档库 › Oracle 启动LogMiner

Oracle 启动LogMiner

Oracle  启动LogMiner
Oracle  启动LogMiner

Oracle 启动LogMiner

在为LogMiner创建了字典文件,并且指定了要分析的重做日志文件列表后,就可以启动LogMiner开始分析日志文件了。执行DBMS_LOGMNR.START_LOGMNR过程将启动LogMiner。

启动LogMiner非常方便,只需要执行DBMS_LOGMNR.START_LOGMNR过程即可。在执行该过程时,需要为参数DICTFILENAME中指定一个已经建立的字典文件。例如,下面的语句在执行DBMS_LOGMNR.START_LOGMNR过程时,指定了前面所创建的字典文件e:\orcldata\logminer\sqltrace.ora:

SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'e:\orcldata\logminer\sqltrace.ora');

PL/SQL 过程已成功完成。

如果不指定字典文件,那么生成的分析结果中将使用Oracle内部的对象标识和数据格式,这些数据的可读性非常差。指定字典文件后,Oracle会将内部对象标识和数据类型转换为用户可读的对象名称和外部数据格式。

另外,如果在执行DBMS_LOGMNR.START_LOGMNR过程时没有指定其他参数,则在分析的结果中将包含重做日志文件的所有内容。因此,DBA可以在启动LogMiner时,为其限定要分析的范围。DBMS_LOGMNR.START_LOGMNR过程提供了基于分析日志时间和SCN号的参数,它们分别是:表示分析的起始/结束SCN号的STARTSCN/ENDSCN;表示分析的起始/结束时间的STARTTIME/ENDTIME。

例如,下面的语句在执行DBMS_LOGMNR.START_LOGMNR过程时,将过滤2008年5月1日以前的数据。

execute dbms_logmnr.start_logmnr(dictfilename=>'e:\orcldata\logminer\sqltrace.ora',

starttime=>to_date('2008/05/01 01:00:00','yyyy/mm/dd hh:mi:ss'),

endtime=>to_date('2008/05/10 10:30:00',' yyyy/mm/dd hh:mi:ss '));

在使用SCN号了限定分析范围时,必须明确地知道事务的SCN范围,这通常可以从重做日志的基本信息中获取。

Oracle实例的进程结构

Oracle 实例的进程结构 进程是操作系统中一个独立的可以调度的活动,用于完成指定的任务。进程与程序的区别在于前者是一个动态概念,后者是一个静态实体。程序仅仅是指令的有序集合,而进程则强调执行过程。进程可以动态地创建,当完成任务后即会消亡。 在Oracle 系统工作过程中,主要涉及到如下3类进程: ● 用户进程 在用户连接数据库时会创建一个用户进程。用户进程执行的是一个应用 程序或Oracle 工具程序的代码,以完成用户指定的任务。用户进程不是实例的组成部分。 ● 服务器进程 这些进程根据客户的请求来完成工作。 ● 后台进程 这些进程随数据库而启动,用于完成各种维护任务,如将数据块写至磁 盘进程DBWR 、维护在线重做日志进程LGWR 、清理异常中止的进程等。 图2-6显示了服务器进程、用户进程和后台进程之间的关系。 共享池数据缓冲区日志缓冲区 SGA Data Data Data Data Data Data Data 数据文件日志文件组 DBWR ARCH 磁盘或 磁带CKPT 服务器进程LGWR 用户进程PMON LCKn SMON RECO 图2-6 服务器进程、用户进程和后台进程之间的关系 1 用户进程 当用户执行一个Oracle 应用程序时,或者启动一个Oracle 工具时(如SQL*Plus ),Oracle 将创建一个用户进程来执行相应的用户任务。与用户进程相关的有两个概念:“连接”和“会话”。 连接是一个用户进程与数据库实例之间的一条通信路径,这条通信路径通过操作系统平台中的进程间通信机制或网络连接来实现。会话则是一个用户到数据库的指定连接。例如当一个用户启动SQL*Plus ,并输入正确的用户名和密码连接到一个数据库库后,就为该用户创建了一个会话。会话在用户连接到实例的过程中始终存在,直到用户断开连接或终止应用程序为止。 可以看出,会话是通过连接来建立的。同一个用户可以通过建立多个连接来创建到

Oracle数据库系统紧急故障处理方法

Oracle数据库系统紧急故障处理方法 Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。所以我们首先要判断问题的起因,如果是硬件故障则首先要解决硬件问题。在无硬件问题的前提下我们才能按照下面的处理方发来进一步处理。 控制文件损坏: 控制文件记录了关于oracle的重要配置信息,如数据库名、字符集名字、各个数据文件、日志文件的位置等等信息。控制文件的损坏,会导致数据库异常关闭。一旦缺少控制文件,数据库也无法启动,这是一种比较严重的错误。 损坏单个控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,确定所有控制文件的路径。 3. 用操作系统命令将其它正确的控制文件覆盖错误的控制文件。 4. 用下面的命令重新启动数据库: svrmgrl>startup; 5. 用适当的方法进行数据库全备份。 损坏所有的控制文件: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库: svrmgrl>shutdown immediate; 2. 从相应的备份结果集中恢复最近的控制文件。对于没有采用带库备份的点可以直接从磁带上将最近的控制文件备份恢复到相应目录;对于采用带库备份的点用相应的rman脚本来恢复最近的控制文件。 3. 用下面的命令来创建产生数据库控制文件的脚本:

svrmgrl>startup mount; svrmgrl>alter database backup controlfile to trace noresetlogs; 4. 修改第三步产生的trace文件,将其中关于创建控制文件的一部分语句拷贝出来并做些修改,使得它能够体现最新的数据库结构。假设产生的sql文件名字为createcontrol.sql. 注意: Trace文件的具体路径可以在执行完第3)步操作后查看 $ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定。 5. 用下面命令重新创建控制文件: svrmgrl>shutdown abort; svrmgrl>startup nomount; svrmgrl>@createcontrol.sql; 6. 用适当的方法进行数据库全备份。 重做日志文件损坏: 数据库的所有增、删、改都会记录入重做日志。如果当前激活的重做日志文件损坏,会导致数据库异常关闭。非激活的重做日志最终也会因为日志切换变为激活的重做日志,所以损坏的非激活的重做日志最终也会导致数据库的异常终止。在ipas/mSwitch中每组重做日志只有一个成员,所以在下面的分析中只考虑重做日志组损坏的情况,而不考虑单个重做日志成员损坏的情况。 确定损坏的重做日志的位置及其状态: 1. 如果数据库处于可用状态: select * from v$logfile; svrmgrl>select * from v$log; 2. 如果数据库处于已经异常终止: svrmlgr>startup mount; svrmgrl>select * from v$logfile;

Oracle数据库startup和shutdown方式

Oracle数据库startup和shutdown方式 昨天晚上,回去好好整理了下关于"Oracle数据库提供了几种不同数据库启动和关闭方 式",然后,自己就回去就写了个示例. 其中,就出现了1个问题: ORA-12528: TNS:listener: all appropriate instances are blocking new connections 于是到网上就大量的查阅资料,哈哈,好不错,解决方法找到了.其中红色的就是主要解决方法.下面就把我整理的东西给共享下. 一:注意事项 要启动和关闭数据库,必须要以具有Oracle 管理员权限用户登陆,通常也就是以具有SYSDBA 权限用户登陆。一般我们常用INTERNAL用户来启动和关闭数据库(INTERNAL用户实际上是SYS用户以SYSDBA连接同义词)。Oracle数据库新版本将逐步淘汰INTERNAL这个内部用户,所以我们最还是设置DBA用户具有SYSDBA权限。 二:启动一个数据库需要三个步骤 1、创建一个Oracle实例(非安装阶段) 2、由实例安装数据库(安装阶段) 3、打开数据库(打开阶段) 三:Startup(启动数据库命令) 1、STARTUP NOMOUNT NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例配置,包括内存结构大小和启动后台进程数量和类型等。实例名根据Oracle_SID设置,不一定要与打开数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小列表,如下所示: SQL> startup nomount ORACLE 例程已经启动。 Total System Global Area 35431692 bytes Fixed Size 70924 bytes Variable Size 18505728 bytes Database Buffers 16777216 bytesu Redo Buffers 77824 bytes 2、STARTUP MOUNT 该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"提示。 3、STARTUP

oracle启动过程

通常所说的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.exe 2007-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上,也有可选的命令增强工具可以提供类似的功能。

LINUX安装ORACLE步骤注意事项

Linux AS5/4安装Oracle10g常见问题 环境: Operating System:Windows2003Enterprise Edition Virtual Machine:VMware6.0 Linux:Redhat Linux AS5 注:由于Redhat Linux AS5不是Oracle官方文档中的支持版本,所以下面的检查配置项均参照Oracle对AS4的要求进行设置。 一、检查硬件 查看内存和交换空间以及磁盘大小 命令:#grep MemTotal/proc/meminfo #grep SwapTotal/proc/meminfo #df-h #df-k/tmp 要求:所需最小内存为256MB,而所需最小交换空间为512M。对于内存小于或等于2GB 的系统,交换空间应为内存的两倍;对于内存大于2GB的系统,交换空间应为内存的一到两倍。安装Oracle10g软件需要2.5GB的可用磁盘空间,而数据库则另需1.2GB的可用磁盘空间。/tmp目录至少需要400MB的可用空间。 二、验证Linux安装

1.检查内核版本:#uname-r 所需版本:2.6.9-5.EL(为官方RHEL4.0的要求)2.检查所需软件包:#rpm-q package-name 所需包及其版本: binutis-2.15.92.0.2-13.EL4 compat-db-4.1.25-9 compat-libstdc++-296-2.96-132.7.2 control-center-2.8.0-12 gcc-3.4.3-22.1.EL4 gcc-c++-3.4.3-22.1.EL44 glibc-2.3.4-2.9 glibc-common-2.3.4-2.9 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-22.1 libstdc++-devel-3.4.3-22.1 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2 setarch-1.6-1

Oracle数据库的启动与关闭

以下资料来自Oracle数据库精讲与疑难解析,仅供学习 一、Oracle数据库的启动 Oracle数据库的启动要经历3个阶段。 阶段一:启动实例 (Start An Instance)--nomount 阶段二:装载数据库 (Mount The Database)--mount 阶段三:打开数据库 (Open The Database)--open 1.启动实例 ①读取参数文件(Initialization Parameter File, PFILE 或者 Server Parameter Files, SPFILE) ②Oracle根据参数文件中的参数,分配系统全局区(System Global Area, SGA) ③启动后台进程(DBWR: 数据库写入进程,LGWR:日志写入进程,CKPT:检查点进程,SMON: 系统监控进程,PMON:进程监控进程,ARCH归档进程等)。 这些内存和后台进程组合起来组成实例(Oracle Instance)。 参数文件(PFILE或者SPFILE)还指定了控制文件(Control File)的位置。 2.装载数据库 打开控制文件(Control File),从控制文件中获得数据文件(Data File)和联机日志文件(Redo Log File)的名字和位置。这时候,Oracle已经把实例和数据库关联起来。对于普通用户,数据库 还是不可访问。 3.打开数据库 Oracle打开数据文件 (Data Files) 和联机日志文件 (Redo Log File) 。这时候,数据库可以使用。 普通可以登录数据库,对数据库进行操作。 4.分步启动Oracle STARTUP NOMOUNT; ALTER DATABASE MOUNT; ALTER DATABASE OPEN; 5.直接启动Oracle STARTUP (相当于上面三个过程依次进行) 6.使用特定初始化参数文件 (Initialization Parameter File, FILE) 启动数据库 STARTUP PFILE='C: \oracle\product\10.2.0\db_1\dbs\PFILEORCL.ORA'; 7.把数据库启动到限制模式(RESTRICT) 在限制模式下,只有CREATE SESSION 和RESTRICTED SESSION权限的用户可以访问数据库。 ①如果数据库是关闭的 STARTUP RESTRICT; ②如果数据库是开启的 ALTER SYSTEM enable restricted session; 8.以只读模式(Read Only)打开数据库 ①如果数据库是关闭的 STARTUP open read only; ②如果数据库是开启的 ALTER DATABASE OPEN read only; 在直读模式下,数据文件和日志文件都禁止写操作。整个数据库是只读的。 但是允许数据库恢复(Database Recovery)及其他不会产生回滚的操作。 9.把数据库启动到回复模式 (RECOVER) STARTUP OPEN RECOVER; 10.重启数据库(RESET) STARTUP FORCE

ORACLE数据库启动过程祥解

ORACLE数据库启动过程祥解及错误排除 本文目的 在ORACLE数据库管理中,启动数据库遇到问题较多。而且多数ORACLE的使用者在数据库启动过程中遇到错误提示,无从下手使用了错误的方法修改数据库的相关文件,而从造成了不必要的数据损失。通过本文使读者对ORACLE数据库的启动过程有一个较为详细的了解,遇到启动过程的错误不至于手忙脚乱造成更大的损失。 一、数据库启动方法 1、UNIX平台数据库启动方法 使用oracle用户登录服务器 $>sqlplus ‘/ as sysdba’(使用sys用户登录数据库) Sql>(系统提示连接到一个没有启动的实例) Sql>startup(正常启动数据库) 2、WINDOWS平台数据库启动方法 使用手工方式启动数据库。

?打开DOS窗口 ?C:\>ordim –startup –sid ora9i(其中ora9i为实例的名称) 在WINDOWS平台启动ORACLE时经常遇到如下错误: 以上错误是由于,没有启动ORACLE数据库在WINDOWS平台中的服务。 正确启动过程如下:

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba)(PORT=1521)) )正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))) LISTENER 的STATUS ------------------------ 别名LISTENER 版本TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc tion 启动日期28-7月-2006 22:24:16 正常运行时间0 天0 小时0 分 4 秒 跟踪级别off 安全性OFF SNMP OFF 监听器参数文件c:\oracle\ora92\network\admin\listener.ora 监听器日志文件c:\oracle\ora92\network\log\listener.log 监听端点概要... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXT PROC0ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dba)(PORT=1521)) ) 服务摘要.. 服务"PLSExtProc" 包含 1 个例程。 例程"PLSExtProc", 状态UNKNOWN, 包含此服务的 1 个处理程序... 服务"oracle" 包含 1 个例程。 例程"ora9i", 状态UNKNOWN, 包含此服务的1 个处理程序... 命令执行成功 C:\>sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.1.0 - Production on 星期五7月28 22:24:47 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 连接到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production

Oracle 操作流程

Oracle 操作流程 Oracle10g 装好后,我们以sys帐户,sysdba 身份进入到数据库控制台。 1)登陆进行后,我们在管理――》存储――》表空间里面创建表空间. (我们注意要创建分别创建表空间和临时表空间) 2)表空间创建好后,我们在管理――安全性――用户里面创建新用户. 2.1 在进入到创建用户页面里面,我们要注意给“默认表空间” 和“临时表空间” 分别赋上前面我们创建的表空间和临时表空间。 2.2 我们选取页面上的用户――》创建用户――》角色――》修改――》可用角色 可以看到左右两个列表框. 在左边的可用角色中,我们选取DBA,然后点击页面中间的移动图标,即给当前所创建的用户赋予DBA 角色.然后单击确定. 2.3 我们选取页面上的用户――》系统权限――》修改, 可以看到新页面有左右两个列表框,我们在左边的“可用系统权限” 中选取 “SYSDBA”并单击页面中间的移动图标,即给当前系统赋予SYSDBA 角色。然后单击确定. 用PL/SQL连接数据库 在“开始” ――》Oracle –Oradb10g ――-》Configuration and Migration Tools ――》Net Manager ,打开Oracle Net Manager 管理工具。 点击Oracle Net 配置――》本地――》服务命名前句的”+” , 我们再在点击左边的那个绿色的导航条

这样可以启动Net 服务名向导. 我们在中间的文本框中输入net 服务名..如Winning 点击下一步,进到第二页,默认选中为“Tcp/IP(Internet协议)”,我们选中默认, 点击下一步.进到第三页,有两个文本框,上面是主机名,即Oracle 装在哪台机器上.如172.16.130.167 下面是Oracle 的端口,默认为1521.由于我们没更改端口,所以选默认. 点击下一步,我们可以看到Oracle 的服务名配置页面,由于我们装的是10g,在上面的服务名填写我们Oracle10g 安装时的服务名.即实例名.这个很重要.不要弄错了.由于我本机当初的实例名是ORA10.所以这里填写ORA10.下面, 我们点击下一步,进入最后一个页面.这是一个测试页面,用户可以点击测试.若看到以下页面,则表示, Net Manager 配置正确. 我们点击关闭,结束配置过程.注意在最后有一个对话框,我们选择保存,以保存我们前面配置的选项

oracle启动的三个阶段

oracle启动的三个阶段 三个阶段: 1. 启动到nomount状态,这个阶段数据库读取spfile/pfile文件中的参数,启动数据库实例。 1-1读取初始化参数文件.注意读取顺序.主要是指定控制文件及数据库实例名1-2分配系统全局区 1-3启动后台进程 1-4打开alertSID.log文件和跟踪文件 补充说明: 在nomount阶段,oracle 会查找参数文件,启动实例,参数文件的查找顺序为spfile.ora,init.ora,init.ora如果以上三个文件均查找不到oracle 在此时就会报错,同时在此阶段oracle会查找alter文件,如果没有找到alter 文件会自动创建;启动相应的后台进程至少包括五个 pmon,DBWn,ckpt,smon,LGWn。总之,这个阶段主要就是启动一个实例,并为加载数据库确定必要的参数。 2. 启动到mount状态,这个阶段数据库打开控制文件,验证控制文件。 2.装载数据库--startup mount,读控制文件等 2-1将数据库与一个已打开的实例相关联 2-2打开控制文件 2-3获取数据文件和重做日志文件的名称和状态.

补充说明: 在mount阶段,oracle会打开控制文件,加载数据库,此时数据库的基本结构信息都能够查询了,但是还不能查询用户表的内容。 3. 启动到open状态,这个阶段数据库打开控制文件里描述的文件。 3.打开数据库--database open 3-1打开数据文件 3-2打开联机重做日志文件. 补充说明:

在open阶段,就是打开数据库,在这个阶段SMON会对数据文件的检查点进行一致性检查,不一致时smon会介入进行恢复。 Oracle中数据库实例和数据库是独立实体,可以独立存在。因此启动过程分成多个阶段:首先在内存中构建实例,然后通过安装数据库启用到数据库的连接,最后打开数据库来使用它。Oracle数据库有四种状态:SHUTDOWN:所有数据库文件都关闭,不存在实例 NOMOUNT:实例在内存中创建(SGA已经被创建,根据参数文件指定启动某些后台进程),但没有连接到任何数据库。 MOUNT:实例定位并读取数据库控制文件。 OPEN:所有的数据库文件都被定位和打开,终端用户可以使用数据库。 数据库的启动可分为三个阶段: 1、nomount:在这一阶段,只需要读取initSID.ora文件,启动数据库实例,创建后台进程。在initSID.ora文件中,可以定位SPFILEORAC.ora文件,这是参数文件,通过它可以初始化SGA和启动后台进程。并可以定位控制文件位置。在此阶段,可以执行的操作有:重建控制文件,重建数据库。 2、mount:在nomount阶段,可以通过读取控制文件来转换到mount阶段。在数据库加载阶段(mount),所有的数据文件和联机日志文件的名称和位置都从控制文件中读取,但是并没有真正查找这些文件。在此阶段,可以执行的操作有:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重定位数据文件和联机日志文件。

服务器(ORACLE)启动与关闭

服务器(O R A C L E)启动 与关闭

一、重启服务器顺序: 关闭数据库(toppord/toptest)→重启设备(reboot)→开启数据 库(只需要开启toptest,topprod已设置自动启用) 二、Linux下启动 oracle 数据库 -- ssh连接上数据库主机,正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su – root/tiptop -- su – oracle -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) # 设置实例 -- lsnrctl start -- sqlplus / as sysdba -- startup 至此,已将数据库开启到OPEN状态。 三、Linux下关闭ORACLE数据库 -- ssh连接上正式区DB(172.16.13.228) / 测试区DB(172.16.13.224) -- su - root/root #切换至ROOT管理员用户 -- su – oracle #切换至oracle用户(oracle用户密码原为oracle,但不正 确) -- echo $ORACLE_SID #检查当前实例 -- export ORACLE_SID=topprod(正式区)/ export ORACLE_SID=topprod(测试区) #设置实例

-- sqlplus / as sysdba #以数据库管理员身份进入数据库 -- shutdown immediate #关闭数据库 -- su – root/root #切换回系统ROOT用户 -- reboot #重启服务器 检查服务器资源命令 AP:top DB:topas 备注: oracle数据库几种关闭方式: 1、shutdown normal 正常方式关闭数据库 关闭时间较长,等待事务完成才会关闭数据库。 2、shutdown immediate 立即方式关闭数据库(一般使用该方式) 会结束事务,将未提交的事务全部回滚。在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。 3、shutdown abort 直接关闭数据库 会造成数据库的不一致,再次启动数据库会自动执行恢复,会造成等待时间较长。正在访问数据库的会话会被突然终止,如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

Oracle 数据库启动过程各步骤详解

Oracle 数据库启动过程各步骤详解 Oracle数据库的完整启动过程包含以下3个步骤:简单地说,就是:启动实例-->加载数据库-->打开数据库.------------------------------------------------------------------------------------------------------------------ 1.创建并启动与数据库对应的实例。在启动实例时,将为实例创建一系列后台进程和服务进程,并且在内存中创建SGA 区等内存结构。在实例启动的过程中只会使用到初始化参数文件,数据库是否存在对实例的启动没有影响。如果初化参数设置有误,实例将无法启动。 2.为实例加载数据库。加载数据库时实例将打开数据库的控制文件,从控制文件中获取数据库名称、数据文件的位置和名称等有关数据库物理结构的信息,为打开数据库做好准备。如果控制文件损坏,则实例将无法加载数据库。在加载数据库阶段,实例并不会打开数据库的物理文件----数据文件和重做日志文件。 3.将数据库设置为打开状态。打开数据库时,实例将打开所有处于联机状态的数据文件和重做日志文件。控制文件中的任何一个数据文件或重做日志文件无法正常打开,数据库都将返回错误信息,这时需要进行数据库恢复。只有将数据库设置为打开状态后,数据库才处于正常状态,这时普通用户才能够访问数据库。在很多情况下,启动数据库时并不是直接完成上述

3个步骤,而是逐步完成的,然后执行必要的管理操作,最后才使数据库进入正常运行状态。所以,才有了各种不同的启动模式用于不同的数据库维护操作。 ============================================== ===============================Oracle 数据库启动与关闭各种方式详解整理 前言: 首先要知道,Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤:启动实例-->加载数据库-->打开数据库详解看这里: https://www.wendangku.net/doc/318759277.html,/lutinghuan/article/details/7484103因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操作,对应我们不同的需求,所以就需不同的模式启动数据库。 小白:在启动实例之前,需要先启动SQL*Plus,并以一个用户身份连接到Oracle。启动模式详解1.NoMount 模式(启动实例不加载数据库)命令:startup nomount 讲解:这种启动模式只会创建实例,并不加载数据库,Oracle 仅为实例创建各种内存结构和服务进程,不会打开任何数据文件。在NoMount模式下,只能访问那些与SGA区相关的数据字典视图,包括V$PARAMETER、V$SGA、V$PROCESS 和V$SESSION等,这些视图中的信息都是从SGA区中获

NBU 异机恢复ORACLE基本步骤

storage@https://www.wendangku.net/doc/318759277.html, NBU 异机恢复ORACLE基本步骤 1、在主备份服务器上创建文件: #mkdir /usr/openv/netbackup/db/altnames #touch /usr/openv/netbackup/db/altnames/No.Restrictions 注意文件名称中的大小写 2、在需要恢复的主机上安装好ORACLE数据库以及NBU软件(包括Client 端软件以及Oracle agent软件),并且创建一个Oracle用户,注意该用户的名称和所属的组都要和原备份主机上的用户一致。(本文档假设用户名为oracle) 注意在此步骤中最好将原主机上创建过的一些文件目录或系统都创建好,需要mount好的文件系统也挂接好。注意各文件系统以及创建目录的属性,将属主都更改为Oracle用户。另外如果可能,最好将原主机上的oracle用户的.profile文件拷贝到当前oracle用户的主目录下。 3、通过NBU将原主机上备份的controlfile文件恢复到新主机上的指定位置(可以检查init.ora文件来确定文件位置) 通过使用NBU的图形界面,可将controlifle恢复到新主机的指定位置上。 4、在新主机上启动数据库: #su - oracle $sqlplus "/as sysdba" sql>shutdown immediate; sql>startup mount; sql>exit;

storage@https://www.wendangku.net/doc/318759277.html, 5、使用nocatalog方式连接到目标数据库并执行恢复语句: #su - oracle $rman target / nocatalog RMAN>run { 1>allocate channel ch00 type 'sbt_tape'; 2>restore database; 3>release channel ch00; 4>} RMAN>exit 对数据库进行recover恢复,并启动数据库。注意在做此步骤前,要先检查原主机上是否有没有备份的archive log,如果有则拷贝到新的主机上。 #su - oracle $rman target / nocatalog RMAN>run { 1>allocate channel ch00 type 'sbt_tape'; 2>recover database; 3>release channel ch00; 4>} RMAN>alter database open resetlogs; RMAN>exit 6、在数据库恢复完毕后,立刻对新的数据库进行一次全备份操作 7、本文档的例子都是使用nocatalog方式。如果用户是使用catalog方式,则需要注意两点: a、数据库连接方式不同。使用catalog方式的时候,需要使用语句 rman target / rcvcat [catalog库的监听器] 来进行数据库的连接 b、恢复controlfile的方式不同,通过如下脚本恢复: 1、确保数据库已经停止,然后将数据库启动到nomount状态: #su - oracle $sqlplus "/as sysdba" sql>shutdown immediate; sql>startup nomount; sql>exit;

Oracle 启动LogMiner

Oracle 启动LogMiner 在为LogMiner创建了字典文件,并且指定了要分析的重做日志文件列表后,就可以启动LogMiner开始分析日志文件了。执行DBMS_LOGMNR.START_LOGMNR过程将启动LogMiner。 启动LogMiner非常方便,只需要执行DBMS_LOGMNR.START_LOGMNR过程即可。在执行该过程时,需要为参数DICTFILENAME中指定一个已经建立的字典文件。例如,下面的语句在执行DBMS_LOGMNR.START_LOGMNR过程时,指定了前面所创建的字典文件e:\orcldata\logminer\sqltrace.ora: SQL> execute dbms_logmnr.start_logmnr(dictfilename=>'e:\orcldata\logminer\sqltrace.ora'); PL/SQL 过程已成功完成。 如果不指定字典文件,那么生成的分析结果中将使用Oracle内部的对象标识和数据格式,这些数据的可读性非常差。指定字典文件后,Oracle会将内部对象标识和数据类型转换为用户可读的对象名称和外部数据格式。 另外,如果在执行DBMS_LOGMNR.START_LOGMNR过程时没有指定其他参数,则在分析的结果中将包含重做日志文件的所有内容。因此,DBA可以在启动LogMiner时,为其限定要分析的范围。DBMS_LOGMNR.START_LOGMNR过程提供了基于分析日志时间和SCN号的参数,它们分别是:表示分析的起始/结束SCN号的STARTSCN/ENDSCN;表示分析的起始/结束时间的STARTTIME/ENDTIME。 例如,下面的语句在执行DBMS_LOGMNR.START_LOGMNR过程时,将过滤2008年5月1日以前的数据。 execute dbms_logmnr.start_logmnr(dictfilename=>'e:\orcldata\logminer\sqltrace.ora', starttime=>to_date('2008/05/01 01:00:00','yyyy/mm/dd hh:mi:ss'), endtime=>to_date('2008/05/10 10:30:00',' yyyy/mm/dd hh:mi:ss ')); 在使用SCN号了限定分析范围时,必须明确地知道事务的SCN范围,这通常可以从重做日志的基本信息中获取。

oracle服务启动后又停止问题

错误描述:本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止了。一些服务自动停止,如果它们没有什么可做的,例如"性能日志和警报"服务。 出错原因:由于本地的IP地址是自动获取的,每次获取的IP地址基本不同,而安装10g 是,默认的把当时的IP地址写在了监听配置文 件%ORACLE_HOME%\db_1\NETWORK\ADMIN\listener.ora 解决办法:%ORACLE_HOME%\db_1\NETWORK\ADMIN\listener.ora把这这文件里的内容改下HOST=你的计算机名字,重启下便可。 其他错误信息及解决办法: 1,ORA:-12545:因目标主机和对象不存在,连接失败 错误代码ORA-12545表示网络连接串(即tnsnames.ora文件中的HOST处)中使用的机器名和IP地址不存在,重新修改和重新连接即可。 2,ORA-12651:TNS:没有监听器 该信息说明所要连接的服务器没有启动监听进程Listener(该进程为Oracle服务器上操作系统进程,监听进程没有启动时,服务器可以正常进行,但是客户端不能与服务器产生连接。这时可以在服务器使用操作系统命令lsnrctl正常起启动监听进程) 3,ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 产生原因:这种错误通常为ORACLE的内部错误,只对OSS和ORACLE开发有用。ORA-600的错误经常伴随跟踪文件的状态转储(系统状态和进程状态),系统状态存储将包括ORACLE RDBMS持有的当前对象的信息,进程状态转储则将显示特殊进程持有的对象,当进程符合了某错误条件时,经常是由于一些信息取自它持有的一个块,如果我们知道这些错误进程持有的块,就容易跟踪问题的来源。 解决方法:一般来说出现这个错误我们本身是无法解决的,只有从提高系统本身各方面来解决这个内部问题,如增加硬件设备,调整系统性能,使用OPS(当然OPS从某种意义上说并不是一种好的解决方式)等。ORA-600错误的第一个变量用于标记代码中错误的位置(代码中的每个部分的第一变量都不一样),从第二个到第五个变量显示附加信息,告诉OSS代码在哪里出现了错误 4,ORA-12560 协议适配器错误: 有关ORA-12560: TNS:协议适配器错误的问题 ①.检查Terminal Service, 远程桌面是不是起因 ②.环境变量set oracle_sid=需要的服务名

oracle体系结构及客户端启停数据库过程

详解Oracle的体系结构及客户端调用数据库过程,客户端对数据库启动关闭过程及注意事项。 Oracle服务器由oracle实例,oracle数据库组成。而oracle数据库是由数据文件,控制文件,日志文件组成。Oracle实例是由SGA内存,oracle后台进程组成。SGA(Shared Global Area)是oracle实例的基本组成部分,是一组包含一个Oracle实例的数据和控制信息的共享内存结构。它由共享池(share pool)由数据字典缓存(data dictionary cache),库数据高速缓存(library cache),数据高速缓存(data buffer cache),重演日志缓存(redo log buffer)组成;oracle后台进程是由数据库写进程(DBWR)、日志写进程(LGWR)、校验点进程(CKPT)、系统监控进程(SMON)、进程监控进程(PMON)、实例恢复(RECO)、归档日志(ARCH)、管理用户服务器进程(Dnnn)。具体oracle数据库体系结构如:图1 图1 oracle数据库的体系结构图 客户端对数据库的操作具体的调用过程:1.用户操作通过客户端进程(client process)调用服务器端进程(server process)。2.PGA(程序全局域)的服务端进程将用户的操作信息送入SGA(系统全局域)。3.用户的操作通过与数据全局域的数据进行比对,如果比对成功,则将操作结果返回给用户,如果

SGA中没有则通过服务端进程将数据文件调入SGA,再与SGA进行比对,将操作结果返回给用户,并将用到的数据块信息存入SGA。如图2: 图2 客户端调用数据库过程图 Oracle数据库的关闭启动过程总结与注意: 数据库的启动过程:1.启动实例,oracle通过调用spfile或pfile(默认spfile)参数文件对SGA内存分配,同时通过参数文件找到control files。2.加载数据库,打开并将参数文件mount挂载,同时通过control files找到data files、redolog files。3.打开数据库,打开data files、redolog files完成数据库的打开。应注意事项:1.要以sys sa sysdba的身份登录到数据库,否则以普通用户进入是没有权限打开数据库的。2.启动数据库时要保证参数文件及控制文件,数据文件,联机重做日志文件等文件的存在。3.要注意配置好内存参数,否则会出现很多问题。 数据库的关闭过程:1.关闭数据,即将SGA等内存参数写入到控制文件,同时将内存中的数据写入到数据文件及联机重做日志文件。2.卸载数据库,即将data files、redolog files的信息写入control files,并关闭control files。

Oracle数据库重新启动的方法

Oracle数据库重新启动的方法 2010-11-15 10:02 佚名互联网我要评论(0)字号:T | T Oracle数据库是大家都非常熟悉的数据库系统,下文就将教您重新启动Oracle的详细步骤方法,希望可以对您能有所帮助。 AD: Oracle数据库重新启动应该如何实现呢?这是很多人都提到过的问题,下面就为您详细介绍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 head off; set feedback off; set newpage none; spool /oracle_backup/bin/kill_all_session.sql select 'alter system kill session '''||sid||', '||serial#||''';' from v$session where username is not null; spool off; 6. 在独占的系统用户下,执行杀数据库用户连接的kill_all_session.sql文件: SQL>@/oracle_backup/bin/kill_all_session.sql

相关文档