配置归档日志,让数据库管理更加顺畅

配置归档日志,让数据库管理更加顺畅,第1张

一 更改日志 *** 作模式三步走

默认情况下 Oracle数据库采用的是非归档模式 但是 非归档模式不能够防止因物理损坏而导致丢失数据问题 为此数据库管理员可能需要把日志 *** 作模式从非归档模式转换为归档模式 其实 要进行这个转换的话 只需要通过简单的三个步骤即可 不过在进行 *** 作之前 要需要注意 以下的 *** 作都必须要求用户具有数据库管理员的权限 即只有SYSDBA或者SYSOPER身份才能够执行如下的 *** 作

要更改日志 *** 作模式 具体 *** 作步骤如下

第一步 先确定当前的日志 *** 作模式 当数据库管理员更改当前 *** 作日志模式之前 需要先确定一下当前日志 *** 作模式 此时数据库管理员可以查询动态性能视图 来确认当前日志 *** 作模式 如可以利用如下语句来查询我们所需要的信息 动态性能视图中存储著很多数据库运行信息 从中我们数据库管理员可以获取很多有用的信息 如现在要了解当前数据库的日志 *** 作模式 就可以从数据库动态性能视图中获知

第二步 关闭数据库 如果确认数据库当前的日志 *** 作模式为非归档模式 需要把它改为归档 *** 作模式 需要先关闭当前运行的数据库 然后重新装载数据库 需要注意的是 更改日志 *** 作模式只能够在MOUNT状态下进行 因此必须首先关闭数据库 然后重新装载数据库 另外 如果需要更改日志 *** 作模式 那么在关闭数据库时不能够使用SHUTDOWN ABORT命令 SHUTDOWN ABORT命令的作用其实跟KILL进程具有同样的效果 若利用这个命令的话 可能会给数据库带来一些不利的因素 如可能导致文件状态不一致 在数据库正常关闭的时候 数据库会同步校验各个文件 使得重新启动的时候文件时间点一致并且不用进行崩溃修复 而使用这个命令不会进行这个检验 所以 采用SHUTDOWN ABORT命令关闭数据库的时候 可能会导致数据库启动出错 导致已经递交的数据丢失 甚至出现数据库崩溃的噩梦 所以 无论是在更换数据库日志 *** 作模式 又或者其他原因需要关闭数据库的 最好不要采用这个命令 只有在采用其他关闭数据库命令不能够奏效的情况下 才能够使用这个命令 笔者建议通过SHUTDOWN IMMEDIATE命令来关闭数据库

数据库关闭之后 再利用Startup命令 把数据库启动到MOUNT状态 再次提醒一次 只有在Mount状态下才能够更改日志 *** 作模式

第三步 更改日志 *** 作模式 以上准备工作做好之后 就可以利用相关命令来更改日志 *** 作模式 我们可以利用如下命令来进行更改

然后重新打开数据库之后 设置就生效了

二 手工对重做日志文件进行归档

有时候出于某些原因 数据库管理员可能需要手工对重做日志进行归档 在 G以后的版本中 默认情况下 当将日志 *** 作模式从非归档模式转换为归档 *** 作模式的时候 Oracle数据库会在后台自动启动一个ARCH进程 这个进程就是负责重做日志的备份任务 通常情况下 归档模式下 数据库会自动备份重做日志

若需要手工备份重做日志的话 即手工归档 则必须在改变 *** 作日志模式中明确说明 即在上面的命令中 加入MANUAL参数 如果加入这个参数后 则数据库管理员就必须手工执行归档命令 如果数据库管理员没有手工执行归档命令的话 则日志组中的内容就无法被进行覆盖 所以通常情况下 除了一些特殊的需要 如数据库测试 才使用手工归档方式 否则的话 就还是采用自动归档方式更加的合理 值得一提的是 根据笔者了解 这个参数只是一个过渡参数 主要为了跟以前的Oracle数据库版本兼容 估计在不久之后 这个手工归档的参数会取消掉

三 设置归档文件的存储位置

在 *** 作系统管理中 系统管理员往往会重新设置我的文档 IE收藏夹等存储位置 以防止系统奔溃时这些数据的丢失 其实 在Oracle归档日志文件管理中也是如此 当数据库管理员把日志 *** 作模式从非归档模式转换为归档模式时 需要根据实际情况 重新设置归档文件的存储位置

当数据库处于归档模式时 如果进行日志切换 后台进程将自动生成归档日志文件 归档日志文件的默认存储位置为Oracle数据库安装目录下的RDBMS下 而在实际工作中 数据库管理员往往会改变其存储位置 如出于空间的考虑或者安全方面的考虑 会把归档日志存放在数据文件不同的硬盘中 等等

