DB2_数据库日志管理

合集下载

DB2大数据处理不记录日志

DB2大数据处理不记录日志

DB2大数据处理不记录日志
网上一般的资料,都需要如下步骤:
Ø不记录事务日志步骤:
ü建表须要添加属性“NOT LOGGED INITIALLY”
ü在大批量更改操作的同一个事务开始时执行:“ALTER TABLE tabname ACTIVATE NOT LOGGED INITIALLY”
ü执行更新sql
ü提交,一个事务完成,后续sql为下一个事务,默认记录事务日志
但是根据IBM的官方文档及测试,应该是建表的时候加参数“NOT LOGGED INITIALLY”,或者直接进行alter都
行。

IBM官方文档:
使用NOT LOGGED INITIALLY 参数减少日志记录
如果应用程序根据主表创建并填充工作表,并且您不担心这些工作表的可恢复性(因为可以根据主表方便地重
新创建它们),那么创建工作表时可以在CREATE TABLE 语句上指定NOT LOGGED INITIALLY 参数。

这样可以
减少日志记录并提高性能。

使用NOT LOGGED INITIALLY 参数的优点是,不记录在创建表的同一个工作单元中对该表所作的任何更改(包
括插入、删除、更新或创建索引操作)。

这不仅降低了日志记录工作量,还能提高应用程序性能。

还可以对现
有表使用带NOT LOGGED INITIALLY 参数的ALTER TABLE 语句,来获得同样的结果。

db2日志说明

db2日志说明

db2日志说明db2日志记录1. 日志的意义:主要在于数据恢复。

Db2实施了提前写日志存档模式,当发出删除、插入或更新数据库中某一数据的SQL调用时,所作出的数据变更首先要写到日志中去。

当发出一条SQL提交确认命令时,DB2首先要把redo所需要的日志写入磁盘。

如果断电的话,所有被提交的事务都会重新做一遍,而未提交的则会rollback。

事务:为了保证数据的可恢复性和一致性引入的概念。

比如执行了两条sql语句,但是他们是为了完成同一件事,因此他们会被当做一个整体。

当发生意外情况时,如果已经commit,但是未写到磁盘,就要执行redo重新执行一遍。

如果还没有commit,就要全部回滚。

日志作用:比如昨天晚上进行了数据库备份,但是今天中午数据库出现了问题(如存储介质损坏)需要恢复,那么只能恢复到昨天晚上的状态,今天上午的数据都没法恢复,这时如果数据库日志没有损坏,就可以通过日记把这段时间的操作重新执行一遍。

2. 日志分为循环日志和归档日志:日志中只记录DML操作(insert,update和delete操作),当我们前台执行了一条insert,update或delete语句,日志中就会相应的记录这条SQL语句的redo操作和undo操作几种操作类型:DDL(Data Definition Language 数据定义语言),用于操作对象和对象的属性(数据库,表,视图等)。

具体表现在Create,Drop 和Alter操作上。

不会对具体的数据进行操作,而是对对象进行操作。

像主键约束、唯一约束、非空约束、外键约束、核查约束和缺省约束这些操作都是使表具有某些特性,所以在这里我认为他们都是表的属性,也属于DDL操作。

DML(Data Manipulation Language 数据操控语言)用于操作数据库对象中包含的数据,也就是说操作的单位是记录。

主要表现在Insert,Delete和Update等操作上。

db2数据库日志清理

db2数据库日志清理

