当前位置:文档之家› Oracle 10g更强大的回闪数据库功能

Oracle 10g更强大的回闪数据库功能

Oracle 10g更强大的回闪数据库功能
Oracle 10g更强大的回闪数据库功能

Oracle 10g更强大的回闪数据库功能

【IT168 服务器学院】用一个简单的SQL语句将一个表或者整个数据库恢复到以前的某一点。

除夕之夜,Acme银行的数据库管理员(DBA)John正在和他的朋友们一起狂欢,倒计时迎接新的一年的到来。就在子夜钟声敲响、人群欢呼之时,他的寻呼机突然响了。在银行的数据中心,在年末进行利息累机批处理簿记过程中发生了错误,所有的利息计算都不准确。幸好开发团队找出了错误所在,并开发一个应急纠正模块,但这一纠正模块不能恢复已经造成的破坏。部门经理问John是否有什么方法能往回倒一些时间,将数据库恢复至该批处理开始之前的状态,该批处理大约是在晚上11:00开始的。

对于DBA们来说,这不是一件很熟悉的事吗?John的选择是什么呢?

在Oracle数据库10g之前,John可能会做一个"时间点"恢复,来将数据库恢复至所希望的某一时刻的状态。不幸的是,银行的定期日常备份大约就是在那个时间开始,这就意味着他将不得不用接近24小时的有价值的归案日志来恢复数据库。

Oracle9i数据库中提供的另一种选择是使用回闪查询特性来重建到晚上11:00为止的该表的各行,并手动生成一组不同的表。这一方法尽管理论上可行,但如果表的数量很大,则会变得不切合实际。

幸运的是,John现在的数据库是Oracle数据库10g,所以他拥有更多的选择。

回闪表

让我们来看一下上面的情况。出问题的年末批处理可能仅影响少数表。例如,它可能仅用新的账户结余更新了ACCOUNTS表。如果确实是这种情况,则John可以使用回闪表特性,它会将一个表恢复到一个过去的时间点的状态。

执行回闪表操作不需要特殊的设置。唯一的要求是表必须具有可移动的行--或者是在创建表时设置,或者是在以后利用ALTER TABLE ACCOUNTS ENABLE ROW MOVEMENT 语句设置。FLASHBACK TABLE语句从撤消段中(undo segment)读取该表的过去映像,并利用Oracle9i中引入的回闪查询重建表行。

如果模式所有者之外的非DBA用户执行回闪表操作,她需要拥有对该表的SELECT、DELETE、INSERT、ALTER和FLASHBACK权限,或者拥有等价的ANY TABLE系统权限。

对于John来说,ACCOUNTS像以下的样子:

ACCOUNT_NO NUMBER(12),

BALANCE NUMBER(15,2)

STATUS CHAR(1)

STATUS的列值通常为"A"(active,活动),但是当利息计算应用程序启动时,所有的账户均被冻结,此状态也被更新为"F"(frozen,冻结)。当对每一账户都计算了利息后,该

状态被更新为"I"(interest applied,利息已计算)。

下面是John用使用回闪表特性的步骤:

他索要一个大概的时间点,在这一点上数据库必须被重新检查,答案是大约晚上11:00。

他定义一个期望返回到的逻辑参考点。下面是他现在查询该表时所看到的内容:

select status, count(*)

from ACCOUNTS

group by status;

STATUS COUNT(*)

--------------

I27088

F19999

该输出显示到目前为止已经有27 088个账户被处理(状态=I)。此前的状态为"A",这不是John所希望返回的位置。所希望的逻辑参考点应该是所有账户的状态都为"F"的时间点。他必须恢复到所有账户状态都为"F"的状态,这大约发生于晚上11:00。

他检查一个状态="I"的当前示例账户,以便为未来的校验测试设定一个基线:

select account_no, balance

from ACCOUNTS

where status = 'I'

and rownum < 2;

ACCOUNT_NO BALANCE

-------------------

216333913.49

他发出这一语句将ACCOUNTS表恢复至那个时间:

flashback table ACCOUNTS to timestamp

to_timestamp ('12/31/2003 23:00:00','mm/dd/yyyy hh24:mi:ss');

瞧!整个表被恢复到那个时间的状态了。只要撤消段中所保存的撤消数据允许,John 便可以回闪到过去的某个时间点。John也可以不用时间标记(stamp),而是使用系统改变数目(system change number,SCN),如下所示:

flashback table ACCOUNTS

to SCN 38;

此表已被恢复至晚上11:00的状态,但这是不是所希望的时间点状态呢?John再次检查

select status, count(*)

from ACCOUNTS

group by status;

STATUS COUNT(*)

--------------

I88

F46999

仍然有88个记录的状态为"T"。所以,晚上11:00还不够早,John不得不返回到更早的一个时间点。他将该表回闪到更早的一个时间点上--晚上10:30--然后再次检查状态:

flashback table ACCOUNTS to timestamp

to_timestamp ('12/31/2003 22:30:00','mm/dd/yyyy hh24:mi:ss');

select status, count(*)

from ACCOUNTS

group by status;

STATUS COUNT(*)

--------------

A47087

John返回到的过去时间太远了些,所有账户的状态都为"A",这是"F"状态之前的一个状态。于是,他不得不向后滚动一段时间,滚动到晚上10:45。

flashback table ACCOUNTS to timestamp

to_timestamp ('12/31/2003 22:45:00','mm/dd/yyyy hh24:mi:ss');

select status, count(*)

from ACCOUNTS

group by status;

STATUS COUNT(*)

--------------

F47087

这正是他希望的时间点。他通过选择他以前查询过的账户来确证这一点。

select balance

from ACCOUNTS

where account_no = 21633;

BALANCE

-------

3836.75