如果需要更改归档日志的 *** 作文件 则需要变更相应的初始化参数 参数Log Archive Dest就是用来控制归档日志的存储路径的 通常情况下 若是没有备用数据库的话 则只需要把归档日志存放到服务器上的独立的硬盘中即可 而不需要进行异地备份 如果需要配置本地归档日志的存储路径 则可以通过以上的初始化参数以及Log Archive Duples_Dest参数 其中前面一个参数用来指定第一个归档日志的位置 第二个参数用来指定第二个归档日志的位置 当分别对以上两个参数进行配置后 数据库系统在进行日志切换时 后台进程就会生成两份完全相同的归档日志 分别存储在上面两个不同的路径中 这里需要强调的一点是 存放在两个不同路径中的归档日志文件是完全相同的 这主要是出于数据安全的需要 一般情况下 只需要一个归档日志即可 若不放心的话 则可以设置多个归档日志存放位置 不过这些归档日志最好能够存放到不同的磁盘上 否则的话 就没有多少的实际意义

除了以上这个配置参数之外 平时工作中 我们还经常会使用Log Archive Dest_N这个参数 这个参数主要用于指定多个归档位置 通常情况下 可以多大十个归档位置 这个参数跟先前提到的两个参数有比较大的不同 数据库管理员要对此有清晰的认识 只有如此 才能够根据自己的需要 选择合适的初始化参数 他们的差异主要有以下几点

一是不带N的初始化参数(即前面的两个参数)只能够用来配置本地归档位置 而后面谈到的这个参数这可以用来配置本地归档位置与远程归档位置 也就是说 如果数据库管理员要把归档日志文件保存在网络上的其它主机中时 就必须利用后面的参数进行配置 这个区别是几个参数之间最大的差异 不过由于网络传输等方面的限制 笔者并不建议把归档日志保存在其它主机上 而是建议在数据库服务器中增加一块独立的硬盘用来保存归档日志文件即可 因为硬盘之间数据的复制要比网络传输要快的多 这可以避免重做日志归档时对网络资源过多的占用 从而降低网络的性能

二是前面两个参数只能够配置两个不同的归档日志位置;而后面一个参数则可以配置多大十个归档日志文件位置 这是两者数量上的差异 不过没什么作用 对于大部分企业来说 可能两个归档日志文件存放位置已经可以满足他们的需求了 另外一个小的差异就是 后面这个参数不能够跟前面两个参数共存 为此 当使用后者这个参数时 就需要先把前面两个参数禁用掉 因为数据库默认情况下 是启动第一个初始化参数的

三是具体的配置也有所不同 利用后者参数指定归档日志存储位置时 如果配置本地归档位之 则需要指定Location选项;如果是配置远程归档日志位置时 则就需要制定Service选项 这个选项主要用来指定远程数据库的网络服务名 通常情况下 数据库管理员可以同时配置本地归档位置与远程归档位置

lishixinzhi/Article/program/Oracle/201311/18259

打开侧边栏

九牧智能智能坐便器自动下水坏了怎么可以换换一套

如果九牧智能智能坐便器自动下水坏了需要更换,以下是一些基本步骤:

首先联系九牧智能客服解释情

首先联系九牧智能客服解释情况并获取更多的支持和指导。

如果你有安装说明书或者 *** 作手册的话,可以先参考一下该手册上的说明,查看更换下水的步骤。如果你有安

如果需要更换整套坐便器,可能需要找到对应的新设备,按照说明进行新的安装。如果需要更换整套坐

如果只需要更换坏掉的零部件,可以询问九牧智能客服哪些部件需要更换,然后购买相应的零部件。如果

更换坏掉的零部件需要先关闭电源和水源,然后拆下损坏的部件,安装新的零部件,并重新连接应用程序。更换坏掉的零部件需要先关闭电源和水源,然后

在完成更换后,重新启动坐便器并进行测试,确保所有功能都正常。

记住,任何时间,在更换和安装过程中,都需要注意安全,以免造成任何不必要的损伤。

文奇,

如果电脑本地时间发生了变化,可能会影响到 WinCC 数据库归档文件夹的时间。

这个问题可以通过以下步骤解决:这个问题可以

确认电脑本地时间是否已经调整为正确的时间,如果未正确调整,请尝试手动调整本地时间。

检查 WinCC 数据库归档文件夹中的时间是否与本地时间同步。如果不同步,请尝试手动修改文件夹的创建/修改时间。赢

如果手动修改文件夹时间无法解决问题,请尝试使用 WinCC 时钟修补补丁。该补丁可以修复 WinCC 数据库的时钟同步问题,同时也可以确保 WinCC 数据库和电脑本地时间的同步。如果

如果以上步骤不能解决问题,最好联系 WinCC 的技术支持团队以获取更多的帮助。WinCC

可以从以下原因分析:

1、查看数据库是否为归档模式,如果是个人用的测试数据库就没有必要设置归档了。

2、查看数据库的内存使用情况,如果是ORACLE可以查看SGA区的大小。

3、检查数据库空间的占用情况,对于ORACLE来说,如果表空间不够大,可以采用增加数据文件或者调整数据文件大小的方式。

4、检查是否存在文件碎片,对于windows系统,经常会因为文件碎片影响系统运行性能。