1、l‎o ad 方‎法装入数据‎:ex‎p ort ‎t o te‎m pfil‎e of ‎d el s‎e lect‎* fr‎o m ta‎b lena‎m e wh‎e re n‎o t 清理‎条件;‎l oad ‎f rom ‎t empf‎i le o‎f del‎modi‎f ied ‎b y de‎l prio‎r ityc‎h ar r‎e plac‎e int‎o tab‎l enam‎enon‎r ecov‎e rabl‎e;说‎明:‎在不相关的‎数据表ex‎p ort数‎据时,可以‎采取并发的‎形式,以提‎高效率;‎tabl‎e name‎指待清理t‎a ble的‎名称;‎m odif‎i ed b‎y del‎p rior‎i tych‎a r防止数‎据库记录中‎存在换行符‎,导致数据‎无法装入的‎情况; ‎r epla‎c e in‎t o对现数‎据库中的内‎容进行替换‎,即将现行‎的数据记录‎清理,替换‎为数据文件‎内容;‎n onre‎c over‎a ble无‎日志方式装‎入;2‎、查找当前‎的应用:d‎b2 li‎s t ap‎p lica‎t ion ‎g rep ‎b tpdb‎s;3‎、删除当前‎正在使用的‎a ppli‎c atio‎n:d‎b2 "f‎o rce ‎a ppli‎c atio‎n (id‎1,id2‎,id3)‎"id‎1,id2‎,id3 ‎是list‎显示的应用‎号;4‎、查看当前‎应用号的执‎行状态:‎db2 ‎g et s‎n apsh‎o t fo‎r app‎l icat‎i on a‎g enti‎d 299‎grep‎row‎5、查看‎数据库参数‎:db‎2 get‎db c‎f g fo‎r //当‎前数据库可‎以省略‎6、修改数‎据库的lo‎g数据:‎db2 ‎u pdat‎e db ‎c fg u‎s ing ‎<参数名>‎<参数值‎>7、‎d b2st‎o p fo‎r ce的用‎法:在‎进行bin‎d的时候出‎现如下错误‎:sq‎l0082‎c an e‎r ror ‎h as o‎c curr‎e d wh‎i ch h‎a s te‎r mina‎t ed p‎r oces‎s ing.‎sql‎0092n‎n o pa‎c kage‎was ‎c reat‎e d be‎c ause‎of p‎r evio‎u s er‎r ors.‎sql‎0091n‎b indi‎n g wa‎s end‎e d wi‎t h "3‎" err‎o rs a‎n d "0‎" war‎n ings‎.主要‎是表文件被‎加锁,不能‎继续使用;‎在进行‎s top的‎时候报错:‎d b2st‎o p8‎/03/2‎005 2‎1:46:‎530 0‎sql1‎025nt‎h e da‎t abas‎e man‎a ger ‎w as n‎o t st‎o pped‎beca‎u se d‎a taba‎s es a‎r e st‎i ll a‎c tive‎.sq‎l1025‎n the ‎d atab‎a se m‎a nage‎r was‎not ‎s topp‎e d be‎c ause‎data‎b ases‎are ‎s till‎acti‎v e.‎需要使用如‎下命令可以‎解决这个问‎题: db‎2stop‎forc‎e08‎/03/2‎005 2‎1:47:‎49 0 ‎0 sql‎1064n‎d b2st‎o p pr‎o cess‎i ng w‎a s su‎c cess‎f ul.‎sql1‎064nd‎b2sto‎p pro‎c essi‎n g wa‎s suc‎c essf‎u l.‎然后启动数‎据库db2‎s tart‎,连接数据‎库db2s‎后,重新进‎行bind‎即可。

db2数据库事务日志满

db2数据库事务日志满
但还有另外一种原因,即在日志空间并未用尽的情况下,当某个占有最旧活动日志的应用长时间未作提交操作,阻止了日志的 LSN 的分配,造成日志空间无法使用,同样会引发这一日志满的报错。对于这种情况,可以提交该交易或利用 FORCE 命令来终止此应用程序,以便释放它所占用的日志空间,使 LSN 可以继续分配,空闲的日志空间可用。这里就提供了由这一原因导致日志满问题的解决方法。
DB21024I 该命令为异步的,可能不会立即生效。
根据提示,由于该命令是异步操作,可再次使用:
db2 list applications
验证应用是否已被真正停止,如果输出中已没有该应用,它
Hale Waihona Puke 为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自: /%D3%F4%C3%C6%BB%A8%C9%FA%BD%B4/blog/item/4af11d138842615df819b88a.html
SQL0964C 数据库的事务日志已满。
DB2 活动日志满通常是由于存在大量未提交事务的数据,使得活动日志的空间不能及时释放,使新的事务无法申请到可用日志空间,而最终报出 SQL0964C 的错误所致。为使应用程序成功运行,而不是被回滚,通常会考虑根据情况选择增大以上公式中的某些数据库参数,以增大活动日志空间来解决这一问题。
Appl id holding the oldest transaction = 787273
同样可以找到这个应用程序的句柄。这时使用以下命令可以在无需断开数据库其它应用程序的连接的情况下强行终止该应用程序:
db2 force application (787273)
DB20000I FORCE APPLICATION 命令成功完成。

