12
返回列表 发新帖
楼主: easyfree

[精华] [TIP][025] 1Z0-025 StudyNotes Lesson 1-3

[复制链接]
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
11#
 楼主| 发表于 2001-11-15 17:51 | 只看该作者

Lesson 3

[php]
3        Oracle Backup and Recovery Configuration

* After completing this lesson, you should be able to do the following:
        Identify recovery implications of operating in NOARCHIVE mode
        Describe the differences between ARCHIVELOG and NOARCHIVELOG modes
        Configure a database for ARCHIVELOG mode and automatic archiving
        Use init.ora parameters to configure multiple destinations for archived log files and multiple archive processes
        Perform manual archive of logs
* Redo Log
        Redo Log History
                NOARCHIVELOG mode下,没有历史日志保存,循环写的方式将覆盖较早的日志
                ARCHIVELOG mode下保存归档日志,可用于介质恢复media recovery
                确省安装为NOARCHIVELOG mode,可以修改
        NOARCHIVELOG mode
                采用循环写方式
                checkpoint产生后,redo log file可以即刻被重复使用
                一旦redo log被覆盖,介质恢复只能完成到上次的完整备份
                当表空间故障引起无法使用时,数据库将无法操作直至该表空间被删除或者整个数据库使用备份进行了恢复
                当系统关闭后只需要进行OS命令备份数据
                每次备份必须包括:数据文件/redo log文件/control文件等所有数据库文件
                                -- 备份redo log用于copy database并且用RESETLOGS打开新数据库
                恢复时将丢失上次完整备份以后的操作
                无法执行ONLINE备份(热备份)
                恢复时必须恢复数据文件/redo log文件/control文件
                可以使用exp文件恢复,但将导致不完整恢复而丢失部分数据和事务操作
        ARCHIVELOG mode
                一个填满的redo log file无法使用直至发生checkpoint使其被ARCn执行了归档,control文件的redo log history中将记录这个log sequence
                归档日志将用于介质恢复,实例可恢复到任意时间的最近的数据库更改
                数据库要求必须处于ARCHIVELOG模式,可用命令更改
                归档日志要求有足够的OS资源
                ARCHIVELOG模式可以保证在需要介质恢复时不丢失数据
                可以执行ONLINE备份(热备份)
                除SYSTEM表空间之外的表空间发生故障时,可以ONLINE恢复
                多个onlne日志组保证online redo log在重用前执行了归档
                可以恢复一个损坏的文件,在数据库在线或者离线时,可以恢复up-to-date
                可以进行point-in-time恢复
                可以恢复到指定的归档日志文件
                可以恢复到指定的SCN        -- 但不能恢复到指定的checkpoint
                参数LOG_ARCHIVE_DEST = filename定义归档日志位置,注意不能指向raw device.        -- 缺省=$ORACLE_HOME/dbs
                参数LOG_ARCHIVE_DUPLEX_DEST = filename or device name定义归档文件的备份地址,可用ALTER SYSTEM设定,注意不能指向raw device.
                        注意上述两个参数不能指定远程归档,建议使用下面的参数设定
                参数LOG_ARCHIVE_DEST_n(1-5)定义最多5个不同的归档日志位置
                        格式:        LOG_ARCHIVE_DEST_n = "Keyword='directory' Options Attribute"
                        需要Oracle8i版本以上        ????
                        Keyword:
                                LOCAL='directory'        必须是本地有效路径,不能是NFS路径(网络映射)
                                SERVICE='dircetory'        经过NET8可以访问的远程数据库(同TNSNAMES.ORA中的别名相同)
                                                        每个远程数据库只能指定一个归档路径
                                                        只对STANDBY数据库有效,不能用于其他地方 -- 依据???
                        Options
                                MANDATORY        表示online redo log在被覆盖之前必须成功地归档到指定路径
                                                若只设置了一个DEST,此时V$ARCHIVE_DEST中查到为OPTIONAL        -- why?????
                                                使用LOG_ARCHIVE_DEST_n时,必须至少一个是MANDATORY的
                                OPTIONAL        表示即使没有成功地归档到指定路径,online redo log也可以重用
                                LOG_ARCHIVE_DEST缺省为MANDATORY方式,而LOG_ARCHIVE_DUPLEX_DEST为OPTIONAL方式
                        Attribute
                                REOPEN                指定了归档到指定路径失败后重试的时间(秒),缺省=300秒,失败信息记录在警告日志文件中
                                                若不指定,对OPTIONAL路径的错误将被记录并忽略,以后的redo log文件将不再归档到该目录
                                                对MANDATORY路径的错误将在成功归档前防止online redo log的重用(停止等待直至成功)
                        控制enable: LOG_ARCHIVE_DEST_STATE_n =         ENABLE        从defer转换成enable时,需要将原有未归档到此路径的归档日志手工拷贝
                                                                DEFER        缺省是ENABLE
                        命令: ALTER SYSTEM SET LOG_ARCHIVE_DEST_n = '...'        -- 注意不能用null,但可以用''替代  ????结果????
                参数LOG_ARCHIVE_FORMAT = extension定义归档日志文件名格式        -- 缺省格式是????
                        %s or %S        将日志的Sequence Number作为文件名一部分,%S表示定长,左补零        -- 定长的宽度???
                        %t or %T        将线程号作为文件名一部分
                参数LOG_ARCHIVE_MIN_SUCCEED_DEST定义online redo log允许重用前必须成功归档的本地路径(keyword=LOCAL)最小个数
                        ONLINE REDO LOG在被覆盖之前必须成功地归档到的LOCAL路径个数>=GREATEST(MANDATORY,LOG_ARCHIVE_MIN_SUCCEED_DEST)
                        当LOG_ARCHIVE_MIN_SUCCEED_DEST>MANDATORY意味着LOG_ARCHIVE_MIN_SUCCEED_DEST-MANDATORY个OPETIONAL的路径也必须成功归档
        更改归档模式
                在MOUNT状态下, SQL> ALTER DATABASE [ ARCHIVELOG | NOARCHIVELOG ]        -- 重点
                        -- 注意:需要用户有ALTER SYSTEM权限
                        -- 因为要将模式记录在control file中,所以必须在mount EXCLUSIVE状态下执行
                OEM --> Backup Manager—>Logfile—>Enable/disable automatic archiving or logfile
                NOARCHIVELOG --> ARCHIVELOG        备份所有数据文件和控制文件        -- 如果没有备份将会使得恢复时后面的归档日志无法使用
        Multiple Archive Processes
                LOG_ARCHIVE_START        TRUE        设定系统自动执行归档,仅对ARCHIVELOG模式有效,注意要求数据库正常关闭后才可ENABLE
                                                启动时ARCn进程启动的数量依赖于LOG_ARCHIVE_MAX_PROCESSES
                                                -- True情况下,在命令行更改为false是否有效????
                                        FALSE        缺省值,设定归档需要DBA手工执行(如:使用SQL*Plus, SQL Worksheet, or Backup Manager)
                                                失败情况下系统将挂起
                        如果该参数在启动时设置=FALSE,在OPEN状态下可使用命令启动(且每次重启实例时都需要手工干预):
                                SQL> ALTER SYSTEM ARCHIVE LOG START TO '/u04/Oracle/TEST/log';
                                                -- 注意不是ALTER DATABASE
                                                -- 它会覆盖LOG_ARCHIVE_DEST么????
                        Disabling Archive Processing
                                SQL> ALTER SYSTEM ARCHIVE LOG STOP;        -- 在NOARCHIVELOG状态下无效???
                LOG_ARCHIVE_MAX_PROCESSES        设定当自动归档时(LOG_ARCHIVE_START=TRUE),ARCn的最大进程数,MIN=1,MAX=10
                DBA可在INSTANCE life期间增加或者删除ARCn进程(但必须保持至少一个,否则系统在日志填满时挂起)
                        SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=n;        -- 动态修改ARCn的进程个数
        Archiving Log Files Selectively
                SQL> ALTER SYSTEM ARCHIVE LOG [options]                -- 若OPTION指定的log已经归档,将发生什么????
                THREAD                归档指定线程中的redo log file group(for Oracle Parallel Server)
                SEQUENCE n        归档指定online redo log file group中的log sequence number
                CHANGE n        归档指定SCN
                GROUP                 归档指定的online redo log file group
                CURRENT         归档指定线程中的当前redo log file group                -- 先做LOG SWITCH???
                LOGFILE                归档指定日志文件的redo log file group member
                NEXT                 归档未被归档的最老的online redo log file group
                ALL                归档所有未归档的online redo log file groups
                START                设置自动归档有效
                TO                指定redo log file group归档的位置
                STOP                设置手工归档