在oracle数据库的开发环境和测试环境中 数据库的日志模式和自动归档模式一般都是不设置的 这样有利于系统应用的调整 也免的生成大量的归档日志文件将磁盘空间大量的消耗 但在系统上线 成为生产环境时 将其设置为日志模式并自动归档就相当重要了 因为 这是保证系统的安全性 有效预防灾难的重要措施 这样 通过定时备份数据库和在两次备份间隔之间的日志文件 可以有效的恢复这段时间的任何时间点的数据 可以在很多时候挽回或最大可能的减少数据丢失 虽然ORACLE数据库的日志模式和自动归档设置并不复杂 但其中的一些概念和 *** 作过程还是容易混淆的 现在根据本人的经验 分析介绍如下 所用环境为UNIX(HPUX SOLARIES AIX TRU UNIX)和ORACLE 一 要使OARCLE数据库进行日志的自动归档 需要做两方面的事情 一是数据库日志模式的设置(database log mode 可为Archive Mode和No Archive Mode) 另外就是自动归档模式设置(Automatic archival 可为Enabled和Disabled) 二 如何查看数据库的现行日志和自动归档模式的设置 可用archive log list命令来查看 例如 运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境)SVRMGR> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination/backup/archivelogOldest online log sequence Next log sequence to archive  Current log sequence  没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境)SVRMGR> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination/u /app/oracle/product/ /dbs/archOldest online log sequence Current log sequence  三 数据库日志模式的设置 在创建数据库时 可以在CREATE DATABASE 语句中指定数据库的日志模式 假如没有指明 则缺省为NOARCHIVELOG模式 由于如果在创建数据库时指明是Archive Mode的话 会增加约 %的创建时间 而在以后启动INSTANCE时再设置的话 一般只用去几秒的时间 所以一般在创建数据库时是不设置为ARCHIVE MODE的 如要确定一系统数据库的日志模式设置 除了(二)中的方法外也可以执行如下 *** 作查看 SVRMGR> Select from V$DATABASENAME CREATEDLOG_MODE CHECKPOINT ARCHIVE_CH ORCL  / / : :NOARCHIVELOG  将数据库的日志模式设置切换(Archive Mode 和No Archive Mode之间的切换)的步骤和 *** 作如下 关闭运行的数据库实例SVRMGRL> shutdown在进行日志模式切换之前 必须将运行的数据库正常关闭 备份数据库该备份跟以后产生的日志一起用于将来的灾难恢复(很重要 如要改为归档日志模式 没有这个数据库备份 仅有日志文件是无法从该时间点恢复的) 启动数据库实例到mount状态 但不要打开 SVRMGRL> startup mount注意 如果是使用OPS的话 请只打开一个数据库实例进行模式切换 *** 作 切换数据库日志模式 SVRMGRL> alter database archivelog;(设置数据库为归档日志模式)或SVRMGRL> alter database noarchivelog;(设置数据库为归档日志模式) 打开数据库SVRMGRL> alter database open; 确认数据库现在处于归档日志模式 SVRMGRL> archive log list;Database log mode  Archive ModeAutomatic archival EnabledArchive destination for example: $ORACLE_HOME/dbs/archOldest on line log sequence Next log sequence  Current log sequence 将这个时间点的redo logs归档SVRMGRL> archive log all; 确认新产生的日志文件已在相应的归档目录下面 四 自动归档模式设置(Automatic archival 可为Enabled和Disabled) 在该模式下 数据库启动一个arch进程 专门负责将redo logs写到系统归档设备的相应目录下 在数据库的参数文件中设置参数(一般是在$ORACLE_HOME/dbs/init ora文件中) LOG_ARCHIVE_START=LOG_ARCHIVE_DEST=LOG_ARCHIVE_FORMAT=LOG_ARCHIVE_START:如要求自动归档的话 则设为TRUE 如要求为非自动归档的话 则设为FALSELOG_ARCHIVE_DEST:该参数设定了archive logs 归档存放的路径 LOG_ARCHIVE_FORMAT:该参数设定了archive logs的命名格式 例如 如将格式设为: arch%s arclog 文件将为: arch arc arch arc arch arc这几个参数设置只有在数据库实例启动前设置才能生效 如果在数据库运行中进行设置 要使其生效 必须重起数据库 如果数据库正在运行中 不能即刻重起 要设置其为自动归档模式 则做如下 *** 作 SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;如要设置其为非自动归档模式(取消自动归档) 则 SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;但如果数据库重起后 给语句修改的结果就失效了 自动归档的设置还是按照系统参数文件中的LOG_ARCHIVE_START的值来设置 五 几种设置情况 ( ) Database log mode Archive ModeAutomatic archival Enabled这是在大部分生产环境中的ORACLE数据库日志及归档模式设置 这种情况下 做好数据库的定期备份(有热备和冷备)和归档日志备份 可有效的将数据库恢复到有归档日志的全部时间点 ( ) Database log mode Archive ModeAutomatic archival Disabled这种情况下 数据库不能自动归档 需要进行手工归档 如果所有在线日志都写满了 又没有的及时进行手工归档的话 由于LGWR没有可用的在线日志可写 数据库将会挂在这儿 只有进行手工归档后 有可用的在线日志后才能继续 在生产环境中应该避免这种情况 手工归档 *** 作如下 SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;数据库将会把在线日志进行归档处理( ) Database log mode NO Archive ModeAutomatic archival Enabled有些相对欠缺经验的管理员在进行设置时 只在数据库参数文件中设置了LOG_ARCHIVE_START=TRUE 然后在数据库起来后查看到ARCH归档进程已经起来了 可是尽管ORACLE已经作了几次日志切换 但还是没有归档日志 这时的设置就是这种情况 如果数据库不是处在ARVHIVELOG模式 redolog 还是不会被归档 ( ) Database log mode NO Archive ModeAutomatic archival Disabled这种设置是刚安装的oracle数据库的缺省设置 开发环境也大部分如此 即没有进行归档 lishixinzhi/Article/program/Oracle/201311/18755