DB2日志归档与备份还原

DB2日志归档与备份还原
四、还原数据库
#还原备份
db2 restore db AFCDB2 from /home/db2inst1/db2backup/ taken at 20140212190154 to /backup/log17
#前滚日志
db2 rollforward db AFCDB2 to end of logs and complete
三、备份数据库
#冷备:停止再开启数据库进行冷备
db2 force application all
db2 terminate
db2 backup db AFCDB2 to /home/db2inst1/db2backup/
db2 ARCHIVE LOG FOR DATABASE AFCDB2
#热备
db2 backup db AFCDB2 online to /home/db2inst1/db2backup/
#通过使用 and delete 参数,可以在清理条目的同时删除对应的归档日志文件。
#使用 db2 prune logfile 命令可以清除活动日志目录下的在线归档日志文件,但对离线归档日志文件无效
DB2日志归档与备份还原
一、查看归档是否打开
su - db2inst1
db2 connect to AFCDB2
db2 get db cfg for AFCDB2 |grep ห้องสมุดไป่ตู้i log
二、开启归档日志
#创建一个归档日志专用目录
mkdir /home/db2inst1/db2archlog
#开启归档日志
#查看是否能连接数据库
db2 connect to AFCDB2
附:查看归档日志
#手工归档日志(前提不能有连接)

DB2的参数配置说明

DB2的参数配置说明

DB2的参数配置说明DB2是一种关系型数据库管理系统(RDBMS),它支持在各种计算环境中存储、操作和检索数据。

在使用DB2时,通过合理的参数配置可以提高数据库的性能和可靠性。

以下是关于DB2参数配置的详细说明。

1.内存参数配置:1.1DB2_MEM_PERCENT:指定了DB2实例可使用的内存百分比,默认值为100。

可以根据实际情况调整此参数,以确保系统有足够的内存资源运行DB21.2DB2_MAX_IOSERVERS:指定了DB2实例可以使用的最大IO服务器数目,默认值为10。

可以根据服务器的硬件配置和负载情况调整此参数,以获得更好的IO性能。

1.3DB2_MAX_MEMORY:指定了DB2实例可以使用的最大内存量,默认为系统可用内存的一半。

可以根据系统的内存情况和负载调整此参数,以提高数据库的性能。

2.查询优化参数配置:2.1DB2_PARALLEL_IO:指定是否允许并行IO,默认为OFF。

可以在高负载环境下启用此参数,以提高查询性能。

2.2DB2_PARALLELISM:指定了DB2查询的并行度,默认为1、可以根据系统的CPU核心数和负载情况调整此参数,以提高查询的并行执行能力。

2.3DB2_STMT_CONC:指定了单个DB2会话中并行执行的最大语句数目,默认为1、可以根据系统的负载情况调整此参数,以提高并行执行的效率。

3.缓存参数配置:3.1DB2_NUM_IOSERVERS:指定了DB2实例可以使用的IO服务器数目,默认为10。

可以根据服务器硬件配置和负载情况调整此参数,以提高IO性能。

3.2DB2_NUM_CHEKBUFFERS:指定了每个缓冲池中的检查缓冲区数目,默认为100。

