本文目录一览:
- 1、如何在Windows CMD里面用命令行操作DB2数据库
- 2、DB2报sqlcode964错误,但是为什么一直没有回滚
- 3、那在db2中如何手动发起归档日志或切换日志
- 4、db2数据库事务日志文件目录如何降下去
如何在Windows CMD里面用命令行操作DB2数据库
1、打开电脑,进入电脑操作系统,点击开始菜单,在电脑开始菜单中,找到命令行cmd,或者使用快捷键组合WIN+R键可以直接打开运行,输入cmd命令行,即可直接打开命令行cmd。
2、通过以上方法,在电脑中找到命令行cmd后,点击确定或者直接点击回车键,进入命令行cmd的运行程序界面。
3、在电脑中进入命令行cmd后,在命令行cmd中,输入db2命令后点击回车,此时可以看到命令行提示DB2未初始化命令行环境,
4、这就是说明,在命令行cmd下面,是不可以直接使用db2命令、不可以直接运行db2命令的。但命令行cmd是识别db2命令的,
5、如果命令行cmd不知别db2命令的话,那么命令行cmd的提示信息就是:不是内部或外部命令,也不是可运行的程序或批处理文件。
6、可以在命令行cmd中使用db2cmd命令,此时就可以打开另外一个命令行窗口,在这个窗口中,就可以使用db2命令了。
7、或者如果对db2命令熟悉的话,可以在db2cmd命令后面,直接加对应的db2命令即可运行对应的db2命令,如db2cmd db2,这样就可以直接进入db2运行环境了。
8、通过以上步骤,现在知道了如果DB2未初始化命令行环境,可以使用db2cmd命令,进入db2cmd命令环境后,就可以运行使用db2命令了。
9、在打开运行后,输入db2cmd命令,点击确定或者点击回车后,即可进入db2cmd命令环境、初始化命令行环境,下载再打开运行后,就可以直接看到db2cmd命令了。
DB2报sqlcode964错误,但是为什么一直没有回滚
原因:该数据库的日志文件已满
解决办法:加大日志文件大小,增加日志文件个数,增加辅助日志文件个数
查看配置参数命令:get db cfg for dbname;
修改配置参数命令:
修改日志文件大小:update db cfg for dbname using LOGFILSIZ 4096
修改主日志文件个数:update db cfg for dbname using LOGPRIMARY 20
修改辅助日志文件个数:update db cfg for dbname using LOGSECOND 10
那在db2中如何手动发起归档日志或切换日志
在数据库中,日志的重要性那是大大的大,所以日志一定是要先了解的.
日志类型:
主日志(Primary logs)
预分配,可用数目由db cfg的LOGPRIMARY参数规定
辅助日志(Secondary logs)
依需要再动态分配,最大数目由db cfg的LOGSECOND参数来定.辅助日志同时会在数据库
所有连接全部关闭后被删除.
如果LOGSECOND为-1,则不限制记录日志的大小.
日志记录类型:
有两类循环日志和归档日志,可以通过"配置数据库日志记录"向导来修改数据库的日志记录类型。
(1)循环日志:
默认的日志记录策略,循环日志按顺序使用。当日志中所包含的工作已提交或回滚时,可以重用。
主日志预先分配。 而辅助日志则在需要时才分配。
循环日志有两类日志,主日志和辅助日志.
主日志预先就要配好了,辅助日志在需要时再分分配.
DB2管理程序按顺序请求 - 查找主日志 - 需要的主日志不可用 - 分配一个辅助日志.
- 辅助日志也满了 - 再去检查下主日志能用不 - 还不可用就又分配一个新的辅助日志
- 然后就一直重复上述检查
- 一直到有主日志文件变为可重用为止.然后就把辅助日志释放掉.
循环日志在备份恢复中的作用:
不能进行前滚恢复,但可进行崩溃恢复和版本恢复
仅支持脱机备份.
(2)归档日志
归档日志是一种日志文件的管理技术,将那些处理非活动状态的日志文件进行归档.
归档日志是非默认的.
归档日志有几个要类
1.活动日志
包含发那些尚未提交(或回滚)的事务相关信息.还包含已提交但改动还没与的的事务相关信息
restart database;
rollforward
2.联机归档日志
当活动日志关闭时,将成为一个归档日志。称它们为"联机" 是因为它们和活动
日志存放在相同的子目录下。
3.脱机归档日志
这些日志文件已经从活动日志所在的目录中移开了。可以手动,也可以
通过 userexit这样的过程调用来自动进行。归档的日志文件可以
存储到磁带或其它介质上。如tsm上。
正在用的日志(活动日志) - 如果日志用完了(联机归档日志) - 再把这些不用的日志给备份或移开(脱机归档日志)
循环日志在备份恢复中的作用:
唯一支持前滚恢复和实现可恢复数据库的日志方法.
支持脱机备份和联机备份
在DB2数据库中查看与日志有关的主要参数:
userexit 是否启用用户出口
logretain 是否启用归档日志
trackmod 是否启用增量备份功能
这些默认是off,即循环日志模式,如为"Yes"或"Recovery",则表明为归档日志模式.
Unix/Linux下的查看命令:
DB2 v9及以前版本:
db2 get db cfg for sample|grep "USEREXIT"
db2 get db cfg for sample|grep "LOGRETAIN"
db2 get db cfg for sample|grep "TRACKMOD"
DB2 v10:
db2 get db cfg for sample |grep "LOGARCHMETH1"
Windows下的查看命令:
DB2 v9及以前版本:
db2 get db cfg for sample |find /I "userexit"
db2 get db cfg for sample |find /I "logretain"
db2 get db cfg for sample |find /I "trackmod"
DB2 v10:
db2 get db cfg for sample |find /I "LOGARCHMETH1"
可更改这些参数使DB2数据库处于归档日志模式,以便支持联机备份.
更改命令:
DB2 v9及以前版本:
db2 update db cfg for sample using userexit on//启用用户出口
db2 update db cfg for sample using logretain on//启用归档日志
db2 update db cfg for sample using trackmod on//启用增量备份功能
DB2 v10:
-- DISK : 本地磁盘
-- TSM : Tivoli Storage Manger
-- VENDOR : 第三方存储设备
db2 update db cfg for sample using LOGARCHMETH1 disk:/db2/db/log_archive
注意事项:
变更这些归档模式参数后,会提示SQL1116N错误,DB2数据库处于backup pending状态,是不能马上连接上数据库的,必须要做脱机备份一次才行.
脱机备份命令例子:
db2 backup db sample to c:\xclbkcold
可手工归档下,检查下生成的日志(前提是没数据库连接):
db2 archive log for db xcldb
db2 list history archive log all for xcldb
关于日志的管理:
查看首活动日志:
db2 connect to xcldb2
--中文环境使用这个
db2 get db cfg|find "首个活动日志文件"
--英文环境使用这个
db2 get db cfg|grep -i "First active log file"
db2 connect reset
db2 terminate
清理日志:
db2 connect to xcldb2
db2 prune logfile prior to S0000033.LOG
其中S0000011.LOG就是刚刚的首活动日志
手工归档命令:
db2 archive log for db xcldb2 //会手工产生日志
db2数据库事务日志文件目录如何降下去
1、增大日志文件大小。
2、停掉引起这个错误的应用程序或者停掉所有的应用程序,再重启数据库。以上是db2数据库事务日志文件目录降下去的方法。