#说明:由csdn下载,原版为doc格式,有对应的xml表,不过还是应该对每个服务的数据库单独考虑需要的检查表格。

DB2维护手册

目录

DB2维护手册 1

一、 DB2日常维护日 *** 作 3

1、 检查管理服务器是否启动 3

2、 检查DB2实例是否已经启动 3

3、 查看表空间状态是否正常 3

4、 查看表的状态 4

5、 查看磁盘空间 4

6、 检查存储管理软件是否正常 4

7、 检查数据库备份是否正常 5

8、 检查归档日志是否正确归档了 5

9、 查看缓冲池的命中率 5

10、 查看当前运行最频繁的SQL,其命中率是否正常 5

11、 查看当前连接的应用程序,有没有非法连接 5

12、 检查有没有死锁 6

13、 对表和索引进行RUNSTATS 6

14、 检查表是否需要重组 6

15、 对需要重组的表进行重组 7

二、 DB2日常维护月 *** 作 7

1、 查看DB2日志 7

2、 检查备份和日志是否都保存好了 7

三、 DB2日常维护季度 *** 作 7

1、 通过快照监控器,查看系统性能如何 7

2、 数据库补丁级别 8

四、 注意事项 8

1、 不要删除活动日志文件 8

2、 注意交易日志存储空间 8

3、 按照系统的实际工作量配置日志空间 8

4、 设置正确数据库代码页 9

5、 检查许可证(LICENSE)安装情况 9

6、 创建数据库前调整好系统时间 9

7、 不要随便执行 CHOWN (CHMOD) –R (UNIX/LINUX) 9

8、 在归档日志模式下使用LOAD记得加NONRECOVERABLE参数 9

五、 附:以脱机方式重组表 9

六、 附:索引重组 10

七、 附:收集和更新统计信息的准则 11

八、 附:使用 CLP 捕获数据库运行状况快照 13

一、 DB2日常维护日 *** 作

1、 检查管理服务器是否启动

用ps命令查看是否有dasusr1后台进程

#ps -ef | dasusr1

请确保管理服务器已经启动,如果没有启动,则按以下步骤启动管理服务器:

 以管理服务器用户(UNIX默认是DASUSR1)登录

 发出db2admin start命令

 如果是HA环境,则要保证在脚本中正确配置了启动命令

2、 检查DB2实例是否已经启动

用ps命令查看是否有db2sysc后台进程

#ps -ef | db2sysc

也可以以DB2实例所有者登录,通过发出db2start命令来确保启动了实例(如果实例已经启动,则会告知SQL1026N 数据库管理器已激活;否则,将把实例启动起来)

3、 查看表空间状态是否正常

以db2实例所有者登录

#db2 list tablespaces show detail //在单分区上查看表空间的状态,正常返回0x0000

# db2_all list tablespaces show detail //在所有分区上查看表空间的状态

可以使用LIST TABLESPACES 命令确定连接数据库中表空间的当前状态,可以使用SHOW DETAIL选项查看表空间的详细信息。比如,我们连上SAMPLE数据库,执行list tablespaces show detail ,可以看到状态返回值是0x0000,此时,使用db2tbst可以查看状态编号对于的状态含义,具体语法如下:

db2tbst <tablespace state> 可以查看编号所代表的状态

db2tbst 命令接收十六进制的状态值,并返回相应的表空间状态。例如,命令 db2tbst 0x0008 返回 State = Load Pending 。而该十六进制的状态值反过来又是 LIST TABLESPACES 命令输出的组成部分。表空间的外部可见状态是由单个状态值的十六进制总和构成的。例如,如果表空间的状态是 Backup Pending和 Load in Progress,那么所返回的十六进制值就是 0x20020(0x00020 + 0x20000)

4、 查看表的状态

查询系统目录视图以获得关于数据库的有用信息。例如,下面的语句使用 NOT LIKE 断言,返回在 SYSCATTABLES 中有项的所有用户定义的表的名称,以及每个表的列数和表的状态(N = 正常;C = 待审核(check pending))

#db2 select tabname, colcount, status FROM syscattables WHERE tabschema NOT LIKE 'SYS%' ORDER BY tabname

也可以使用load query命令查看单个表的状态,比如对表TEST1,我们可以发出如下命令:

#db2 load query table test1

5、 查看磁盘空间

查看数据库活动日志目录是否已满,活动日志目录可以使用get db cfg查看,注意一定不要手工删除活动日志

#df -k

查看SMS表空间对应的容器目录空间是否满了

#df -k

查看DMS表空间中是否还有可用页

#db2 list tablespaces show detail //在单分区上查看表空间的是否还有可用页

# db2_all list tablespaces show detail //在所有分区上查看表空间是否还有可用页

6、 检查存储管理软件是否正常