可以根据系统的内存情况和负载调整此参数,以提高缓存的性能。

3.3DB2_LOGFILSIZ:指定了每个日志文件的大小,默认为64MB。

可以根据系统的IO性能和重做日志的生成速度调整此参数,以避免日志文件的频繁切换。

DB2的参数配置说明

DB2的参数配置说明1.数据库配置参数:-DFT_DEGREE:默认配置为1,表示数据库服务器可以并行处理的任务数量。

可以根据服务器硬件配置调整此参数,以提高并行处理能力。

-MAXAPPLS:默认配置为100,表示数据库支持的最大并发连接数。

如果数据库负载较高,可以适当增加此值。

-LOCKLIST:默认配置为200,表示数据库锁的最大数量。

如果数据库经常出现锁冲突,可以适当增加此值。

-SHEAPTHRES:默认配置为0,表示数据库共享内存区域的大小。

可以根据数据库工作负载的大小调整此值,以提高性能。

2.缓冲池参数配置:-PCKCACHESZ:控制预编译包缓冲池的大小,为了提高性能,可以根据实际需求调整此参数。

-HADR_SYNCMODE:用于配置DB2的高可用性和灾难恢复功能。

可以根据实际需求选择异步或同步模式。

-LOGFILSIZ:表示数据库日志文件的最大大小。

可以根据数据库运行情况和可用存储空间来调整此参数。

-UTIL_HEAP_SZ:用于配置数据库工具的堆大小。

可以根据数据库工具的需求来调整此值,以提高操作效率。

3.SQL优化参数配置:-STMTHEAP:用于配置SQL语句的堆大小。

可以根据SQL语句的复杂度和数据量来调整此参数,以提高查询性能。

-STMM:表示是否开启自动内存管理功能。

可以根据实际需求选择开启或关闭。

-OPT_MEMORY:表示查询优化器使用的内存大小。

可以根据查询复杂度和数据量来调整此值,以提高查询性能。

-DIAGLEVEL:用于配置记录诊断信息的级别。

可以根据需要调整此参数,进行问题排查和性能优化。

以上是一些常见的DB2参数配置说明,根据实际需求和数据库运行情况,可以调整这些参数来达到最佳的性能和可靠性。

需要注意的是,调整参数配置时应谨慎,并进行充分测试和验证,以避免潜在的风险和问题。

Db2数据库归档日志很频繁

Db2数据库归档日志频繁解决方法问题现象:数据库dbbde执行命令:Db2 db2stop forceDb2 db2start运行一段时间后发现,归档日志目录中日志增长很快,日志个数很多,但是日志均未写满。

每个日志只有约3M.如图S0224497.LOG-S0*******.LOG查看实际配置Log file size (4KB) (LOGFILSIZ) = 10000Number of primary log files (LOGPRIMARY) = 10Number of secondary log files (LOGSECOND) = 20一个归档日志的大小为:4KB*10000=40M 由配置看归档日志大小正常,则可能是犹豫数据库提交事物过于频繁导致归档频率加快。

解决方法:db2 activate database dbbde归档日志恢复正常。

整理:由activate database命令初始化的数据库可以由deactivate database命令关闭,也可以通过stop database manager(或db2stop)命令关闭。

如果使用activate database命令初始化一个数据库,那么最后一个与数据库断开连接的应用就不会关闭数据库。

由于命令db2stop关闭了数据库实例,重新启动数据库没有进行激活操作activate会导致每一个连接断开后会提交事物并归档,导致了日志归档频率大的问题。

同时,如果在database没有激活之前,就在应用中使用connect to database_name或隐式连接,那么应用就必须要进行等待,直到数据库管理器启动了你要连接的数据库。

一般第一个应用会引发等待数据库管理器执行数据库启动的所有开销。

可以使用activate database database_name这样的命令启动特定的数据库。

这个命令就会免除第一个应用程序连接上来的时候等候数据库初始化所花费的时间。

DB2的日志分为两种模式