有效的结余为$3,913.49;返回到了晚上10:45的状态。至此操作完成。可以向前和向后应用任意次回闪操作,直到到达所期望的准确时间点的状态为止。

由于此表永远不会被删除,所以所有的从属对象--如索引、约束条件、触发器等等--都会保持完好无损。引用此表的所有独立对象,如过程等,也都保持有效。即使是对分割表的全局索引也会保留,并保持有效。

除了ACCOUNTS表之外,如果John还希望将TXN表回闪,那么他可以应用许多由逗号隔开的表名,如下所示:

flashback table BANK.ACCOUNTS, bank.txn to scn 1234567;

通过一个功能强大的SQL语句完成了整个回闪表操作。

让我们来研究另一种情况。假设Laura意外地删除了一个关键字查询表--GL_MASTER。意识到这一错误后,她问John能否恢复这个表。在Oracle数据库的以前一些版本中,这需要进行时间点恢复。但在Oracle数据库10g中,删除一个表只是将该表重命名后放置到称作"回收站"的逻辑容器中。

为了恢复此表,John只发出了以下命令:

flashback table gl_master to before drop;

这个表马上就重新出现了,不需要任何恢复操作。请注意,与前面所描述的回闪操作不同,它不需要通过撤消段重建数据;而只是从回收站中将此表取回。

回闪数据库

如果说逻辑上的破坏不限于为数不多的几个表,那么利用Oracle 10g中的Flashback Database(回闪数据库)特性执行数据库时间点恢复可以使恢复更快一些。Flashback Database 不需要利用撤消空间(undo space),而是利用硬盘上被称作快闪恢复区(flash recovery area)的另一区,它与撤消操作无关。Flashback Database允许进行数据库时间点恢复,而不要求你首先恢复你数据库的一个备份。

要回闪整个数据库,John必须进行以下操作为数据库做准备,从而使其具有回闪能力:

通过设置以下两个参数来配置一个大小为2GB的回闪区域:

db_recovery_file_dest = /usr/users/oracle/10.1/recovery_area

db_recovery_file_dest_size = 2G

使用以下参数,以分钟为单位配置最大回闪时间:

db_flashback_retention_target = 1440

这一数值反映出可以返回的最大时间;实际可能的时间由快闪恢复区域的可用空间大小来决定。所以这三个参数都是动态的,并可以使用ALTER SYSTEM命令进行设置。

使数据库能够回闪。为此,它必须处于archivelog模式下。在MOUNT阶段,在OPEN 之前,John发出如下命令:

alter database flashback on;

在启动Flashback Database之后,它定期将已发生变化的块写入一个特殊类型的称作回闪日志的日志文件中。这些日志不是由传统的Log Writer (LGWR) 过程写入,而是由一种称作Recovery Writer (RVWR)的新过程写入。与常规的重做日志(redo logs)不同,回闪日志既不需要由DBA创建,也不需要由他们维护;它们由Oracle Managed Files(OMF)自动在快闪恢复区域所指定的目录中创建。这些文件不会归档,所以,如果在该目录发生介质故障后就不可能再进行恢复。

回闪操作

在所描述的Acme银行的事例中,John认为在他所处的情况下回闪表不太可行。他不得不将整个数据库回滚到过去的某个时间点。他再一次选择晚上11:00作为开始点,并发出以下命令:

flashback database to timestamp