请检查TSM或其他存储管理软件是否正常,以及磁带机是否运行正常。

7、 检查数据库备份是否正常

请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令

# db2 list history backup all for 数据库名

8、 检查归档日志是否正确归档了

请确保活动日志目录下没有的日志文件都已经正确归档到了带机上(查看TSM或第三方存储管理软件)。

查看活动目录里的日志文件:

#ls -l

9、 查看缓冲池的命中率

# db2 get snapshot for bufferpools on 数据库名

查看缓冲池的命中率,看其是否低于95%(命中率越高越好)

10、 查看当前运行最频繁的SQL,其命中率是否正常

# db2 get snapshot for bufferpools on 数据库名 > logtxt

用grep命令查看" Number of executions"执行次数最频繁的语句,看其命中率是否正常。

比如:

grep -n " Number of executions" snapout | grep -v "= 0" | sort -k 5,5rn | more

11、 查看当前连接的应用程序,有没有非法连接

#db2 list applications show detail

看这些连接的情况,看有没有不合适的IP连上来,或者不被允许的第三方工具连上来,比如一些第三方工具连上来会对表进行锁定,影响业务系统正常运行,这个时候可以用FORCE APPLICATIONS (应用程序句柄)停下来。

12、 检查有没有死锁

# db2 get snapshot for all on 数据库名 > logtxt

用grep命令查看输出的文件中是否有死锁的记录,比如

grep -n "Deadlocks detected" logtxt | grep -v "= 0" | more

13、 对表和索引进行runstats

#db2 runstats on table 表名 and index all

对系统表以及变化比较频繁的表运行统计信息,建议写成shell脚本自动运行。

14、 检查表是否需要重组

使用REORGCHK命令,通过统计数据检查表是否需要重组,语法如下:

REORGCHK [UPDATE | CURRENT ]STATISTICS ON [TABLE SYSTEM| TABLE USER | TABLE ALL | TABLE table_name | SCHEMA schema_name]

UPDATE STATISTICS: 更新表的统计数据,根据该统计数据判断是否需要重组表

CURRENT STATISTICS:根据当前表统计数据判断是否需要重组表

TABLE table_name : 对单个表进行分析

TABLE ALL: 对数据库所有的表进行分析

TABLE SYSTEM: 对系统表进行分析

TABLE USER : 对当前用户模式下的所有表进行分析

#db2 reorgchk update statistics on table all

15、 对需要重组的表进行重组

#db2 reorg table 表名 //通过重构行来消除“碎片”数据

#db2 reorg indexes all for table 表名 //只重组索引

比如:

reorg table db2inst1org index by_id

将根据索引by_id,如果不加INDEX选项将重组表和所有的索引

reorg table db2inst1org index by_id use tempspace1

使用指定的临时表空间重组表

表重组完成后需要进行RUNSTATS。另外,记住在分区数据库环境中,如果想在所有节点运行命令,需要使用db2_all命令。

二、 DB2日常维护月 *** 作

1、 查看DB2日志

请至少每月查看一次db2diaglog文件,看其中是否有异常。

2、 检查备份和日志是否都保存好了

通过TSM或第三方存储管理软件,查看备份和归档日志是否都保存好了,在数据库级别查看备份,可以使用:

# db2 list history backup all for 数据库名

三、 DB2日常维护季度 *** 作

1、 通过快照监控器,查看系统性能如何

通过快照监控器,抓取数据库的信息,分析数据库性能是否合理:

# db2 get snapshot for all on 数据库名 > logtxt

2、 数据库补丁级别

# db2level

四、 注意事项

1、 不要删除活动日志文件

DB2 的活动日志文件不能被删除。一旦 DB2 的活动日志文件被删除,或者所在的存储设备出现问题,则不可避免地造成 DB2 数据库系统宕机。

2、 注意交易日志存储空间

在归档日志模式下,如果没有使用自动归档方式,则存储的日志文件会不断增多,有可能造成日志所在的文件系统空间满。 当这种情况发生时,会根据参数 BLK_LOG_DSK_FUL 的配置而有不同的现象:

1)如果该参数启用,则 DB2 数据库可继续读 *** 作,但是写 *** 作会挂起

2)如果该参数没有启用,则 DB2 数据库会停止工作

两种情况下,都需要到日志所在的文件系统添加了空间才恢复正常。

3、 按照系统的实际工作量配置日志空间

DB2数据库通过日志文件维护数据的完整性和一致性。DB2 数据库的日志空间可通过如下公式计算:

日志空间 = (主日志文件 + 二级日志文件) 日志文件尺寸

其中:

1) 主日志文件由参数 LOGPRIMARY 控制,

2) 二级日志文件由参数 LOGSECOND 控制

3) 日志文件尺寸由参数 LOGFILSIZ 控制

4) LOGPRIMARY + LOGSECOND < 256 (不同的 DB2 版本略有不同,请参看相同版本的 DB2 手册确认)

4、 设置正确数据库代码页

由于数据库的代码页在数据库创建之后是无法修改的,所以在创建数据库时一定要选择正确的代码页。

错误的数据库代码页会造成 JDBC/ODBC 访问时中文字段被截断(包括控制中心),这种情况需要重建数据库以修改数据库代码页。