DB2的日志分为两种模式,日志循环与归档日志,也就是非归档和归档模式。

下面就具体介绍一下这两种方式以及和备份归档设置的关系。

一、日志循环这是默认方式,也就是非归档模式,这种模式只支持(backup offline)脱机备份,在备份过程中需要DB2停止服务。

在DB2中查看数据库设置,如发现如下信息$db2 get db cfg for db_name |grep -i log结果如下:Log retain for recovery enabled (LOGRETAIN) = OFFUser exit for logging enabled (USEREXIT) = OFFHADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC First log archive method (LOGARCHMETH1) = OFF 则说明为非归档模式,默认情况下为循环日志在这种模式下进行脱机备份需要注意:1、停止应用对DB2的访问。

可以通过db2 list applications命令查看现有的连接,然后通过db2 force application命令来结束连接。

另外通过db2 deactivate database命令来确保数据库未处于活动状态。

2、通过db2 backup db 数据库名命令来对数据库进行备份。

二、归档日志归档日志不是默认的,需要配置后才会生效,这种模式下的数据库是可恢复的数据库,支持在线备份、前滚恢复和崩溃恢复。

配置DB2归档日志模式主要是要修改Log retain for recovery enabled和First log archive method这两个参数。

修改参数(update更新参数)后,查看数据库是如下设置$db2 get db cfg for db_name |grep -i logLog retain for recovery enabled (LOGRETAIN) = RECOVERYUser exit for logging enabled (USEREXIT) = OFFHADR log write synchronization mode (HADR_SYNCMODE) = NEARSYNC First log archive method (LOGARCHMETH1) = LOGRETAIN 注意这里First log archive method的参数LOGRETAIN只表明你开启了归档,还需进一步设置才能正常备份下面需要进一步指定归档目录的路径更改归档目录:$db2 update db cfg for db_name using LOGARCHMETH1"disk:/archive/db_name_db_log"使用归档日志,当日志文件满时,会自动对它进行归档,归档的目的地就是Logarchmeth1设置的位置。

db2开启归档日志、记录表等对象日志的方法

db2开启归档⽇志、记录表等对象⽇志的⽅法⼀.windows平台下:1.开启归档1.1.logretain⽅式win -》开始 -》所有程序 -》 IBM DB2 -》BD2copy -》⼀般管理⼯具 -》控制中⼼-》右键库名“TDB” -》数据库配置找到 “⽇志” -》 logarchmeth1 -》左键点击“值” -》-》更改数据库配置参数-logarchmeth1 -》选择 “logretain” 确定(但这时,还没⽣效)。

1.2.⾮logretain⽅式同上,在更改数据库配置参数-logarchmeth1 选择 DISK,并添加上备份路径即可,例如:F:\DB2\arch\2.备份重启在控制中⼼界⾯ -》备份数据库,做⼀次全备并重启数据库,就ok了。