to_timestamp ('12/31/2003

23:00:00','mm/dd/yyyy hh24:mi:ss');

这一操作执行所有的必要任务,如使用来自快闪恢复区域中的信息恢复数据文件,并应用这些改变。现在整个数据库都回滚到其晚上11:00的状态。这里不再需要John执行任何手动恢复。John可以不使用时间标记,而使用SCN进行回闪。警报日志(代码清单1列举了其中某些部分)给出了回闪操作的一些相关信息。它清楚地给出该语句将数据文件恢复到指定SCN数目的状态所采取的一些步骤。

尽管数据库被恢复到了晚上11:00的状态,但仍然存在一个问题--这是不是正确的时间点?John使用在"回闪表"部分提到的同一参考点方法。他以READ ONL Y模式打开数据库,并选择状态,如下所示:

alter database open read only;

select status, count(*)

from BANK.ACCOUNTS

group by status;

STATUS COUNT(*)

--------------

I255

F46832

如果有255个记录其状态为"I",这意味着他还必须返回得更远一些--至晚上10:30,如下所示:

shutdown immediate

startup mount

flashback database to timestamp

to_timestamp ('12/31/2003 22:30:00,

'mm/dd/yyyy hh24:mi:ss');

alter database open read only;

在发出对ACCOUNTS的以下相同查询之后:

select status, count(*)

from BANK.ACCOUNTS

group by status;

他看到所有账户的状态为"A",这意味着他返回得太远了。他必须由该时间点向前移动一些--移至10:45,如下所示:

shutdown immediate

startup mount

flashback database to timestamp

to_timestamp ('12/31/2003 22:45:00,

'mm/dd/yyyy hh24:mi:ss');

alter database open read only;

现在以下的状态查询:

select status, count(*)

from bank.accounts

group by status;

结果显示所有账户的状态均为"F":这就是所需要的准确的时间点位置。只要恢复区域具有必要的回闪日志,并且数据库是以只读模式打开的,那么John就可以来回滚动,以获得正确的时间点位置。现在John已经回闪到他所需要的确切时刻,他可以像下面这些打开数据库进行更新:

shutdown immediate

startup mount

alter database open resetlogs;

请注意,如果数据库是以排它(或只读)方式安装的,那么也可以通过Oracle恢复管理器(Recovery Manager,RMAN)来完成回闪,如下所示:

RMAN> flashback database to scn 00;

Starting flashback at 01-JAN-04

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=10 devtype=DISK

starting media recovery

media recovery complete

Finished flashback at 01-JAN-04

对Flashback Database操作有几条限制。数据库不能回闪至通过RESETLOGS选项它被打开之前的时间点。

如果未恢复或重新创建控制文件,如果已经删除了一个表空间,或者已缩小了一个数据文件。

但是数据的扩展是通过回闪来处理的,所以由于自动扩展选项而发生的文件自动扩展不成为问题。

估算恢复区域的大小

当John在仔细考虑其选项时出现的一个问题是,他可以将数据库回闪到过去的什么时刻?他在两个视图中找到这一答案。第一个视图--V$FLASHBACK_ DATABASE_LOG显示出已经生成了多少回闪日志,并已经将其置于恢复区域中。下面是对该视图的查询,并以垂直格式显示这些列:

select *

from v$flashback_database_log;

OLDEST_FLASHBACK_SCN:11

OLDEST_FLASHBACK_TIME:30-DEC-2003 18:37:09

RETENTION_TARGET:10000

FLASHBACK_SIZE:

ESTIMA TED_FLASHBACK_SIZE:

这表示John最多可以回闪至SCN11或者2003年12月30日的下午06:37:09。根据初始化参数值db_flashback_retention_target,当前预期的回闪保持时间为10 000分钟,但是保持这些多回闪日志的恢复区域大小最小应为列ESTIMATED_FLASHBACK_SIZE的数值。该恢复区域现在保存着16384K字节的回闪信息(FLASHBACK_SIZE)。此估算值有助于John分配足够的恢复区域的空间,以获得很强的回闪能力。

最终出现的另一个问题是,当数据库处于回闪模式时,此记录日志的操作需要多少空间。另一视图--V$FLASHBACK_DATABASE_STAT给出了到目前为止已经收集了多少回闪信息,如代码清单2所示。该视图给出了在由开始时间和终止时间所指定的1小时间隔内所记录的日志信息的总量。FLASHBACK DATA列给出在该时间间隔内已经产生了多少字节的回闪日志。所产生的重做(redo)日志项和发生了变化的数据块已经分别记录在REDO_DA TA 和DB_DATA中。这有助于理解回闪日志生产的本质和估算所需恢复区域的大小。

如果不再需要回闪,那么John可以通过下面命令关闭它:

alter database flashback off;

在恢复区域所生成的所有OMF文件在回闪关闭时会自动被删除。John通过查询视图V$DA TABASE中的FLASHBACK_ON列来验证数据库的回闪状态。

SQL> select flashback_on

from v$database;

FLASHBACK_ON

------------

NO

结论

Oracle 数据库10g中的回闪操作是从在Oracle9i中引入这种操作发展而来的,现已包含表级别的回闪和功能更强大的一些回闪操作,如回闪数据库,在这种操作下,可以将整个数据库恢复到过去的某一时间点。借助回闪功能,DBA可以变为一个精确的时间旅行者,可以准确控制所返回的时间,以及用怎样精细的时间间隔返回。

实验5 数据库监视与性能优化

实验项目名称:数据库监视与性能优化实验学时: 4 同组学生姓名:实验地点: 实验日期:实验成绩: 批改教师:批改时间: 一、实验目的和要求 1、利用索引优化查询性能、优化SQL语句。 2、了解通过对SQL profiler跟踪系统运行数据。 二、实验仪器和设备 设备:奔腾Ⅳ或奔腾Ⅳ以上计算机; 环境:WINDOWS 7 或WINDOWS XP、Microsoft SQL Server 2008。 三、实验过程 1、完成以下的实验。 1)使用对象资源管理器创建、管理索引 ①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。 ②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。 ③删除索引“员工表_员工号”。 2)使用T-SQL语句创建、管理索引 ①为员工表创建一个索引名为“emp_id”的唯一性非聚集索引,索引关键字是“员工号”,填充因子80 % 。 ②重命名索引,将索引“emp_id”重命名为“员工表_员工号”。 ③为员工参与项目表创建一个索引名为“员工_项目_index”的非聚集复合索引,索引关键字为“员工号”,升序,项目编号,降序,填充因子50%。 ④删除索引“员工表_员工号”和“员工_项目_index”。 3)索引前后的执行计划 ①删除员工表中员工号上的主键。按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表和员工参与项目表中的员工号都没有索引)②为员工参与项目表创建一个索引名为“员工参与项目_员工号”的非聚集索引,索引关键字为“员工号”,升序;按员工姓名和项目名称查询对应的职责,然后观察执行计划信息,计算总的I/O和CPU开销。(员工表中员工号没索引,员工参与项目表中的员工号有非聚集

Oracle10g的数据迁移方案

Oracle10g的数据迁移方案 2009-03-27 08:18 Lora是Acme银行的数据库管理员,她现在在该银行高层管理团队高级会议上成了大家最关注的核心人物。这次会议的目的是确定一些方法,来使最终用户能够详细分析公司主数据仓库中的数据。会上提出的一种想法是创建几个小型数据集市--每个集市根据一个特定的职能范围存储数据--这样每个数据集市就可以由专门的团队来使用。 为了有效地实现数据集市的方法,数据专家必须能将数据快速、有效地放入数据集市中。该团队面临的挑战就是解决如何用数据仓库中的数据快速刷新数据集市中的数据,而这些数据集市又运行在各个结构不同的平台上。这就是Lora为什么出席会议的原因。她会为移动数据提出哪些可供选择的方法呢? 作为一名经验丰富、知识渊博的数据库管理员,Lora向与会者提供了三种可能的方法,分别是: 使用可移动表空间 使用数据泵(导入和导出) 拖出表空间 本文介绍Lora对这三种可选方法的解释,包括它们的实施细节和优缺点。 可移动表空间 Lora从可移动表空方法开始介绍。把整个表空间移动到目标系统的最快速方法是用FTP(文件传输协议)或rcp(远程复制)来简单地转移表空间的基本文件。但是,仅仅复制Oracle数据文件还不够,目标数据库必须识别出并导入文件以及相应的表空间,最终用户才能使用表空间数据。使用可移动表空间包括复制表空间文件和使它们中的数据在目标数据库中可用。 在考虑该方法之前必须进行一些审查。首先,对于要转移到目标系统的表空间TS1,它必须是自含式的(self-contained)。也就是说,在该表空间中表的所有索引、分区及其他从属于该表的各数据段都必须在该表空间内部。Lora解释说,如果一个表空间集合包含所有从属的数据段,那么就认为这个集合是自含式的。例如,如果表空间TS1和TS2要作为一个集合进行转移,TS1中的一个表在TS2中有一个索引,则这个表空间集合就是自含式的。但是,如果TS1中的一个表另一个索引在表空间TS3中,则该表空间集合 (TS1, TS2)就不是自含式的。 要移动表空间,Lora提议使用Oracle数据库10g中的数据泵导出(Data Pump Export)工具。数据泵是Oracle的新一代数据转移工具,它替换了早期的Oracle Export (EXP)和Import (IMP)工具。这些老的工具使用正则SQL来提取和插入数据,而数据泵则与它们不同,它使用能绕过SQL缓冲区的专用API,从而使操

oracle性能监控sql-监控当前会话、执行的sql及io等信息

Oracle sql --MingJie Tian sql plsql developer sga select * from v$sgainfo; io io select v$sess_io.*,(block_gets+consistent_gets) reads, ((block_gets+consistent_gets-physical_reads)/(block_gets+consistent_gets)) ratio from v$sess_io where (block_gets+consistent_gets)>=1000 order by (block_gets+consistent_gets) desc; sql select last_load_time, disk_reads, sorts, fetches, buffer_gets, optimizer_cost, cpu_time, sql_fulltext, sql_text from v$sql where to_char(last_load_time)> '2011-05-10/14:00:00' # sql order by last_load_time desc; io select a.sid, block_gets, consistent_gets, physical_reads, block_changes, consistent_changes, b.serial#, https://www.doczj.com/doc/b713952592.html,ername, https://www.doczj.com/doc/b713952592.html,mand, b.server, b.machine, b.terminal, b.program

windwows server 2008安装oracle10g数据库

windwows server 2008安装oracle10g数据库操作步骤 1.Oracle 10g版本是10. 2.0.1.0 2.选择Oracle安装目录及数据库登录密码。如下图中红色标识,密码为:Test。 3.如果是windwows server 2008 系统下,点击“下一步”安装Oracle 10g 会提示“程序异 常终止,发生未知错误”。如下图所示: 关于此问题的解决方法如下: 3.1点击取消按钮,退出安装程序。

3.2.修改Oracle 10G(安装文件)\database\stage\prereq\db\refhost.xml 当打开refhost.xml 文件 在后面添加 3.3.到install目录中找到oraparam.ini文件,把 #Windows=4.0,5.0,5.1,5.2 修改成 #Windows=4.0,5.0,5.1,5.2,6.1 并在后面添加 [Windows-6.1-required] #Minimum display colours for OUI to run MIN_DISPLAY_COLORS=256 #Minimum CPU speed required for OUI #CPU=300 [Windows-6.1-optional] 4.右键setup.exe,属性->兼容性->以兼容模式运行这个程序Windows Server 2003,并以管 理员身份运行。如下图所示: 5.运行程序后,安装步骤2填写完后,点击“下一步”即可进入安装界面。如下图:

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

第3章 自动数据库性能监视器

第3章自动数据库性能监视器 自动数据库性能监视器(ADDM)自动检查和报告数据库的性能问题。结果作为ADDM调查报告显示在Oracle企业管理器的数据库主页中,审查ADDM调查结果让你可以快速找出性能问题。 每个ADDM调查结果都提供了一串有关减少性能问题影响的建议,审查ADDM调查结果并执行建议是你每天正常维护数据库应该要做的事情,即使数据库处于未最佳的性能状态,你也应该继续使用ADDM监视数据库性能。 3.1 自动数据库诊断监视器概述 ADDM是构建在Oracle数据库内部的自我诊断软件,ADDM检查并分析自动工作量仓库(AWR)捕获到的数据,确定Oracle数据库可能存在的性能问题,然后它定位性能问题的根本原因,为纠正这些性能问题提供建议,并量化预计的性能收益,ADDM也可以识别不需要行动的区域。 3.1.1 ADDM分析 每次AWR快照(默认每小时一次)后就会执行ADDM分析,分析报告保存在数据库中,你可以通过Oracle企业管理器来查看这些报告,在使用本指南描述的另一个性能调整方法之前,先审查一下ADDM分析报告。 ADDM分析是从上到下执行的,首先确定症状,然后完善分析报告,指出导致性能问题的根本原因,ADDM使用DB time统计信息确定性能问题,DB time是数据库除了用户请求花去的递增式时间,包括等待时间和所有非空闲会话的CPU时间。 数据库性能调整的目标是减少给定工作量的DB time,通过减少DB time,数据库使用相同数量的资源可以支持更多用户请求,ADDM报告使用了大量DB time的系统资源,将其显示在问题区域,并按消耗的DB time数量进行倒序排序,关于DB time统计信息的更多信息请参考"时间模型统计"小节的内容。 3.1.2 ADDM建议 除了诊断性能问题外,ADDM还会给出建议解决方案,并且有时会建议多个可选的解决方案让你选择,ADDM建议包括: 硬件改造 添加CPU或修改I/O子系统配置 数据库配置 修改初始化参数配置 方案修改 对表或索引进行哈希分区,或使用自动段空间管理(ASSM) 修改应用程序 为序列使用缓存选项或使用绑定变量 使用其它顾问 在高负载SQL语句上运行SQL调整顾问或在热点对象上运行分段顾问。 ADDM应用在生产系统上受益良多,即使在开发和测试系统上,ADDM也可以提前提供潜在的性能问题警报。 性能调整是一个反复的过程,修复一个问题可能会导致瓶颈转移到系统的其它部分,即使使用ADDM分析报告,也要经过多次反复的调整才能使性能达到理想的水平。 3.1.3 Oracle真正应用集群中的ADDM 在Oracle真正引用集群(Oracle RAC)环境中,你可以使用ADDM分析整个数据库集群的性能,Oracle RAC中的ADDM会认为DB time是所有数据库实例数据库时间的总和,它只会报告集群级别的重要分析结果,例如,考虑局部各个集群节点的I/O水平就没什么意义,但所有节点的I/O水平的总和对于判定集群问题就显得很重要了。 3.2 配置自动数据库诊断监视器 3.2.1 设置初始化参数启用ADDM 默认情况下自动数据库诊断监视功能是被启用的,由初始化参数CONTROL_MANAGEMENT_PACK_ACCESS和STATISTICS_LEVEL控制。 CONTROL_MANAGEMENT_PACK_ACCESS初始化参数应该被设置为DIAGNOSTIC+TUNING(默认)或DIAGNOSTIC以确保启用自动数据库诊断监视器,如果将CONTROL_MANAGEMENT_PACK_ACCESS设置为NONE,就会禁用掉许多Oracle数据库特性,包括ADDM,强烈建议不要这么做。

Oracle审计(Audit)监视用户所执行的数据库操作实例

Oracle审计(Audit)监视用户所执行的数据库操作: A、审计相关的表安装: SQL> conn sys/???? as sysdba; SQL> select * from sys.aud$; SQL> select * from dba_audit_trail; 如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。 SQL> @$ORACLE_HOME/rdbms/admin/cataudit.sql 审计表安装在SYSTEM 表空间, 所以要确保SYSTEM 表空间又足够的空间存放审计信息。 B、激活审计: SQL> show parameter audit; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_file_dest string D:\APP\ADMIN\ADMIN\ORCL\ADUMP audit_sys_operations boolean FALSE audit_trail string DB SQL> alter system set audit_sys_operations=TRUE scope=spfile; System altered SQL> alter system set audit_trail=db_extended scope=spfile; System altered ------------------------------------------*****----------------------------------------

oracle10g创建数据库的方法

在Oracle中建库,通常有两种方法。一是使用Oracle的建库工具DBCA,这是一个图形界面工具,使用起来方便且很容易理解,因为它的界面友好、美观,而且提示也比较齐全。在Windows系统中,这个工具可以在Oracle程序组中打开(‖开始‖—―程序‖—― Oracle - OraDb10g_home1‖—― Configuration and Migration Tools‖—― Database Configuration Assistant‖),也可以在命令行(‖开始‖—―运行‖—―cmd‖)工具中直接输入dbca来打开。另一种方法就是手工建库,下面我会一一举例说明。 第一:手工建库 手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库需要经过几个步骤,每一个步骤都非常关键。它包括: 1、创建必要的相关目录 2、创建初始化参数文件 3、设置环境变量Oracle_sid 4、创建实例 5、创建口令文件 6、启动数据库到nomount(实例)状态 7、执行建库脚本 8、执行catalog脚本创建数据字典 9、执行catproc创建package包 10、执行pupbld 11、由初始化参数文件创建spfile文件 12、执行scott脚本创建scott模式 做完了以上的步骤之后就可以使用―SQL>alter database open;‖打开数据库正常的使用了。下面,我将具体地把以上的几个步骤用实验展开来讲。 实验系统平台:Windows XP 数据库系统版本:Oracle Database 10G Oracle的安装路径:D盘创建的数据库名称:book 1、打开命令行工具,创建必要有相关目录 C:/>mkdir D:/oracle/product/10.2.0/admin/book

Oracle数据库测试人员必知

ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>shutdown SVRMGR>quit 启动oracle9i数据库命令: $ sqlplus /nolog SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> connect / as sysdba Connected to an idle instance. SQL> startup^C SQL> startup ORACLE instance started. 2、在双机环境下 要想启动或关闭ORACLE系统必须首先切换到root用户,如下 su -root a、启动ORACLE系统 hareg -y oracle b、关闭ORACLE系统 hareg -n oracle

Oracle数据库有哪几种启动方式 说明: 有以下几种启动方式: 1、startup nomount 非安装启动,这种方式启动下可执行:重建控制文件、重建数据库 读取init.ora文件,启动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 强制启动方式

ORACLE SQL语句的监控

oracle SQL语句的监控 有时候想看看软件后台数据库到底执行了什么语句。比如大的erp系统,我们在查询的时 候,后台执行了 什么语句或者过程都存储在v$sql表中。但是当sql语句很长的时候就出现了截断显现。 比如 select sql_text from v$sql; 其中有一条不完整的sql语句: SELECT LSWLDW.LSWLDW_WLDWBH as CustomersCode, LSWLDW.LSWLDW_DWMC as CustomersName,LSWLDW.LSWLDW_DWLB as CustomerSorts ,LSDWLB_LBMC AS CustomerSortName,LSWLDW.LSWLDW_DQBH as CustomerAreas ,LSDQZD_DQMC AS CustomerAreaName,LSWLDW.HelpTag ,LSWLDW.LSWLDW_JC as ShortName,nvl(LSWLDW.LSWLDW_SH,'')as SH ,LSWLDW.IsDetail as Detail,https://www.doczj.com/doc/b713952592.html,yer,LSWLDW.OfTrade ,nvl(LSWLDW.LSWLDW_CJDW,'')as LSWLDW_CJDW,LSWLDW.OfTrade AS OfTradeCode ,nvl(OfTradeItem."NAME",'')AS OfTradeName ,nvl(OwnerType."NAME",'')AS OwnerType From LSWLDW LEFT OUTER JOIN LSDWLB ON LSWLDW.LSWLDW_DWLB=LSDWLB.LSDWLB_LBBH LEFT OUTER JOIN CodeItems OfTradeItem ON LSWLDW.OfTrade=OfTradeItem.Code AND OfTradeItem.SetID='A003' LEFT OUTER JOIN CodeItems OwnerType ON LSWLDW.OwnerType=OwnerType.Code AND OwnerType.SetID='A004' LEFT OUTER JOIN LSDQZD ON LSWLDW.LSWLDW_DQBH=LSDQZD.LSDQZD_DQBH where1=1 and LSWLDW_TYBZ='0'and LSWLDW.LSWLDW_WLDWBH in (select LSWLDW_WLDWBH from (select Rownum rn,LSWLDW_WLDWBH from (select LS select LS下面的语句就被截断了. 第一种解决方法:通过sql语句实现 我们查找该语句的sql_id或者hash_value

ORACLE数据库监控配置规范方案

ORACLE数据库配置规范和监控清单 2015年12月

目录 一、常规参数配置 (3) 1.1 数据库最大连接数 (3) 1.2 归档配置 (3) 1.3 最大文件数设置 (4) 1.4 关闭回收站 (4) 1.5 控制文件配置 (5) 1.6 白名单设置 (5) 1.7 闪回区设置 (6) 1.8 在线日志组 (6) 1.9 控制文件记录保留数 (7) 二、常用监控项 (8) 2.1 数据库在用连接数 (8) 2.2 监控数据库文件数 (8) 2.3 表空间使用率 (8) 2.4 闪回区使用率 (9) 2.5 数据库等待事件 (10) 2.6 告警日志监控 (10) 2.7 灾备DataGuard同步监控 (10) 2.8 AWR采样报告分析 (10)

一、常规参数配置 1.1数据库最大连接数 参数: processes 说明: 数据库用户最大连接数通过processes参数进行配置,默认值为 300,该值表示能够同时连接到数据库的最大会话数,当连接数达到最大值,后续新增连接均会被拒绝。 修改命令: alter system set processes=1000 scope=spfile; 生效方式: 需重启实例生效。 1.2归档配置 参数: archive log list 说明: 数据库开启归档,任何生产环境均应在归档方式下运行,从而达到可通过备份进行数据恢复要求,提高系统安全性 修改命令: 数据库启动至mount状态,执行 alter database archivelog; 生效方式:

重启数据库设置生效 1.3最大文件数设置 参数: db_files 说明: 该参数用于控制在扩容表空间时,数据文件能够达到的最大数量,默认值为 200 修改命令: alter system set db_files=800 scope=spfile; 生效方式: 重启数据库生效 1.4关闭回收站 参数: recyclebin 说明: 如果回收站未关闭,则如果表对象被删除,将进入回收站,并不会释放占用的存储 修改命令: alter system set recyclebin=’off’ scope=spfile; 生效方式:

ORACLE数据库简介

1ORACLE数据库简介 一、概论 ORACLE 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。 二、特点 1、ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE 的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。 2、提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。 3、支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。 4、提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入 SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。 5、提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。 三、存储结构 1、物理结构 ORACLE数据库在物理上是存储于硬盘的各种文件。它是活动的,可扩充的,随着 数据的添加和应用程序的增大而变化。 下图为ORACLE数据库扩充前后在硬盘上存储结构的示意图:

2、逻辑结构 ORACLE数据库在逻辑上是由许多表空间构成。主要分为系统表空间和非系统 表空间。非系统表空间内存储着各项应用的数据、索引、程序等相关信息。我们准备上马一个较大的ORACLE应用系统时,应该创建它所独占的表空间,同时定义 物理文件的存放路径和所占硬盘的大小。 下图为ORACLE数据库逻辑结构与物理结构的对照关系: 四、分布式数据库管理介绍 1、原理 物理上存放于网络的多个ORACLE数据库,逻辑上可以看成一个单个的大数据库。 用户可以通过网络对异地数据库中的数据同时进行存取,而服务器之间的协同处理对于工作站用户及应用程序而言是完全透明的:开发人员无需关心网络的连接

zabbix通过pyora监控oracle数据库

Zabbix 通过pyora监控oracle 1.oracle客户端的安装 从oracle官方网站上下载客户端,devel和sqlplus程序或者从以下网址下载https://www.doczj.com/doc/b713952592.html,/s/1mgx8Fsk 以root用户安装 rpm –ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm rpm –ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm rpm –ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm vim /root/.bashrc添加 export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib export TNS_ADMIN=/usr/lib/oracle/11.2/client64/network/admin export PATH=$PATH:$ORACLE_HOME/bin 设置好环境变量之后执行 source /root/.bashrc 创建文件/etc/ld.so.conf.d/oracle.conf添加 /usr/lib/oracle/11.2/client64/lib 执行命令ldconfig 创建连接文件 在ORACLE_HOME目录下创建以下目录network/admin,并创建文件tnsnames.ora,内容如下: vim /usr/lib/oracle/11.2/client64/network/admin/tnsnames.ora orcl = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) 测试 执行 [root@Monitor ~]# sqlplus system/admin@orcl SQL*Plus: Release 11.2.0.4.0 Production on Thu May 8 14:25:07 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL>

使用SpotLight监控数据库性能

使用SpotLight监控数据库性能 8.1.4 使用SpotLight监控数据库性能(1) SpotLight On Oracle是由Quest公司出品的一款针对Oracle进行监控的软件。SpotLight监控Oracle的基本原理与LoadRunner监控类似,通过获取Oracle的数据字典和动态性能视图,然后把性能数据按直观的方式展现出来,如图8.11所示。 (点击查看大图)图8.11 SpotLight On Oracle监控数据库下面简要介绍使用SpotLight对Oracle进行监控的过程。 1.建立Oracle连接 第一步要建立Connection,如图8.12所示,这样才能够使用SpotLight连接到要监测的数据库。

新建连接,然后输入Oracle连接用户账号,确定之后即可进入监控主页面。 2.查看系统主界面进行Oracle监控 系统主界面反映了系统的整体运行情况,如果系统哪方面出现问题,会报相应的警告,最严重为红色警告。然后根据警告可转到相应的子窗口,查看相应的情况。下面介绍各子窗口。 1)Sessions面板 Response:系统的响应时间。 Total Users:总的用户Session数量。 Active Users:当前正在执行的用户Session数量。 2)Host面板 Host面板主要显示CPU利用率和内存使用情况。 3)Server Processes面板 Server Processes面板主要显示服务器进程的信息。主要关注以下几点。 PGA Target/Used:PGA目标总数及当前使用数。 Dedicated:专用服务器进程的个数。 Shared:共享服务器进程的个数。 Job Queue:作业进程的个数。 4)SGA面板 SGA面板主要显示SGA中各组件的内存使用情况,主要关注以下几点。

