数据库force logging的作用与实现方法
创新互联公司主要从事成都做网站、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务莒县,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
随着互联网和大数据时代的到来,数据管理变得越来越重要。在企业和组织中,数据库是存储数据的重要设施。为了保护数据的完整性和可靠性,数据库需要进行日志记录。日志记录是指将所有的数据库操作记录下来,以便恢复在发生故障时丢失的数据。在日志记录过程中,数据库的Force Logging功能是一项重要的功能。
Force Logging是oracle数据库中用于强制所有的操作都写入归档日志文件的功能。Force Logging可以强制保证每个事务操作都写入数据库日志,以便在系统崩溃或者修复数据时,可以使用归档日志进行数据恢复等操作。以下是具体的作用和实现方法。
1.作用
1.1保证数据恢复的可靠性
在数据库中,重要的数据修改如增加、删除和更新操作都是在事务的基础上进行。这些事务操作需要写入归档日志文件。在数据库崩溃或者人为误操作时,可以使用归档日志进行数据恢复。如果不启用Force Logging,则会出现部分事务操作没有写入归档日志的情况,这将会导致数据库恢复失败。
1.2保证日志数据完整
在数据操作过程中,由于各种原因,比如系统故障或存储设备故障,一些日志数据可能会丢失或损坏。日志数据的不完整性会导致数据库恢复失败,而Force Logging可以保证日志数据的完整性,从而避免数据恢复失败的情况。
1.3提高数据库的性能
由于Force Logging功能可以一次性写入所有事务日志,提高了读写效率。而不启用Force Logging,则需要在每次提交事务时写入日志文件,这对于数据库的执行效率将会有很大的影响,尤其是在高并发状态下,效率下降更为明显。
2.实现方法
2.1启用Force Logging
在Oracle中,可以通过如下命令启用Force Logging:
Alter Database Force Logging;
当启用了Force Logging后所有的事务都会写入归档日志文件。这样会带来一些开销,但可以保证数据的完整性。需要注意的是,在启用Force Logging之前,必须先对数据库进行备份,这样可以对数据做好保护措施,避免在数据库恢复过程中的数据丢失。
2.2归档日志文件的管理
在启用Force Logging之后,所有的事务操作都会写入归档日志文件,这将会对系统的存储和管理带来一定的压力。需要进行归档日志文件的管理,避免文件过多或文件过大,导致存储空间的占用过大。
为了避免这种情况发生,可以在归档日志文件的每个周期结束后,将过期的归档日志文件删除或者备份到存储设备中。这样可以释放存储空间,同时还可以保留历史归档日志文件,避免在数据恢复时数据损失。
在数据库操作中,Force Logging功能是非常重要的。它可以避免数据库在崩溃或者人为误操作时发生数据丢失或损坏的情况。虽然启用Force Logging功能会增加系统开销,但它可以保证数据的完整性和系统的稳定性。因此,对于重要的系统,建议启用该功能并对归档日志文件进行有效的管理。
成都网站建设公司-创新互联为您提供网站建设、网站制作、网页设计及定制高端网站建设服务!
1、oracle双机热备叫做DataGuard简称DG,简单来说就一些步骤,每个步骤都有些概念需要了解。
2、晌铅10g和11g稍微有点区别,大谨历10g备库在热备状态不能open查询,11g支持ActiveDataguard备库可以在热备状态open并select数据:alter database open read only;。
3、DG多配置几次就会轻车熟路。
4、首先数据库必须开启归档模式,然后复制一份主库到备库,这个步骤11g也有更先进的命令,11g支持-Active database duplicate。
备份主库过程可以熟悉一下rman这个工具。
5、DG配置监听listener.ora和initSID.ora
在使用DATA GUARD 时,要求使用强制记录日志模式。日志记录模式(LOGGING 、FORCE LOGGING 、NOLOGGING)
ALTER DATABASE FORCE LOGGING;
6、启动备库
物理standby极少情况下可以以read-write模式打开,某些情况下可以以read-only模式滚搜打开,所以默认情况下,加载到mount状态即可。
SQL> STARTUP MOUNT;
启动redo应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
启动实时应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
7、DG主库和备库之间角色切换
DATAGUARD包含三个服务(日志传输、日志应用、角色转换)
8、DATAGUARD的几种保护模式:更大保护maximum protection,更大可用maximum availability,更大性能maximum performance
例如在主库修改保护模式为maximize availability,并打开数据库
ALTER DATABASE SET STANDBY DATABASE TO maximize availability;
desc v$database
名称 是否为空? 类型
—–
DBID NUMBER
NAME VARCHAR2(9)
CREATEDDATE
RESETLOGS_CHANGE# NUMBER
RESETLOGS_TIME DATE
PRIOR_RESETLOGS_CHANGE#NUMBER
PRIOR_RESETLOGS_TIMEDATE
LOG_MODEVARCHAR2(12)
CHECKPOINT_CHANGE# NUMBER
ARCHIVE_CHANGE# NUMBER
CONTROLFILE_TYPE VARCHAR2(7)
CONTROLFILE_CREATEDDATE
CONTROLFILE_SEQUENCE#NUMBER
CONTROLFILE_CHANGE#NUMBER
CONTROLFILE_TIME DATE
OPEN_RESETLOGS VARCHAR2(11)
VERSION_TIMEDATE
OPEN_MODEVARCHAR2(10)
PROTECTION_MODE VARCHAR2(20)
PROTECTION_LEVEL VARCHAR2(20)
REMOTE_ARCHIVE VARCHAR2(8)
ACTIVATION#NUMBER
SWITCHOVER#NUMBER
DATABASE_ROLE VARCHAR2(16)
ARCHIVELOG_CHANGE# NUMBER
ARCHIVELOG_COMPRESSIONVARCHAR2(8)
SWITCHOVER_STATUS VARCHAR2(20)
DATAGUARD_BROKER VARCHAR2(8)
GUARD_STATUSVARCHAR2(7)
SUPPLEMENTAL_LOG_DATA_MINVARCHAR2(8)
SUPPLEMENTAL_LOG_DATA_PKVARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_UIVARCHAR2(3)
FORCE_LOGGING VARCHAR2(3)
PLATFORM_IDNUMBER
PLATFORM_NAME VARCHAR2(101)
RECOVERY_TARGET_INCARNATION# NUMBER
LAST_OPEN_INCARNATION#NUMBER
CURRENT_SCNNUMBER
FLASHBACK_ONVARCHAR2(18)
SUPPLEMENTAL_LOG_DATA_FKVARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_ALLVARCHAR2(3)
DB_UNIQUE_NAME VARCHAR2(30)
STANDBY_BECAME_PRIMARY_SCNNUMBER
FS_FAILOVER_STATUS VARCHAR2(21)
FS_FAILOVER_CURRENT_TARGETVARCHAR2(30)
FS_FAILOVER_THRESHOLDNUMBER
FS_FAILOVER_OBSERVER_PRESENT VARCHAR2(7)
FS_FAILOVER_OBSERVER_HOSTVARCHAR2(512)
2、字段说明
DBID:数字形式的DB标识,会记录在每个数据文件头,可以根据这个来确定数据文件是属于哪一个数据库的
NAME:数据库名称(就是通俗的数据库名)
DB_UNIQUE_NAME:?
RESETLOGS_CHNAGE#:上一次resetlogs时的scn
RESETLOGS_TIME:上一次resetlogs的时间
PRIOR_RESETLOGS_CHANGE#:更早的(最早的?)restlogs时的scn
PRIOR_RESETLOGS_TIME:更早的(最早的?)restlogs时的scn
LOG_MODE:是否是归档模式,有三种可能(noarhivelog|archivelog|manual)
CHECKPOINT_CHANGE#:上一次checkpoint的scn,这个值是从控制文件中来的。
ARCHIVE_CHANGE#:表示在这个scn之前的(比这个scn小)redolog都将会自动强制归档。
CONTROLFILE_TYPE:standby表示这个数据库在standby模式;clone表示这个数据库是个clone的数据库;backup|created表示这个数据库正在从使用备份的控制文件恢复中;current表示数据库是正常模式
CONTROLFILE_CREATED:控制文件创建的时间
CONTROLFILE_SEQUENCE#:控制文件的一个递增的序列号,用途不明
CONTROLFILE_CHANGE#:控制文件中记录的scn
CONTROLFILE_TIME:上一次控制文件更新的时间
OPEN_RESETLOGS:指示下一次打开数据库是是否需要使用resetlogs来打开,可能为(not allowed|allowed|required)
VERSION_TIME:版本时间(意义不明,用途不明)
OPEN_MODE:指示数据库以什么方式打开(read only|read write|mount)
PROTECTION_MODE:数据库的保护模式(似乎在dataguard的情况下有用)
PROTECTION_LEVEL:保护等级
REMOTE_ARCHIVE:是否允许远程归档,就是remote_archive_enable初始化参数的值
ACTIVATION#:?
SWTICHOVER#:?
DATABASE_ROLE:指示数据库是logical standby|physical standby|primary
ARCHIVELOG_CHNAGE#:上一次归档动作结束时的scn,也就是最新的归档日志的所记录的最后一个SCN(根据文档也就是v$archived_log里更大的next_change#),要注意于archive_change#的区别
ARCHIVELOG_COMPRESSION:归档的压缩状况
SWITCHOVER_STATUS:switch over 的状态
DATAGUARD_BROKER:Indicates whether the Data Guard configuration is being managed by the broker (ENABLED) or not (DISABLED)
GUARD_STATUS:防止数据库修改的状态(可能为all或者none或者standby)
SUPPLEMENTAL_LOG_DATA_MIN:
SUPPLEMENTAL_LOG_DATA_PK:如果为YES则表示当有主键的表更新行时,会将组成主键的所有列也记入redo log
SUPPLEMENTAL_LOG_DATA_UI:如果为YES则表示当有unqiue键的表更新行时,会将组成unique键的所有列也记入redo log
SUPPLEMENTAL_LOG_DATA_FK:同上(记录foreign key)
SUPPLEMENTAL_LOG_DATA_ALL:同上(记录所有fix_width maximun size column)
FORCE_LOGGING:指示数据库是否在force logging模式
PLATFORM_ID:操作系统平台ID
PLATFORM_NAME:操作系统平台名称
RECOVERY_TARGET_INCARNATION#:恢复时从哪一个场景号进行恢复(每次使用resetlogs打开数据库会创建一个新的场景号)
LAST_OPEN_INCARNATION:最后一次打开的场景号
CURRENT_SCN:数据库当前的SCN
STANDBY_BECAME_PRIMARY_SCN:SCN at which a physical standby database became a primary database.
FLASHBACK_ON:是否打开了flashback 功能
FS_FAILOVER_STATUS:
FS_FAILOVER_CURRENT_TARGET:
FS_FAILOVER_THRESHOLD:
FS_FAILOVER_OBSERVER_PRESENT:
FS_FAILOVER_OBSERVER_HOST:
3、可以查询的东西
a、是否是归档模式
b、flashback功能是否打开
c、当前系统的scn
d、当前数据库的DBID、NAME、Unique Name
e、checkpoint的相关信息
f、归档日志的相关信息
g、controlfile的相关信息:创建日期、controlfile里记录的scn,
h、数据库是什么时候创建的
i、数据库所在操作系统平台信息
4、易混淆的列
name和db_unique_name
archive_change#和archivelog_change#
是一个动码粗态性能视图,主要用来查看数据库当迟派镇前的一些信息,具体可以看Oracle Document Library 的Oracle Database Reference 10g Release 2 (10.2)书的672页羡段
关于数据库force logging的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联-老牌IDC、云计算及IT信息化服务领域的服务供应商,业务涵盖IDC(互联网数据中心)服务、云计算服务、IT信息化、AI算力租赁平台(智算云),软件开发,网站建设,咨询热线:028-86922220
标题名称:数据库forcelogging的作用与实现方法(数据库forcelogging)
浏览路径:http://www.shufengxianlan.com/qtweb/news19/301269.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联