(注:备份数据库 db2 backup database basename to d:\basename还原数据库 db2 restore database basename from d:\basename taken at 20190316083915 on d:\basename dbpath on d )3.结果验证db2 get db cfg |findstr -i log使⽤上述命令,分别显⽰如下:3.1 logretain⽅式logretain = RECOVERYlogarchmeth1 = LOGRETAIN3.2 ⾮logretain⽅式logretain = OFFlogarchmeth1 = DISK:F:\DB2\arch\即OK.⼆.linux平台下:1.归档⽅式选择1.1 logretain⽅式db2 update db cfg DB_NAME using LOGRETAIN ON1.2.⾮logretain⽅式db2 update db cfg DB_NAME using LOGARCHMETH1 “DISK:/opt/DB2/arch"2.重启连接数据库,如有连接挂起,做⼀次离线全备就ok了,否则在线备份即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、load 方法装入数据:export to tempfile of del select * from tablename where not 清理条件;load from tempfile of del modified by delprioritychar replace into tablename nonrecoverable;说明:在不相关的数据表export数据时,可以采取并发的形式,以提高效率;tablename指待清理table的名称;modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;nonrecoverable无日志方式装入;2、查找当前的应用:db2 list application grep btpdbs;3、删除当前正在使用的application:db2 "force application (id1,id2,id3)"id1,id2,id3 是list显示的应用号;4、查看当前应用号的执行状态:db2 get snapshot for application agentid 299 grep row5、查看数据库参数:db2 get db cfg for //当前数据库可以省略6、修改数据库的log数据:db2 update db cfg using <参数名> <参数值>7、db2stop force的用法:在进行bind的时候出现如下错误:sql0082can error has occurred which has terminated processing.sql0092nno package was created because of previous errors.sql0091nbinding was ended with "3" errors and "0" warnings.主要是表文件被加锁,不能继续使用;在进行stop的时候报错:db2stop8/03/2005 21:46:530 0 sql1025nthe database manager was not stopped because databases are still active.sql1025nthe database manager was not stopped because databases are still active.需要使用如下命令可以解决这个问题:db2stop force08/03/2005 21:47:49 0 0 sql1064ndb2stop processing was successful.sql1064ndb2stop processing was successful.然后启动数据库db2start,连接数据库db2s后,重新进行bind即可。

8、缓冲池参数修改:db2 alter bufferpool ibmdefaultbp size 10240查看本表的数据内容如下:db2 "select * from syscat.bufferpools";9、db2 日志处理:db2日志是以文件的形式存放在文件系统中,分为两种模式:循环日志和归档日志。

当创建新数据库时,日志的缺省模式是循环日志。

在这种模式下,只能实现数据库的脱机备份和恢复。

如果要实现联机备份和恢复,必须设为归档日志模式。

目前在综合业务系统中,设置的均是归档日志模式;其它系统(如事后监督、经营决策、中间业务等)一般都设置为循环日志模式。

至于采用何种模式,可以通过修改数据库配置参数(logretain)来实现:归档日志模式:db2 update db cfg for using logretain on 注:改为on后,查看数据库配置参数logretain的值时,实际显示的是recovery。

改变此参数后,再次连接数据库会显示数据库处于备份暂挂(backup pending)状态。

这时,需要做一次对数据库的脱机备份(db2 backup db ),才能使数据库状态变为正常。

循环日志模式:db2 update db cfg for using logretain off10、db2 日志处理必须按照以下正确的步骤进行操作:要求必须使用db2命令prune进行清理,不建议使用rm命令删除。

删除前应保证应用已停止(即联机已下来)。

查看当前使用的日志文件目录及第一活动日志文件用“db2 get db cfg for ”命令查看日志文件目录(path to log files)参数,确定数据库当前使用的日志文件目录。

例如:path to log files = /db2log/,说明db2日志存放目录是/db2log 用“db2 get db cfg for ”命令查看第一活动日志文件(first active log file)参数,该参数对应的日志文件之前的日志文件均为归档日志文件,如果确认没有用,可以删除。

例如:first active log file = s0015913.log,说明当前第一活动日志文件是s0015913.log。

备份好要删除的归档日志删除归档日志以应用用户(如btp)登录,执行:&#36; db2 connect to&#36; db2 prune logfile prior to s???????.log注:s???????.log为查看到的第一活动日志文件。

此命令可以将当前第一活动日志文件之前的归档日志文件全部删除。

11、如何清理db2diag.log文件db2diag.log,是用来记录db2数据库运行中的信息的文件。

可以通过此文件,查看记录的有关db2数据库详细的错误信息。

此文件也是不断增大的,需要定期进行清理。

可以通过查看实例的配置参数diagpath,来确定db2diag.log文件是放在哪个目录下:db2 get dbm cfg 如果diagnostic data directory path(diagpath) = /home/db2inst1/sqllib/db2dump,则此文件是放在/home/db2inst1/sqllib/db2dump目录下。

当文件系统/home的使用率达到80%-90%左右时,应及时删除db2diag.log文件。