Oracle10g数据库选择题翻译 答案

第3章创建数据库 (1)后台进程跟踪文件的位置是C A.LOGFILE_DEST B.ORACLE_HOME C.BACKGROUND_DUMP_DEST D.CORE_DUMP_DEST (2)手动创建数据库的第一步是D A.启动实例 B.启动SQL*Plus 以SYSDBA身份连接Oracle C.查看系统的实例名 D.创建参数文件 (3)关于控制文件以下正确的是A A.Oracle建议至少二个控制文件存放在二个磁盘分区 B.Oracle建议至少二个控制文件存放在一个磁盘分区 C.Oracle建议存放一个控制文件 D.一个控制文件不足以运行数据库 (4)执行CREATE DA TABASE命令之前,应该发出的命令是B A.STARTUP INSTANCE B.STARTUP NOMOUNT C.STARTUP MOUNT D.以上都不是 (5)创建数据库时,Oracle如何得知需要创建的控制文件信息?A A.从初始化参数文件 B.从CREATE DATABASE 命令 C.从环境变量 D.从$ORACLE_HOME目录名为.ctl的文件 (6)哪个脚本文件创建数据字典视图?A A.catalog.sql B.catproc.sql C.sql.sql D.dictionary.sql (7)创建数据库时,DATAFILE子句能定义几个数据文件?D A.一个 B.二个 C.多个;仅一个属于系统表空间 D.多个;都属于系统表空间 (8)谁拥有数据字典?A A.SYS B.SYSTEM C.DBA D.ORACLE (9)在CREATE DA TABASE命令中,非法子句是B A.MAXLOGMEMBERS B.MAXLOGGROUPS C.MAXDATAFILES D.MAXLOGHISTORY (10)创建一个数据库至少需要几个控制文件?A

