![Oracle数据库技术原理介绍_第1页](http://file4.renrendoc.com/view/08f3fbb6e8184aff66e04970d9a45fcb/08f3fbb6e8184aff66e04970d9a45fcb1.gif)
![Oracle数据库技术原理介绍_第2页](http://file4.renrendoc.com/view/08f3fbb6e8184aff66e04970d9a45fcb/08f3fbb6e8184aff66e04970d9a45fcb2.gif)
![Oracle数据库技术原理介绍_第3页](http://file4.renrendoc.com/view/08f3fbb6e8184aff66e04970d9a45fcb/08f3fbb6e8184aff66e04970d9a45fcb3.gif)
![Oracle数据库技术原理介绍_第4页](http://file4.renrendoc.com/view/08f3fbb6e8184aff66e04970d9a45fcb/08f3fbb6e8184aff66e04970d9a45fcb4.gif)
![Oracle数据库技术原理介绍_第5页](http://file4.renrendoc.com/view/08f3fbb6e8184aff66e04970d9a45fcb/08f3fbb6e8184aff66e04970d9a45fcb5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle数据库技术原理介绍Page 2日程安排数据库版本说明系统建设标准管理oracle实例管理表空间和数据文件Oracle网络服务备份和恢复DATA GURAD无响应故障现象分析Page 3数据库版本说明1. Major Database Release Number 第一个数字位,它代表的是一个新版本软件,也标志着一些新的功能。如11g,10g。2. Database Maintenance Release Number 第二个数字位,代表一个maintenance release 级别,也可能包含一些新的特性。3. Fusion Middleware Release Number 第
2、三个数字位,反应Oracle 中间件(Oracle Fusion Middleware)的版本号。4. Component-Specific Release Number 第四个数字位,主要是针对组件的发布级别。不同的组件具有不同的号码。 比如Oracle 的patch包。5. Platform-Specific Release Number 第五个数字位,这个数字位标识一个平台的版本。 通常表示patch 号。Page 4数据库版本说明版本ReleasePatchsetPSU(Patchset Update)Bundle PatchCPU PatchMerge PatchOneoff Pat
3、ch说明即产品版本,例如10gR2、11gR1、11gR2,12cR2,Release版本包含功能和架构的变化;即补丁集,是基于产品版本之上,定期发布的补丁合集,包含多数重要补丁,并在某些功能上进行改进。为增量补丁集,只在UNIX和LINUX操作系统上存在。在Patchset的基础上,修正一段时间内累积的bug,解决单个补丁之间冲突的问题,同时也包含最新的安全补丁。也为增量补丁集,用于Windows系统上,在Patchset的基础上,修正一段时间内累积的bug,解决单个补丁之间冲突的问题,同时也包含最新的安全补丁。即关键性补丁升级,基于Patchset之上的关键性补丁集,目前主要用于包含最新的
4、安全补丁和部分与之冲突的补丁。即融合补丁,基于Patchset或者PSU(Bundle Patch)之上的补丁,通常用于解决多个有冲突的补丁,而由ORACLE产品部进行补丁融合。即单一补丁,基于基于Patchset或者PSU(Bundle Patch)之上的补丁,用于解决单个问题。Page 5系统建设标准数据库ORACLE倡导Best Practices最佳使用体验:定期会更新各个主流平台与ORACLE各版本的认证关系,并提供必须的配置要求;定期会更新PSU及Bundle Patch,集中修复出现概率较高的问题;使用超过ORACLE服务支持期的数据库版本,将得不到最佳使用体验的保障。我们推荐对
5、数据库新建系统使用最新或者次新的Patchset版本(原则是PSU已更新到第三个版本以上),并安装最新的PSU或者Bundle Patch集,而对于Oneoff Patch,应遵从不轻易安装的原则;Page 6内容提要数据库版本说明系统建设标准管理oracle实例管理表空间和数据文件Oracle网络服务备份和恢复DATA GURADPage 7初始化参数文件访问实例的入口存在两种类型参数:显性的隐性的在不同的环境下可使用不同的初始化文件优化单个数据库的执行.改变文件中参数设置并使其生效依赖使用的初始化参数文件类型;静态初始化参数文件 PFILE 延续性初始化参数文件 SPFILEPage 8P
6、FILEinitSID.oraPFILE 是一个能被操作系统编辑器修改的文本文件.手动对该文件进行修改.下次数据库启动修改才能生效.它的缺省路径是 $ORACLE_HOME/dbs.Page 9SPFILEspfileSID.ora从Oracle 9i开始,oracle引入了二进制文件SPFILE来替代原有的PFILE文件。 在RAC环境下,SPFILE必须和控制文件,数据文件一样建立在共享存储上,以便所有的实例都可以访问。 当使用不带子句startup命令直接启动数据库时,Oracle 将从默认目录下的服务器参数文件(SPFILE) 中读取初始化参数。 默认位置目录是:$ORACLE_HOM
7、E/dbs/spfile.ora Page 10SPFILE举例*.control_files=/u03/oradata/db01/ctrl01db01.ctl,/u03/oradata/db01/ctrl02db01.ctl*.db_block_buffers=500*.db_block_size=4096*.db_files=40*.db_name=db01*.instance_name=db01*.shared_pool_size=31457280 # 30M Shared Pool*.undo_management=AUTOdb01.undo_tablespace=UNDOTBS01d
8、b02.undo_tablespace=UNDOTBS02Sga_target=10737418240Memory_target=10737418240Page 11SPFILE和PFILE的相互转换无论数据库是关闭或者打开,SPFILE和PFILE都能够相互转换。CREATE SPFILE FROM PFILE;CREATE PFILE=/tmp/test.ora FROM SPFILE;Page 12SPFILE文件的使用可以在不用停机的情况下动态调整数据库SGA区及其它很多参数,大大提高了系统的可用性。在9i以后ALTER SYSTEM引入一个新选项SCOPE,用来选择参数更改的范围ME
9、MORY:只改变当前实例运行;SPFILE:只改变SPFILE的设置;BOTH:改变实例及SPFILE,缺省方式。RAC环境下,ALTER SYSTEM还可以加上SID参数,指定初始化参数影响的实例。SID的缺省值为*,表示对所有实例都有效。 Page 13SPFILE文件的使用动态修改实例RAC1的shared pool的大小:SQL alter system set shared_pool_size=120M scope=memory sid=rac1;查询V$SPPARAMETER,实时的得到所有当前使用的spfile的参数值 SQL select sid,name,value from
10、 v$spparameter where name=shared_pool_size; SID NAME VALUE rac1 shared_pool_size 104857600Page 14启动一个数据库NOMOUNTOPENMOUNTNOMOUNTSHUTDOWN实例启动STARTUPSHUTDOWNPage 15启动一个数据库MOUNTOPENMOUNTNOMOUNTSHUTDOWN控制文件打开实例启动STARTUPSHUTDOWNPage 16启动一个数据库OPENOPENMOUNTNOMOUNTSHUTDOWN实例中控制文件描述的所有文件被打开控制文件打开实例启动STARTUPSH
11、UTDOWNPage 17STARTUP 命令启动实例并打开数据库:STARTUPSTARTUP PFILE=$ORACLE_HOME/dbs/initdb01.orastartup nomount创建一新的数据库重建控制文件startup mount为数据文件更名;增加、删除或改名事务日志文件;使事务日志归档模式选项有效或失效;进行完整数据库的恢复操作Page 18The ALTER DATABASE Command改变数据库的状态(UNMOUNT TO MOUNT):打开数据库:ALTER DATABASE db01 MOUNT;ALTER DATABASE db01 OPEN;Page
12、19关闭数据库关闭模式:NORMALTRANSACTIONALIMMEDIATEABORTAxxxxTxxooIxxxo关闭模式允许新的接入等待直到当前的会话都结束 等待直到当前的事务都结束强制执行 checkpoint 并关闭所有文件NxoooYESNOxoPage 20正常关闭During aShutdown Normal,Shutdown TransactionalorShutdown Immediate一致性的数据库(干净的数据库)这种方式关闭:数据块高速缓冲区内容写入数据文件未提交的事务回滚释放资源这之后重新启动数据库:不用做实例恢复Page 21异常关闭During aShutdo
13、wn AbortorInstance FailureorStartup Force不一致的数据库(脏数据库)这样关闭:已经修改的数据块缓冲区的内容不写入数据文件未提交的事务不被回滚这之后重新启动数据库:改变的信息将被重新写入重做日志文件必须使用回滚段来回滚未提交的改变释放资源Page 22通过检查诊断文件来管理实例诊断文件包含实例运行过程中所遇到的重要的事件信息. 作为日常管理数据库的基础,能为解决问题提供帮助.存在以下几种诊断文件:警告日志文件(alertSID.log)后台跟踪文件用户跟踪文件Page 23警告日志文件 警告日志文件记录了数据库运行中的一些操作命令和主要事件结果.它被用来诊
14、断日常数据库运行错误信息.每条都对应有时间戳信息.后台跟踪文件后台跟踪文件记录有被后台进程检测到的错误信息.当后台进程遇到错误时才被创建Page 24用户跟踪文件用户跟踪文件当用户进程通过服务器进程连接到Oracle服务器时产生。一个用户跟踪文件包含跟踪到的SQL执行语句或用户通讯错误信息. 当用户会话过程中遇到错误信息时产生.Page 25内容提要数据库版本说明系统建设标准管理oracle实例管理表空间和数据文件Oracle网络服务备份和恢复DATA GURADPage 26概观Control filesData files Redo log filesDatabasePage 27数据库的
15、存储层次Database逻辑上物理上TablespaceData fileOS blockOracle blockSegmentExtentPage 28表空间和数据文件Oracle在表空间里存储逻辑信息数据,在数据文件里存储物理信息数据表空间:只能同时属于一个数据库可以由一个或多个数据文件组成可以被更进一步的划分为细小的逻辑存储单元 数据文件:只能同时属于一个表空间和同一个数据库它是用户对象数据的容器DatabaseTablespaceDatafilesPage 29系统和非系统表空间系统表空间:随着数据库创建被创建包含数据字典信息包含系统回滚段非系统表空间:不同的segments分开存放(
16、如:回滚段, 临时段, 应用数据 )控制分配给用户对象的空间容量数据库预配置的表空间UNDOTBS1USERSEXAMPLESYSTEMSYSAUXTEMPPage 31表空间的管理本地管理的表空间 :自由扩展信息被记录在本身的位图中位图中的每一位都对应一个数据块或一组数据块 位图中的标志位显示数据块使用或未使用状态信息字典管理的表空间:缺省的表空间管理方式自由扩展信息被记录在数据字典中Page 32本地管理的表空间简化了数据字典中的内容空间分配和回收不产生回滚信息没有接合邻近extents的要求CREATE TABLESPACE userdata DATAFILE /u01/oradata/
17、userdata01.dbf SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;Page 33字典管理的表空间Extents 在数据字典中管理每个存储在表空间的segments都可以有不同的存储参数设置有邻近接合extents的要求CREATE TABLESPACE userdata DATAFILE /u01/oradata/userdata01.dbf SIZE 500M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE ( initial 1M NEXT 1M );Page 34回滚段表空间用来
18、存储回滚段信息不能包含其它对象Extents 本地管理在创建时仅仅能使用 DATAFILE and EXTENT MANAGEMENT 条件CREATE UNDO TABLESPACE undo1 DATAFILE /u01/oradata/undo101.dbf SIZE 40M;Page 35回滚段表空间在9i中,可以有两种解决方法来维护事务的读一致性:回滚段,或者Undo Tablespace来进行的自动重做管理,但是这两种方法不能同时使用。建议在9i 中使用回滚表空间来管理数据库。一个数据库可以建立多个undotablespace,但每个instance同时只能使用一个undotabl
19、espace。可以用alter system命令来修改数据库当前的undotablespace。alter system set undo_tablespace=undotbs2 scope=both;Page 36回滚段表空间影响undotablespace的关键初始化参数 undo_management 缺省值为auto。建议继续使用该缺省值,即使用undo tablespace,不用手工建立回滚段。 undo_tablespace 必须被设置为一个有效的undotablespace名称。 undo_retentionundo_tablespace中保留多长时间的回滚(undo)信息。在9
20、i R2中缺省值为10800,一般情况下够用,不建议修改该参数。Page 37临时表空间用来做排序操作不能包含固定的对象最好使用本地表空间管理CREATE TEMPORARY TABLESPACE temp TEMPFILE /u01/oradata/temp01.dbf SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;Page 38缺省临时表空间的限制直到新的缺省表空间被使用时才能删除不能下线.不能将缺省的临时表空间修改成永久表空间Page 39删除表空间从数据字典中删除表空间信息通过 AND DATAFILES条件可在操作系统上删除表空
21、间的数据文件:DROP TABLESPACE userdata INCLUDING CONTENTS AND DATAFILES;Page 40改变表空间的大小增加数据文件 改变数据文件大小:自动手动app_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M100MTablespace APP_DATAPage 41手动改变数据文件大小app_data_02.dbfapp_data_01.dbfapp_data_03.dbf 100M100M200M200Mapp_data_04.dbf ALTER DATABASE DATAFILE /
22、u03/oradata/userdata02.dbf RESIZE 200M;100MTablespace APP_DATAPage 42在表空间中增加一个数据文件Tablespace APP_DATAapp_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M100MALTER TABLESPACE app_data ADD DATAFILE /u01/oradata/userdata03.dbf SIZE 200M;Page 43移动数据文件(修改表空间)表空间必须为下线状态。目标数据文件必须存在.ALTER TABLESPACE us
23、erdata RENAME DATAFILE/u01/oradata/userdata01.dbf TO/u01/oradata/userdata01.dbf;Page 44获取表空间信息表空间信息:DBA_TABLESPACESV$TABLESPACE数据文件信息:DBA_DATA_FILESV$DATAFILE临时文件信息:DBA_TEMP_FILESV$TEMPFILEOracle Net ServiceNet service 概述Tnsnames.oraListener.oraSqlnet.oraPage 45Oracle Net Service负责处理客户到服务器和服务器到客户通信,
24、并且能够多在客户端、中间层应用、WEB服务器和ORACLE服务器上配置。Oracle Net提供客户端到服务端的访问Oracle Net ListenerOracle Connection ManagerNetworking Tools NETCA,OEM,NETMGRPage 46listener.ora 接受连接请求的协议地址 配置监听的数据库服务 监听的参数tnsnames.ora 本地命名方法(Local naming)的配置文件sqlnet.ora 配置客户端名称解析的优先顺序 Logging and tracing 特性 外部命名参数 Oracle Advanced Securit
25、y parameters 访问控制Page 471.动态注册:在instance启动的时候PMON进程根据pfile/spfile中的instance_name,service_names两个参数将实例和服务动态注册到监听程序2.静态注册:实例启动时读取listener.ora文件的配置,将instance和service注册到监听程序SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=scottg)# GLOBAL_DBNAME作为默认的service_name(ORACLE_HOME=/u01/oracle/product/11.2.0
26、/dbhome_1)(SID_NAME=scott)Page 48LISTENER.ORAPage 49TNSNAMES.ORA连接时故障切换特性(Connect Time Failover)此特性允许客户在TNSNAMES.ORA中指定多个监听器,如果连接到第一个监听器失败,则尝试连接下一个监听器。failover参数缺省是ONORCL =(DESCRIPTION =(FAILOVER = ON(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) ( HOST = DBPROD ) ( PROT = 1521 )(ADDRESS = (PROTOCOL = T
27、CP) ( HOST = DBFAIL ) ( PROT = 1521 ) ) (CONNECT_DATA = (SERVICE_NAME = PROD ) ( SERVER = DECIATED)Page 50客户负载平衡(Client Load Balancing)该特性允许客户从一个监听器列表中随机地挑选,以达到平衡连接请求的效果。该用特性需要添加LOAD_BALANCE参数,具体示例如下:ORCL =(DESCRIPTION =(LOAD_BALANCE= ON)(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP) (HOST = MWEISHAN-DE
28、LL) (PORT=1522)(ADDRESS = (PROTOCOL = TCP) (HOST = MWEISHAN-DELI) (PROT=1521)(CONNECT_DATA =(SERVICE_NAME=ORCL)Page 51sqlnet.oraSQLNET.AUTHENTICATION_SERVICES设置使用何种验证方式,可选值none(使用用户名/密码的方式连接数据库)all(使用所有方式的验证,包括OS验证)nts(OS验证方式,连入OS后可以不用密码连接数据库)Page 52SQLNET.INBOUND_CONNECT_TIMEOUT设置连入数据库后必须在多长时间内完成认证
29、(如:输入用户名/密码),超过此时间没有完成的话,数据库会断开此连接,并将客户端的IP地址和ORA-12170: TNS:Connect timeout occurred错误信息记录到sqlnet.log,而且客户端会收到ORA-12547: TNS:lost contact或ORA-12637: Packet receive failed错误信息。这个设置主要是为了防止denial-of-service攻击Page 53SQL truncate 、delete 与drop 区别相同点:1.truncate 和不带 where 子句的 delete、以及 drop 都会删除表内的数据。2.dr
30、op、truncate 都是 DDL 语句(数据定义语言),执行后会自动提交。不同点:1. truncate 和 delete 只删除数据不删除表的结构(定义),drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。2. delete 语句是数据库操作语言(dml),这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到
31、rollback segment中,不能回滚,操作不触发 trigger。Page 543. delete 语句不影响表所占用的extent,高水线(high watermark)保持原位置不动;drop 语句将表所占用的空间全部释放;truncate 会将高水线复位(回到最开始)。4. 速度,一般来说: drop truncate delete5. 安全性:小心使用 drop 和 truncate,尤其没有备份的时候; 使用上,想删除部分数据行用 delete,注意带上 where 子句. 回滚段要足够大;想删除表,当然用 drop;想保留表而将所有数据删除,如果和事务无关,用 trunca
32、te 即可。如果和事务有关,或者想触发 trigger,还是用 delete。如果是整理表内部的碎片,可以用 truncate 跟上 reuse storage,再重新导入/插入数据。6. delete是DML语句,不会自动提交。drop/truncate都是DDL语句,执行后会自动提交。7. TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE
33、通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。Page 55什么是备份和恢复 备份和恢复指的是为了以下目的而使用的一些策略和过程: 防止数据库丢失数据 在数据丢失后重建数据库 Page 56使用 Oracle Recovery Manager RMAN: 是提供高级功能的命令行客户机 具有功能强大的控制能力和脚本编写语言 具有公布的、支持通过接口与多数常用备份软件连接的 API 可备份数据、控制文件、归档日志文件和服务器参数文件 可将文件备份到磁盘或磁带 Enterprise Manager 使用 Recovery Manager (RMAN) 执行备份和恢复操作。
34、 Page 57EXPDP/IMPDPData Pump(数据泵) 是从oracle10g 引入的全新的,用于快速迁移数据的方式。Data Pump与exp/imp最大的区别是,Data Pump是一个位于服务器端的工具,通过Data Pump导出的转储文件只能位于数据库服务器端,而不能将该转储文件导出导客户端。Data Pump 有以下优点:1) 任务可以暂停,重启2) 可以只处理某些对象,不处理某些对象,或者只处理某些对象中满足条件的数据。3) 在不实际执行导出的情况下,估计需要的磁盘空间4) 只导出元数据5) 通过db link,直接将远程数据库中的数据导入到当前数据库6) 导入时可以修
35、改数据所在的schema名称,表空间名称以及数据文件名称。7) 通过采样,导出部分数据。8) 并行操作。Page 58使用 ASM 存储 expdp 导出文件经过测试,expdp导出文件完全可以放在ASM磁盘组中,但是日志文件需要放在文件系统上。SQL select directory_name, directory_path from dba_directories;DIRECTORY_NAME DIRECTORY_PATHDATA_PUMP_DIR /home/oracleOBAK+ORADATA/obakoracleoracle $ expdp scott/tiger DUMPFILE=
36、eygle.dmp DIRECTORY=OBAK CONTENT=METADATA_ONLY logfile=DATA_PUMP_DIR:expdp01.logPage 59Oracle 备份方法概览 备份策略: 整体:备份属于数据库的控制文件和所有数据文件 部分:备份数据库的一部分 备份类型: 完全:非增量 RMAN 备份 增量:只备份以前某次备份以来更改的信息 备份模式: 脱机:一致性备份,也称为冷备份 联机:非一致性备份,也称为热备份 Page 60RMAN 备份类型 完全备份包含所有用过的数据文件块级别 0 增量备份等同于标记为级别 0 的完全备份累积级别 1 增量备份只包含自上一次级
37、别 0 增量备份以来修改过的块差异级别 1 增量备份只包含自上一次增量备份以来修改过的块Page 61差异增量备份 累积增量备份 完全备份或“级别 0 增量备份” 示例run allocate channel c1 device type disk; allocate channel c2 device type disk; backup format /rmanbackup/dbbak/gzdb_full_%T_%d_%s_%p_%u.dbf database;sql alter system archive log current ; backup format/rmanbackup/db
38、bak/gzdb_arch_%T_%p_%u.dbf archive log all delete input;backup current controlfile format /rmanbackup/dbbak/controlfile_%T_%U_%t.crl; backup spfile format /rmanbackup/dbbak/spfile_%T_%U_%t.ora; release channel c1; release channel c2; Page 62完全恢复和不完全恢复 恢复类型有两种: 完全恢复:将数据库恢复到当前状态,包括到请求恢复时间点为止提交的所有数据更改。
39、 不完全恢复:将数据库恢复到请求恢复操作之前过去的指定时间点。 Page 63执行完全恢复:在 ARCHIVELOG 模式下丢失了非关键数据文件 如果数据文件丢失或损坏,而且该文件不属于 SYSTEM 或 UNDO 表空间,则还原和恢复缺失的数据文件。 Page 64执行完全恢复:在 ARCHIVELOG 模式下丢失了系统关键数据文件 如果数据文件丢失或损坏,而且该文件属于 SYSTEM 或 UNDO 表空间,则执行以下步骤: 1. 实例是否自动关闭未定。如果未自动关闭,请使用 SHUTDOWN ABORT 关闭实例。 2. 装载数据库。 3. 还原和恢复缺失的数据文件。 4. 打开数据库。
40、Page 65将数据库还原到新主机 为了还原数据库,请在还原主机上执行以下步骤: 1.配置 ORACLE_SID 环境变量。 2.启动 RMAN 并在 NOCATALOG 模式下连接到目标实例。 3.设置数据库标识符 (DBID)。 4.在 NOMOUNT 模式下启动实例。 5.创建 RUN 块,以便: 从备份集中还原服务器参数文件 关闭实例 (SHUTDOWN ABORT) 6.编辑还原的初始化参数文件。 7. 在 NOMOUNT 模式下启动实例。8.创建 RUN 块,以便: 还原控制文件 装载数据库 9.创建 RMAN 恢复脚本来还原和恢复数据库。 10.执行 RMAN 脚本。 11.使用
41、 RESETLOGS 选项打开数据库。 Page 66执行灾难恢复 灾难意味着丢失了整个目标数据库、恢复目录数据库、所有当前控制文件、所有联机重做日志文件和所有参数文件。 灾难恢复包括还原和恢复目标数据库。 备份集的最低要求: 备份部分数据文件 相应的归档重做日志文件 至少一个控制文件自动备份 Page 67基本过程: 还原服务器参数文件的自动备份启动目标数据库实例从自动备份还原控制文件装载数据库还原数据文件恢复数据文件使用 RESETLOGS 选项打开数据库Page 68Oracle DataguardOracle Dataguard是Oracle提供的企业级高可用解决方案。简单地说,DG由
42、一个Primary Database和Standby.Database(一个或多个)组成。而Standby Database又可分为Logical Standby(逻辑)和Physical Standby(物理)。与RMAN之类备份工具不同的是,DataGuard着重提供7*24企业级高可用应用环境。DataGuard Service:Redo Transport Service(日记传输服务)Log Apply Service(日记应用服务。可以是Redo或 Archived Log)Role Transition Service(包括Switchover、Failover。角色的转发不会导
43、致数据丢失)Page 69Oracle DataGuard包括Physical和Logical两种应用方式。这两种Standby Database的关键区别在应用Log 服务这个步骤。Physical Standby:使用介质恢复的方式,将Redo应用至Standby。Page 70Logical Standby:将Redo转换成SQL语句,然后执行SQL应用至Standby。Page 71DataGuard提供三种不同侧重点的实现模式:Maximum Protection:尽可能的保护数据的完整性。即在Primary执行的一个事务时,至少要在一个Standby上也执行成功后,这个事务才算co
44、mmit成功了。如果一个事务在Primary执行成功,但在Standby上执行失败,那么DG就会 回 滚这个事务。Maximum Available:尽可能保护数据库的可用性。与Maximum Protection类似,一个事务都要在Primary、Standby上执行。不同之处在于如果这个事务在Standby执行失败,Primary不会回滚这个事务,而是以继续执行其他事务。当错误修正后,DG会自动重新向Standby再传送一次Redo。Maximum Performance:Oracle默认DG模式。即在Primary执行的一个事务时,至少要在一个Standby上也执行。至在Standby上
45、的执行过程是异步的。Page 72 数据容灾及高可用 支持Oracle全部数据类型传送,并且可以预防存储设备级数据块错误。 减轻Primary数据库的负载。 基于数据块的复制,比Logical Standby性能要好些。Page 73Physical Standy 的优点Logical Standby的优点 数据容灾及高可用 有效的利用standby 的硬件资源(如:在Standby数据库建立额外的Shema、Table等对象,供其他系统使用)。 减轻Primary数据库的负载。Page 74DataGuard三种日志:Redo、Archived、Standby Logs。Redo Logs:
46、联机重做日志。Primary、Logical数据库是肯定有的。对于Physical则不需要。Archived Redo Logs:归档日志。Primary、Logical、Physical都必须有。也就是说DataGuard必须运行归档模式下。Standby Logs:与Redo日志相似,只不过Standby Logs只用来接收Primary传过来的Redo Logs。Page 75传统的 Data Guard最常见的 Oracle Data Guard 使用是同步物理备用数据库与相应的生产数据库,以实现数据保护和高可用性。 在 Oracle 数据库 11 g 之前,物理备用数据库通常以连续的
47、“重做应用”模式工作(即,不断地应用来自生产数据库的更改),以确保在生产站点中断几秒钟内完成数据库故障切换。 必须先停止重做应用才能对 DataGuard 10 g 备用数据库进行读取访问,这最终会导致副本具有陈旧数据,并增加了完成故障切换操作所需的时间。Page 76Oracle Active Data GuardOracle Active Data Guard 允许物理备用数据库对只读访问开放 报告、简单或复杂查询、排序、基于 Web 的访问等。同时还可以应用来自生产数据库的更改。对物理副本的所有查询读取都是实时执行,并且可以返回最新结果。这意味着,需要进行最新只读访问的所有操作都可以卸载
48、到副本,从而可以增强和保护生产数据库的性能。Page 77Oracle Active Data Guard 的独特优势Active Data Guard 是 Data Guard 技术的发展,它提供了独特的性能优势,同时又能利用 Oracle Data Guard 11g 中包含的所有其他增强功能 。例如,可以将任何 Data Guard 11g 物理备用数据库轻松转换为快照备用数据库。快照备用数据库已开放读写操作,是理想的测试系统,能够独立于主数据库处理事务。快照备用数据库通过不断从生产数据库接收数据 、然后进行归档以供今后使用来维护保护。测试完成后,可以通过一个命令废弃在开放读写操作时所作
49、的更改,并迅速地将备用数据库与主数据库重新同步。Page 78Oracle数据库无响应故障的处理思路和方法Oracle 数据库无响应故障,简单地讲就是数据库实例不能响应客户端发起的请求,客户端提交一个 SQL 后,就一直处于等待数据库实例返回结果的状态。更严重的现象是客户端根本不能连接到数据库,发起一个连接请求后,一直处于等待状态。Page 79从故障范围来看,无响应故障可以分为以下几种情况:1.单个或部分会话(进程)Hang 住这种情况属于小范围的故障,业务影响相对较小,一般来说只会影响业务系统的个别模块。在一个多应用系统的数据库上面,如果 Hang 住的会话比较多,则影响的可能是其中的一个
50、应用系统。这里有一个例外,如果Hang 住的进程是系统后台进程,如 pmon、smon 等,则影响的范围就非常大了,最终甚至会影响整个数据库及所有应用系统。还有值得注意的是,即使是少部分会话 Hang 住,也要及时处理,否则极有可能会扩散到整个系统。Page 802. 单个数据库实例 Hang 住这种情况造成的影响非常大。在这个实例上的所有应用系统均受到严重影响,并且在找到根源并最终解决问题之前,数据库实例往往须要重启。3. RAC 中的多个实例或所有实例都 Hang 住在这种情况下,即使是 RAC,都已经没办法提供高可用特性了。使用这个数据库的所有应用系统将不能继续提供服务,这种情况往往须要
51、重启。Page 81Oracle 数据库无响应,一般主要由以下几种原因引起:1. 数据库主机负载过高,严重超过主机承受能力比如应用设计不当,数据库性能低下,活动会话数的大量增加,导致数据库主机的负载迅速增加,数据库不能正常操作,并最终 Hang 住;主机物理内存严重不足,引起大量的换页,特别是在 SGA 中的内存被大量换出到虚拟内存时,数据库实例往往就会 Hang 住。Page 822.日常维护不当、不正确的操作引起数据库 Hang 住比如归档日志的存储空间满,导致数据库不能归档,引起数据库 Hang住;在一个大并发的繁忙的系统上,对 DML 操作比较多的大表进行 move、增加外键约束等操作也可能使系统在短时间内负载大幅升高,并引起数据库系统 Hang 住;不正确的资源计划(Resource Plan)配置,使进程得不到足够的 CPU 等。Page 833. Oracle 数据库的 Bug几乎每个版本都存在着会导致数据库系统 Hang 住的 Bug,这些 Bug 会在一些特定的条件下触发,特别是在 RAC 数据库中,引起数据库Hang住的 Bug 比较多。4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论