请按以下正确步骤操作:确认应用(如btp)、db2已经停止。

将原db2diag.log文件备份到其它文件系统下。

删除db2diag.log文件。

删除后,db2会自动创建一个新的文件。

12、load 操作在进行load的时候db2 "load from acmmst.txt of del modified by coldel replace into acmmst nonrecoverable ”由于数据不规范出现错误,强行中断以后,进行操作的时候出现如下错误:sql0668noperation not allowed for reason code "3" on table "btp.acmmst".sqlstate=57016此时,进行反方向操作即可:db2 "load from /dev/null of del terminate into acmmst nonrecoverable"。

如果没有使用参数nonrecoverable,则会出现数据库状态不正确的情况,使用:db2 list tablesapces show detail 查看状态,如果不是正常状态,则脱机状态进行备份即可。

两个表文件之间update的方法:db2 "update cdmcrd set offset = (select cdmlsl.offset from cdmlsl where cdmlsl.crdno=cdmcrd.crdno) where cdmcrd.crdno in (select cdmlsl.crdno from cdmlsl)13、多字段条件查询和修改表a中的字段有actno, cnlno,bal,pwd;表b中的字段为actno,cnlno,txnamt;目的是将a 表中的bal修改为b表中的txnamt,命令:db2 "update a set bal=(select txnamt from b where actno=a.actno and cnlno=lno) wherelno in (select actnocnlno from b );14、多条件匹配查询查询某个表中条件是b?aaa的记录:db2 "select * from a where actno like 'b_aaa%'".查询数据中存在某些字符的记录:db2 "select * from a where actno like '%-aaa%".15、数据库恢复的处理进行数据库恢复的时候使用以下的命令:restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048replace existing redirect parallelism 16;set tablespace containers for 1 using (path '/tstdb2/db2tmp');set tablespace containers for 2 using(device '/dev/rtstcontlv00' 2621440, device '/dev/rtstcontlv01' 2621440,device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;restore db db1 continue;恢复完成以后执行命令db2s时报如下的错误:p570:>db2ssql1117n a connection to or activation of database "db" cannot be madebecause of roll-forward pending. sqlstate=57019db21034e the command was processed as an sql statement because it was not avalid command line processor command. during sql processing it returned:sql1024n a database connection does not exist. sqlstate=08003解决办法如下:p570:>db2 rollforward db db to end of logs and completerollforward statusinput database alias = dbnumber of nodes have returned status = 1node number = 0rollforward status = not pendingnext log file to be read =log files processed = -last committed transaction = 2005-11-20-10.59.23.000000db20000i the rollforward command completed successfully.db2日志管理(完成)---归档日志db2 update db cfg for dbtest using logretain recovery userexit ondb2 update db cfg for dbtest using logarchmeth1 DISK:D:/DB2/Arch_logdb2 update db cfg for dbtest using logarchmeth2 DISK:D:/DB2/Arch_log2db2 update db cfg for dbtest using LOGPRIMARY 100 LOGSECOND 50 LOGFILSZ 65535 ;(此时单个日志文件的大小为:65535 *4K ,可用日志的个数为: 100+50 )---循环日志/*Logretaim=Recovery --(Logretaim/userexit两个值任选一个)userexit=Yes*/db2 update db cfg for edw using logarchmeth1 off logarchmeth2 offdb2 update db cfg for edw using logretain NO userexit NOdb2 update db cfg for edw using LOGPRIMARY 100 LOGSECOND 50 LOGFILSIZ 65535 ;(此时单个日志文件的大小为:65535 *4K ,可用日志的个数为: 100+50 )--重启数据库才生效(或者断开所有链接)set instance=db2inst4db2stop forcedb2startdb2 activate db edw--更改联机日志的路径(更改后logpath的值发生改变)db2 update db cfg for edw using newlogpath /dw/edwdata/db2log一.日志概述任何数据库管理系统都必须拥有确保数据一致性和可恢复性的机制。

相关文档
最新文档