Oracle数据库简介

oracle数据库是一种大型数据库系统,一般应用于商业,政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用SQL数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle 数据库而言,在处理大量数据方面有些不如。 Oralce数据库的发展历程 Oralce数据库简介 Oracle简称甲骨文,是仅次于微软公司的世界第二大软件公司,该公司名称就叫Oracle。该公司成立于1979年,是加利福尼亚州的第一家在世界上推出以关系型数据管理系统(RDBMS)为中心的一家软件公司。 Oracle不仅在全球最先推出了RDBMS,并且事实上掌握着这个市场的大部分份额。现在,他们的RDBMS被广泛应用于各种操作环境:Windows NT、基于UNIX系统的小型机、IBM大型机以及一些专用硬件操作系统平台。 事实上,Oracle已经成为世界上最大的RDBMS供应商,并且是世界上最主要的信息处理软件供应商。由于Oracle公司的RDBMS都以Oracle为名,所以,在某种程度上Oracle己经成为了RDBMS的代名词。 Oracle数据库管理系统是一个以关系型和面向对象为中心管理数据的数据库管理软件系统,其在管理信息系统、企业数据处理、因特网及电子商务等领域有着非常广泛的应用。因其在数据安全性与数据完整性控制方面的优越性能,以及跨操作系统、跨硬件平台的数据互操作能力,使得越来越多的用户将Oracle作为其应用数据的处理系统。 Oracle数据库是基于“客户端/服务器”模式结构。客户端应用程序执行与用户进行交互的活动。其接收用户信息,并向“服务器端”发送请求。服务器系统负责管理数据信息和各种操作数据的活动。 Oracle数据库有如下几个强大的特性: 支持多用户、大事务量的事务处理 数据安全性和完整性的有效控制 支持分布式数据处理 可移植性很强 Oracle大体上分两大块,一块是应用开发,一块是系统管理。 开发主要是写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员,需要有较强的逻辑思维和创造能力。管理则需要对Oracle 数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会丢失整个数据库,相对前者来说,后者更看重经验。 Oracle数据库服务器: Oracle数据库包括Oracle数据库服务器和客户端 Oracle Server是一个对象一关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个 Oracle DB和一个 Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优