从全局规划来说,如果应用需要访问多个数据库,那么这多个数据库的代码页应该是一致的。

5、 检查许可证(License)安装情况

许可证过期会造成不必要的服务中断,所以在 DB2 安装完毕后,建议检察许可的安装情况

6、 创建数据库前调整好系统时间

在数据库创建好之后,调整系统时间会造成数据库内部时间戳的异常。数据库中一些对象和时间相关,一旦时间不准确要调整需要很小心。错误的时间调整可能会造成很多问题,如:

1)某些对象失效,例如 :

SQL0440N,找不到具有兼容自变量的类型为 “<例程类型>” 的名为 “<例程名>” 的已授权例程

2)数据库日志逻辑错误 -> 宕机

3)常见错误 – 只调整时间,未调整时区

7、 不要随便执行 chown (chmod) –R (UNIX/Linux)

在实例目录下chown (chmod) -R 会造成

1) 在数据库服务器上 db2 connect to <dbname> 能连接上数据库

2) db2 connect to <dbname> user using 连接不上

8、 在归档日志模式下使用LOAD记得加NONRECOVERABLE参数

五、 附:以脱机方式重组表

以脱机方式重组表是整理表碎片的最快方法。重组可减少表所需的空间量并提高数据访问和查询性能。

必须具有 SYSADM、SYSCTRL、SYSMAINT 或 DBADM 权限,或者必须具有对表的 CONTROL 权限才能重组表。必须具有数据库连接才能重组表。

标识需要重组的表之后,可以对这些表运行 REORG 实用程序,并且可以选择对在这些表上定义的任何索引运行该实用程序。

1 要使用 CLP 重组表,请发出 REORG TABLE 命令:

db2 reorg table testemployee

要使用临时表空间 mytemp 重组表,请输入:

db2 reorg table testemployee use mytemp

要重组表并根据索引 myindex 对行进行重新排序,请输入:

db2 reorg table testemployee index myindex

2 要使用 SQL 调用语句重组表,请使用 ADMIN_CMD 过程发出 REORG TABLE 命令:

call sysprocadmin_cmd ('reorg table employee index myindex')

3 要使用 DB2 管理 API 重组表,请使用 db2REORG API。

在重组表之后,应收集有关表的统计信息,以便优化器具有最准确的数据来评估查询访问方案。

六、 附:索引重组

通过删除和插入 *** 作对表进行更新后,索引的性能会降低,其表现方式如下:

• 叶子页分段

叶子页被分段之后,由于必须读取更多的叶子页才能访存表页,因此 I/O *** 作成本会增加。

• 物理索引页的顺序不再与这些页上的键顺序相匹配(此称为不良集群索引)。

叶子页出现不良集群情况后,顺序预取 *** 作的效率将降低,因此会导致更多的 I/O 等待。

• 形成的索引大于其最有效的级别数。

在此情况下应重组索引。

如果在创建索引时设置了 MINPCTUSED 参数,则在删除某个键且可用空间小于指定的百分比时,数据库服务器会自动合并索引叶子页。此过程称为联机索引整理碎片。但是,要复原索引集群和可用空间以及降低叶级别,请使用下列其中一种方法:

• 删除并重新创建索引。

• 使用 REORG INDEXES 命令联机重组索引。

因为此方法允许用户在重建表索引期间对表进行读写 *** 作,所以在生产环境中可能需要选择此方法。

• 使用允许脱机重组表及其索引的选项运行 REORG TABLE 命令。

联机索引重组

在使用 ALLOW WRITE ACCESS 选项运行 REORG INDEXES 命令时,如果同时允许对指定的表进行读写访问,则会重建该表的所有索引。进行重组时,对基础表所作的任何将会影响到索引的更改都将记录在 DB2® 日志中。另外,如果有任何内部内存缓冲区空间可供使用,则还将这些更改放在这样的内存空间中。重组将处理所记录的更改以便在重建索引时与当前写活动保持同步更新。内部内存缓冲区空间是根据需要从实用程序堆中分配的指定内存区域,它用来存储对正在创建或重组的索引所作的更改。使用内存缓冲区空间使索引重组 *** 作能够通过这样的方式来处理更改,即先直接从内存读取,然后读取日志(如有必要),但读取日志的时间要晚得多。在重组 *** 作完成后,将释放所分配的内存。重组完成后,重建的索引可能不是最佳集群的索引。如果为索引指定 PCTFREE,则在重组期间,每页上均会保留相应百分比的空间。

对于分区表,支持对各个索引进行联机索引重组和清除。要对各个索引进行重组,指定索引名:REORG INDEX index_name for TABLE table_name

对于空间索引或多维集群(MDC)表,不支持采用 ALLOW WRITE 方式的联机索引重组。

注: REORG INDEXES 命令的 CLEANUP ONLY 选项不能完全重组索引。CLEANUP ONLY ALL 选项将除去那些标记为“删除”且被认为要落实的键。此外,它还将释放所有标记为“删除”且被认为要落实的键所在的页。在释放页后,相邻的叶子页将会合并,前提是这样做可以在合并页上至少留出 PCTFREE 可用空间。PCTFREE 是指在创建索引时为其定义的可用空间百分比。CLEANUP ONLY PAGES 选项仅删除那些标记为“删除”且被认为要落实的所有键所在的页。