* Obtaining Archive Log Information
        相关动态视图
                V$ARCHIVED_LOG        从控制文件中获取归档日志文件信息        -- V$LOG_HISTORY包含此视图中的部分信息(ARCHIVELOG mode)
                        RECID                NUMBER                Archived Log编号,从1顺序增长
                        STAMP                NUMBER
                        NAME                 VARCHAR2(513)        归档日志名称
                        THREAD#              NUMBER                线程号
                        SEQUENCE#            NUMBER                log sequence number
                        RESETLOGS_CHANGE#    NUMBER                RestLog时的SCN号
                        RESETLOGS_TIME       DATE                上次resetlog时间
                        FIRST_CHANGE#        NUMBER                该Archive log中的第一个SCN号        -- 找到每个Archive Log包含的SCN
                        FIRST_TIME           DATE                该Archive log中的第一个SCN时间戳
                        NEXT_CHANGE#         NUMBER                下一个Archive log中的第一个SCN号
                        NEXT_TIME            DATE                下一个Archive log中的第一个SCN时间戳
                        BLOCKS               NUMBER                Archive log的OS block number
                        BLOCK_SIZE           NUMBER                Archive log的OS block size
                        ARCHIVED             VARCHAR2(3)
                        DELETED              VARCHAR2(3)
                        COMPLETION_TIME      DATE                完成归档时间
                V$ARCHIVE_DEST        描述当前实例的归档目标的路径/状态/模式/错误信息等
                        DEST_ID              NUMBER
                        STATUS               VARCHAR2(9)        VALID/DEFERRED/ERROR/INACTIVE        -- 只要归档发生错误,STATUS=ERROR
                                VALID                目的地ENABLE,并且noerror
                                DEFERRRED        目的地被禁止
                                ERROR                目的地有错
                                INACTIVE        目的地未定义 ???
                        BINDING              VARCHAR2(9)        MANDATORY/OPTIONAL
                        NAME_SPACE           VARCHAR2(7)
                        TARGET               VARCHAR2(7)        PRIMARY/STANDBY
                        REOPEN_SECS          NUMBER                重试的秒数
                        DESTINATION          VARCHAR2(256)        归档位置
                        FAIL_DATE            DATE
                        FAIL_SEQUENCE        NUMBER                错误的序列号
                        FAIL_BLOCK           NUMBER
                        ERROR                VARCHAR2(256)        对STATUS='ERROR'的描述
                V$DATABASE        当前ARCHIVE状态
                        DBID                      NUMBER
                        NAME                      VARCHAR2(9)
                        CREATED                   DATE
                        RESETLOGS_CHANGE#         NUMBER
                        RESETLOGS_TIME            DATE
                        PRIOR_RESETLOGS_CHANGE#   NUMBER
                        PRIOR_RESETLOGS_TIME      DATE
                        LOG_MODE                  VARCHAR2(12)        ARCHIVELOG/NOARCHIVELOG
                        CHECKPOINT_CHANGE#        NUMBER
                        ARCHIVE_CHANGE#           NUMBER
                        CONTROLFILE_TYPE          VARCHAR2(7)
                        CONTROLFILE_CREATED       DATE
                        CONTROLFILE_SEQUENCE#     NUMBER
                        CONTROLFILE_CHANGE#       NUMBER
                        CONTROLFILE_TIME          DATE
                        OPEN_RESETLOGS            VARCHAR2(11)
                        VERSION_TIME              DATE
                        OPEN_MODE                 VARCHAR2(10)        READ WRITE/READ ONLY
                V$ARCHIVE_PROCESSES        当前例程的各个ARCn进程的状态,始终10条记录: ARC0-ARC9
                        PROCESS              NUMBER                ARCn进程编号
                        STATUS               VARCHAR2(10)        ACTIVE/STOPPED        活动的/无该进程
                        LOG_SEQUENCE         NUMBER                当前正在归档的日志编号
                        STATE                VARCHAR2(4)        BUSY/IDLE        正在ARCHIVE/空闲
        ARCHIVE LOG LIST
                数据库日志模式                Database log mode         Archive mode
                自动归档                     Automatic archival         Enabled
                归档目标                Archive destination         /oracle/backup/archive/        -- 仅显示其中的一个
                最早的联机日志序列        Oldest online log sequence         1304
                下一个要归档的日志序列        Next log sequence to archive         1305                -- 仅在ARCHIVELOG模式下显示
                当前日志序列                Current log sequence                 1305                -- 当前log file的日志序列号