oracle监控方案

电力营销系统oracle监控方案 oracle监控也有多种方案,例如通过OEM监控管理本机数据库、GRID CONTROL监控管理同一网络里的数据库、通过SNMP协议监控实时性能信息(HP OPENVIEW)。但都有其缺点,例如OEM界面只能管理本机、GC和SNMP需要在被管机上安装AGENT代理,它们的操作界面也不直观,配置不够灵活。而HP OPENVIEW是综合监控软件,其费用过高,也不适合。 综合考虑,决定采用QUEST公司的SPOTLIGHT ON ORACLE软件来监控ORACLE 数据库,其优点是实时准确、界面直观、操作配置简单灵活、性能消耗可以限定在一个小范围内、不需要在被监控设备部署AGENT代理。且是破解版,没有监控数量上的限制。 其原理是通过设定的频率查询ORACLE内部开放的性能视图,主要是CPU上的性能消耗,需要创建新的DBA角色的用户用于监控,所以可以在限定此用户CPU消耗的限定值内(也可以降低查询频率)使用SPOTLIGHT达到实时监控的目的。其CPU消耗经QUEST 公司严格测试是比较小的,所以不用担心其CPU消耗给生产带来的影响。 1、监控总图 很直观的展示系统整体运行的实时情况,如SESSION、HOST、服务进程、SGA、后台进程、DISK等,哪部分出现问题将会红色闪烁展示,如下图示:

2、SESSION监控 2.1、TOP SE SSION信息 从图中可以看到,SID为1042,用户名为AMBER的SESSION其当前日志读为每秒386.64个块数,排名最前,说明这个SESSION当前运行繁忙,结合下面的信息可以查看到具体正执行的SQL。 2.2、SESSION等待事件 从SESSION WAITS中可以查看到当前SESSION正在等待的事件及其详细信息。

oracle10g优化数据库

一基本概念 1实例和数据库 (1)什么是实例:数据库启动以后,各个进程调入到内存中,各个进程之间的相互协调构成了实例 (2)什么是数据库:各个数据文件的集合: 10.0\oradata\%sid%\目下有各种文件(CTL(控制文件),LOG(日志文件),DBF(数据 文件)) (3)数据库的物理结构 系统的初始化参数:存放的位置为% oracle_home%\product\10.0\Db_1\database\initorcl.ora 数据库日志文件:分为联机日志文件(重做日志文件(redo日志文件):不停的覆盖)和归档日志文件(在数据库热备份的时候使 用);联机日志文件写完以后,依次往下写,全部写满,重新 覆盖原来的,此时就是非归档形式。

控制文件:控制日志文件和数据文件。数据库启动的时候,首先启动控制文件,然后由控制文件打开数据文件,对应数据中的形式就是:database mount ,然后是database open。 查看数据库得文件: 数据库的连接:sqlplus system/bjsxt as sysdba 对应的控制文件从v$controlfile视图中查看。 desc v$controlfile (查看描述) select status ,controlfile from v$controlfile。(查看内容) 对应的数据文件从v$datafile视图中查看。 desc v$datafile select status, name from v$datafile 对应的日志文件从v$logfile视图中查看。 desc v$logfile select member from v$logfile 2内存结构 (1)SGA(系统全局区)的各个缓冲区