使用 CLEANUP ONLY 选项对分区表的索引进行重组时,支持任何访问级别。如果未指定 CLEANUP ONLY 选项,则缺省访问级别 ALLOW NO ACCESS 是唯一支持的访问级别。

REORG INDEXES 具有下列要求:

• 对索引和表具有 SYSADM、SYSMAINT、SYSCTRL 或 DBADM 权限,或者具有 CONTROL 特权。

• 用于存储索引的表空间的可用空间数量等于索引的当前大小

在发出 CREATE TABLE 语句时,考虑在大型表空间中重组索引。

• 其他日志空间

REORG INDEXES 需要记录其活动。因此,重组可能会失败,尤其是在系统繁忙和记录其他并发活动时。

注: 如果具有 ALLOW NO ACCESS 选项的 REORG INDEXES ALL 命令运行失败,则会标记索引无效并且此项 *** 作不可撤销。但是,如果具有 ALLOW READ ACCESS 选项的 REORG 命令或具有 ALLOW WRITE ACCESS 选项的 REORG 命令运行失败,则可以复原原来的索引对象。

七、 附:收集和更新统计信息的准则

RUNSTATS 命令收集表、索引和统计信息视图的统计信息,以为优化器提供准确信息进行访问方案选择。

在下列情况下,使用 RUNSTATS 实用程序来收集统计信息:

• 当数据已装入表中且已创建适当的索引时。

• 当在表中创建新的索引时。如果自从上次在表中运行 RUNSTATS 以来尚未修改表,则只需要对新的索引执行 RUNSTATS。

• 当一个表已用 REORG 实用程序重组时。

• 当通过数据修改、删除和插入已大量更新表及其索引时。(此处所指的“大量”可能表示有 10% 到 20% 的表和索引数据受影响。)

• 在绑定性能非常重要的应用程序之前

• 当您想要比较当前和先前统计信息时。如果定期更新统计信息,则可以及早发现性能问题。

• 当预取量更改时。

• 当使用了 REDISTRIBUTE DATABASE PARTITION GROUP 实用程序时。

注:

在先前版本的 DB2® 中,此命令使用了 NODEGROUP 关键字,而不是 DATABASE PARTITION GROUP 关键字。

• 使用 RUNSTATS 实用程序来收集关于 XML 列的统计信息。 使用 RUNSTATS 仅收集 XML 列的统计信息时,将保留 LOAD 或上一次执行 RUNSTATS 实用程序已收集的非 XML 列的现有统计信息。如果先前已收集关于一些 XML 列的统计信息,则在当前命令未收集关于该 XML 列的统计信息时,将删除先前收集的 XML 列的统计信息;在当前命令收集了关于该 XML 列的统计信息时,将替换先前收集的 XML 列的统计信息。

要提高 RUNSTATS 性能并保存用来存储统计信息的磁盘空间,考虑仅指定应该收集其数据分布统计信息的列。

理论上,您应在运行统计信息之后重新绑定应用程序。如果查询优化器具有新的统计信息,则它可以选择不同的访问方案。

如果您没有足够的时间一次收集全部的统计信息,则可以运行 RUNSTATS 来每次仅更新几个表、索引或统计信息视图的统计信息,并轮流完成该组对象。如果对选择性部分更新运行 RUNSTATS 期间由于表上的活动而产生了不一致性,则在查询优化期间将发出警告消息(SQL0437W,原因码 6)。例如,如果执行 RUNSTATS 来收集表分布统计信息,以及在某个表活动后,再次执行 RUNSTATS 来收集该表的索引统计信息,则可能发生这种情况。如果由于表上的活动产生了不一致并且在查询优化期间检测到这些不一致,则发出该警告消息。当发生这种情况时,应再次运行 RUNSTATS 来更新分布统计信息。

要确保索引统计信息和表同步,执行 RUNSTATS 来同时收集表和索引统计信息。索引统计信息保留自上次运行 RUNSTATS 以来收集的大部分表和列的统计信息。如果自上次收集该表的统计信息以来已对该表做了大量修改,则只收集该表的索引统计信息将使两组统计信息不能在所有节点上都同步。

对生产系统调用 RUNSTATS 可能会对生产工作负载的性能产生负面影响。RUNSTATS 实用程序现在支持调速选项,在执行较高级别的数据库活动期间,可以使用调速选项来限制执行 RUNSTATS 的性能影响。

在分区数据库环境中收集表的统计信息时,RUNSTATS 仅收集执行该命令的数据库分区上的表的统计信息。将此数据库分区的 RUNSTATS 结果推广到其他数据库分区。如果执行 RUNSTATS 的数据库分区不包含特定表的一部分,则将请求发送到数据库分区组中包含该表一部分的第一个数据库分区。

收集统计信息视图的统计信息时,将收集所有包含该视图引用的基本表的数据库分区的统计信息。

考虑以下技巧来提高 RUNSTATS 的效率和已收集的统计信息的有效性:

• 仅对用来连接表的列或 WHERE、GROUP BY 以及查询的类似子句中的列收集统计信息。如果对这些列建立了索引,则可以用 RUNSTATS 命令的 ONLY ON KEY COLUMNS 子句指定列。