--- 1/2 ---
[/php]

使用道具 举报

回复
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
12#
 楼主| 发表于 2001-11-15 17:52 | 只看该作者

Lesson 3 2/2

[php]
* Recovery Configuration
        FAST_START_IO_TARGET        影响Instance恢复的时间        ??????
                Service level required
                AVGIOTIM column in V$FILESTAT
                由此参数估计出来的Recovery Time也只是一个估计值,还受以下因素影响
                        对此参数的检查是有时间间隔的,可能发出超出设定值的情况
                        有些时间没有考虑在内:读redo log file/数据lock等,但一般这些时间<5%的总恢复时间
                        如果使用了Parallel Recovery(并行恢复),则恢复时间可能减少
        Check impact of parameters from:
                V$INSTANCE_RECOVERY
                        RECOVERY_ESTIMATED_IOS           NUMBER        基于the fast-start检查点参数的用于恢复的数据块估算值
                        ACTUAL_REDO_BLKS                 NUMBER        当前恢复需要的redo blocks数量
                        TARGET_REDO_BLKS                 NUMBER        在恢复过程中处理redo blocks的最大目标数量????它是下面四个值的最小值
                        LOG_FILE_SIZE_REDO_BLKS          NUMBER        在恢复中处理的redo blocks数以保证log switch不会等待检查点
                        LOG_CHKPT_TIMEOUT_REDO_BLKS      NUMBER        在恢复到符合LOG_CHECKPOINT_TIMEOUT值时需要处理的redo blocks数量
                        LOG_CHKPT_INTERVAL_REDO_BLKS     NUMBER        在恢复到符合LOG_CHECKPOINT_INTERVAL值时需要处理的redo blocks数量
                        FAST_START_IO_TARGET_REDO_BLKS   NUMBER        在恢复到符合FAST_START_IO_TARGET值时需要处理的redo blocks数量
                V$TARGETRBA
                        LOG_FILE_SIZE                    NUMBER
                        LOG_CKPT_INTERVAL                NUMBER
                        INC_EST_RCV_READS                NUMBER        在恢复中需要读取的估计blocks数量(存在控制文件中)
                        CUR_EST_RCV_READS                NUMBER
                        TARGET_RBA_SEQ                   NUMBER
                        TARGET_RBA_BLK                   NUMBER
                        ON_DISK_RBA_SEQ                  NUMBER
                        ON_DISK_RBA_BLK                  NUMBER
                        INC_CKPT_SEQ                     NUMBER
                        INC_CKPT_BLK                     NUMBER
                        LOG_TIMEOUT_SEQ                  NUMBER
                        LOG_TIMEOUT_BLK                  NUMBER
                        RCV_READS_RBA_SEQ                NUMBER
                        RCV_READS_RBA_BLK                NUMBER
                V$ARCHIVE        需要Archive的Redo log信息
                        GROUP#                           NUMBER
                        THREAD#                          NUMBER
                        SEQUENCE#                        NUMBER
                        CURRENT                          VARCHAR2(3)
                        FIRST_CHANGE#                    NUMBER
--- end ---

[/php]

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表