ORACLE数据库管理系统介绍

ORACLE 数据库管理系统介绍 的特点: 可移植性 ORACLE采用C语言开发而成,故产品与硬件和操作系统具有很强的独立性。从大型机到微机上都可运行ORACLE的产品。可在UNIX、DOS、Windows等操作系统上运行。可兼容性由于采用了国际标准的数据查询语言SQL,与IBM的SQL/DS、DB2等均兼容。并提供读取其它数据库文件的间接方法。 可联结性对于不同通信协议,不同机型及不同操作系统组成的网络也可以运行ORAˉCLE数据库产品。 的总体结构 (1)ORACLE的文件结构一个ORACLE数据库系统包括以下5类文件:ORACLE RDBMS的代码文件。 数据文件一个数据库可有一个或多个数据文件,每个数据文件可以存有一个或多个表、视图、索引等信息。 日志文件须有两个或两个以上,用来记录所有数据库的变化,用于数据库的恢复。控制文件可以有备份,采用多个备份控制文件是为了防止控制文件的损坏。参数文件含有数据库例程起时所需的配置参数。 (2)ORACLE的内存结构一个ORACLE例程拥有一个系统全程区(SGA)和一组程序全程区(PGA)。 SGA(System Global Area)包括数据库缓冲区、日志缓冲区及

共享区域。 PGA(Program Global Area)是每一个Server进程有一个。一个Server进程起动时,就为其分配一个PGA区,以存放数据及控制信息。 (3)ORACLE的进程结构ORACLE包括三类进程: ①用户进程用来执行用户应用程序的。 ②服务进程处理与之相连的一组用户进程的请求。 ③后台进程 ORACLE为每一个数据库例程创建一组后台进程,它为所有的用户进程服务,其中包括: DBWR(Database Writer)进程,负责把已修改的数据块从数据库缓冲区写到数据库中。LGWR(Log Writer)进程,负责把日志从SGA中的缓冲区中写到日志文件中。 SMON(System Moniter)进程,该进程有规律地扫描SAG进程信息,注销失败的数据库例程,回收不再使用的内存空间。PMON(Process Moniter)进程,当一用户进程异常结束时,该进程负责恢复未完成的事务,注销失败的用户进程,释放用户进程占用的资源。 ARCH(ARCHIVER)进程。每当联机日志文件写满时,该进程将其拷贝到归档存储设备上。另外还包括分布式DB中事务恢复进程RECO 和对服务进程与用户进程进行匹配的Dnnn进程等。 的逻辑结构 构成ORACLE的数据库的逻辑结构包括: (1)表空间

相关主题
文本预览
相关文档 最新文档