• 为特定表和表中特定列定制 num_freqvalues 和 num_quantiles 的值。

• 使用 SAMPLE DETAILED 子句收集 DETAILED 索引统计信息,以减少对详细的索引统计信息执行的后台计算量。SAMPLE DETAILED 子句减少收集统计信息所需要的时间,并在大多数情况下产生足够的精度。

• 当创建已填写的表的索引时,添加 COLLECT STATISTICS 子句来在创建索引时创建统计信息。

• 当添加或除去了大量表行时,或如果更新了收集其统计信息的列中的数据,则再次执行 RUNSTATS 来更新统计信息。

• 因为 RUNSTATS 仅收集单个数据库分区的统计信息,所以,如果数据不是在所有数据库分区中一致分发的,则统计信息将不太准确。如果您怀疑存在变形数据分发,则您可能想要在执行 RUNSTATS 之前使用 REDISTRIBUTE DATABASE PARTITION GROUP 命令来在各数据库分区之间再分发数据。

八、 附:使用 CLP 捕获数据库运行状况快照

可从 CLP 使用 GET HEALTH SNAPSHOT 命令来捕获运行状况快照。该命令语法支持检索运行状况监视器监视的不同对象类型的运行状况快照信息。

先决条件

必须具有实例连接才能捕获运行状况快照。如果没有实例连接,则创建缺省实例连接。要获取远程实例的快照,必须先连接至该实例。

过程

要使用 CLP 捕获数据库运行状况快照

1 从 CLP 发出带有期望参数的 GET HEALTH SNAPSHOT 命令。

在以下示例中,将在启动数据库管理器之后立即捕获数据库管理器级别运行状况快照。

db2 get health snapshot for dbm

2 对于分区数据库系统,可为特定分区捕获专门的数据库快照,或者为所有分区捕获全局的数据库快照。要对特定分区(如分区号 2)上的数据库捕获运行状况快照,请发出以下命令:

db2 get health snapshot for db on sample at dbpartitionnum 2

要对所有分区上的所有应用程序捕获数据库快照,请发出以下命令:

db2 get health snapshot for db on sample global

以下命令捕获的运行状况快照带有附加详细信息,包括公式、附加信息和运行状况指示器历史记录:

db2 get health snapshot for db on sample show detail

3 对于基于集合状态的运行状况指示器,可对所有集合对象捕获数据库快照,而不考虑这些对象的状态。常规 GET HEALTH SNAPSHOT FOR DB 命令返回所有集合对象,这些对象需要针对所有基于集合状态的运行状况指示器的警报。

要对列示了所有集合对象的数据库捕获运行状况快照,请发出以下命令:

db2 get health snapshot for db on sample with full collection

Oracle EnterpriseManager Console——某一个数据库——例程——配置——恢复——“归档日志模式”(自动归档);例程——配置——一般信息——所有初始化参数——log_archive_start=true归档信息可以通过如下语句查看SQL archive log listOracle数据库可以运行在两种模式下:归档模式(archivelog)和非归档模式(noarchivelog)。检查归档模式命令SQL archive log list设置归档模式SQL shutdown immediate;SQL startup mountSQL alter databasearchivelog;SQL alter database open;SQL archive log list;如果需要停止归档模式,使用:alter database noarchivelog命令。Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。在pfile/spfile中设置如下参数log_archive_start = true重启数据库此参数生效,此时数据库处于自动归档模式。也可以在数据库启动过程中,手工执行archive logstart使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。10g使用db_recovery_file_dest来作为归档日志的存放地。SQL show parameterdb_recovery(该语句在oracle11g下无效)NAME TYPEVALUEdb_recovery_file_dest string/home/oracle/ora10g/flash_recovery_area/

四方财务软件错误代码5通常是指应用程序无法访问指定的目录或文件的错误。可能的原因是权限设置或磁盘问题。以下是几种可能的解决方案:

1 尝试以管理员身份运行应用程序:右键单击四方财务软件的快捷方式或可执行文件,选择“以管理员身份运行”,然后再次尝试打开应用程序。

2 检查文件或目录的拥有者和权限设置:您可以检查四方财务软件安装文件或数据文件夹的拥有者和权限设置是否正确。确保用户具有读取和写入文件或目录的权限。

3 检查磁盘错误:如果出现磁盘错误,可以使用Windows系统自带的磁盘检查工具进行修复。右键单击计算机图标,选择“属性”> “工具”,然后单击“检查”以查找和修复磁盘错误。

4 关闭安全软件和防火墙:安全软件和防火墙可能会阻止应用程序的访问,您可以尝试暂时关闭安全软件和防火墙,然后再次尝试打开应用程序。

5 重新安装应用程序:如果所有方法都无法解决这个问题,可以尝试卸载并重新安装四方财务软件。

以上是几种可能解决此错误代码5的方案,您可以尝试这些方法,以便于解决此问题。

以上就是关于配置归档日志,让数据库管理更加顺畅全部的内容,包括:配置归档日志,让数据库管理更加顺畅、电脑本地时间变了,wincc数据库归档文件夹时间变了,、sap2000打开特别慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9841925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存