在DB2数据库中,一个被覆盖的数据库是指已经存在的数据库被一个新的数据库文件所覆盖,导致原有的数据全部或部分丢失。被覆盖的数据库是一种常见的数据库故障,然而,它给数据库管理员和程序开发者带来了极大的麻烦。因此,了解如何使用DB2查询被覆盖的数据库是非常重要的。
创新互联建站专业为企业提供汉中网站建设、汉中做网站、汉中网站设计、汉中网站制作等企业网站建设、网页设计与制作、汉中企业网站模板建站服务,十余年汉中做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
本文将提供一些有用的技巧,帮助DB2用户轻松地查询被覆盖的数据库,以及将被覆盖的数据恢复回来。
使用什么工具?
DB2提供了几种工具来查找被覆盖的数据库,这些工具都是在控制台上运行的,但是,使用不同的工具将会带来不同的结果。以下是几个最常用的DB2工具:
1. db2dart:是DB2的诊断工具,用于扫描数据库并查找潜在的问题。
2. db2diag:是日志文件分析工具,用于查看数据库日志,特别是以前的日志来查找被覆盖的数据库。
3. db2inspect:是一个结构化的诊断工具,用于诊断并更正数据库的执行问题,并在发生错误时生成详细的报告。
4. db2pd:是一种实用工具,可用于对每个DB2数据库的性能进行详细的分析,并确定任何存在的问题。
使用这些工具,用户可以快速地识别和查询被覆盖的数据库。
开始查询
在开始查询之前,请确保你已经掌握了以下知识:
1. DB2系统管理员或DBA权限。
2. 能够在DB2控制台或DOS命令提示符下打开DB2.
通过db2dart查找被覆盖的数据库
db2dart工具是DB2的子系统,可以识别被覆盖的数据库。这是一个很有用的工具,可以维护和诊断IBM数据库的运行时信息。
1. 启动控制台,并输入以下命令:
db2dart -v -s -e > dartlog.txt
其中:是需要查询的数据库名称,和是需要查询的时间范围。此命令将 db2dart 输入并存储到dartlog.txt文档中。
2. 打开dartlog.txt文档,并查找“Database overwritten”或“RECOVERABLE”,这些是被覆盖的数据库的标志。如果找到这些标志,请查看日志文件,并查找数据库被覆盖的确切时间和日期。这将使恢复过程更加容易。
3. 如果您确定数据库在指定时间内被覆盖,请尽快进行恢复。保持原有的日志文件,以便在恢复失败时您可以恢复到以前的状态。同时,保存备份以便以后用于还原。
通过db2inspect和db2diag查找被覆盖的数据库
1. 以管理员身份运行DOS命令提示符,输入以下命令:
db2diag -H -f \db2diag.log > db2diag.out
其中,是数据库主机名称,是日志文件路径。此命令将把db2diag的输出存储到db2diag.out文档中。
2. 打开db2diag.out文档,并查找包含“db2diag.log“文件的行。该文件包含数据库的日志,其中包含可能被覆盖的信息。请注意,日志文件的位置可能会因系统不同而有所不同。
3. 找到最后一个备份的日志文件。备份文件可以在日志文件的结尾查找,其他备份文件也可以在此处进行排查。备份文件的位置通常是在数据库的备份位置。
4. 如果您找到了找到了被覆盖数据库的时间,并找到了最后一个备份文件,请运行以下命令以进行数据库恢复:
db2 restore db from /mnt/backup/db2bkup taken at into replace existing
其中,是恢复的数据库名称,是日志路径,和是需要恢复的时间范围。此命令将使用备份,并将数据库还原到指定的时间点。
结论
相关问题拓展阅读:
1、 打开命令行窗口
#db2cmd
2、 打开控制中心
# db2cmd db2cc
3、 打开命令编辑器
db2cmd db2ce
=====操作数据库命令=====
4、 启动数据库实例
#db2start
5、 停止数据库实例
#db2stop
如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2
force application all就可以了 /db2stop force
6、 创建数据库念洞
#db2 create db
7、 连接到数据库
#db2 connect to user using
8、 断开数据库连接
#db2 connect reset
9、 列出所有数据库
#db2 list
db directory
10、 列出所有激活的数据库
#db2 list active databases
11、
列出所有数据库配置
#db2 get db cfg
12、 删除数据库
#db2 drop database
(执行此操作要小心)
如果不能删除,断开所有数据库连接或枝首者重启db2
=========操作数据表命令==========
13、 列出所有用户表
#db2 list tables
14、列出所有系统表
#db2 list tables for
system
15、列出所有表
#db2 list tables for all
16、 列出系统表
#db2 list
tables for system
17、列出用户表
#db2 list tables for user
18、 列出特定用户表
#db2 list tables for schema
19、 创建一个与数据库中某个表(t2)结构相同的新表(t1)
#db2 create table t1 like t2
20、 将一个表t1的数据导入到另一个表t2
#db2 “insert
into t1 select * from t2″
21、 查询表
#db2 “select * from table name where
…”
22、 显示表结构
#db2 describe table tablename
23、 修改列
#db2
alter table alter column set data type varchar(24)
======脚本文件操作命令=======
24、 执仔搭枯行脚本文件
#db2 -tvf scripts.sql
25、帮助命令
* 查看命令帮助
#db2 ? db2start
* 查看错误码信息
#db2 ?
* memo:
详细命令请使用”db2 ? “进行查看。
=========================
26、备份数据库
#db2 backup db
备注:执行以上命令之前需要断开数据库连接
27、在线备份数据库
#db2 -v “BACKUP DATABASE ONLINE TO WITH 2
BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING”
28、恢复数据库
#db2
restore db
29、在线恢复数据库
#db2 “RESTORE DB
TO LOGTARGET WITHOUT
PROMPTING”
#db2 “ROLLFORWARD DB TO END OF LOGS AND
STOP” …
30、导出数据文件
#db2move export
>
31、导入数据文件
#db2move import
32、获取db2数据库管理配置环境信息
#db2 get dbm cfg
33、.获取db2某个数据库数据库管理配置环境信息
#db2 get db cfg for
或者:连接至某个数据库以后执行db2 get db cfg
34、更改db2日志空间的大小
备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。
#db2
UPDATE DB CFG FOR USING logretain OFF logprimary 3 logsecond 2
logfilsiz 25600;
如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。25600*4KB=102400KB。
35、创建临时表空间
#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY
DATABASE USING (FILE ‘D:\DB2_TAB\STMASPACE.F1’ 10000)
EXTENTSIZE 256
36、获取数据库管理器的快照数据
#db2 –v get snapshot for dbm
37、显示进行程号
#db2
list applications show detail
===================================================
一、加载数据:
1、
以默认分隔符加载,默认为“,”号
db2 “import from btpoper.txt of del insert into btpoper”
2、 以指定分隔符“|”加载
db2 “import from btpoper.txt of del modified by coldel|
insert into btpoper”
二、卸载数据:
1、 卸载一个表中全部数据
db2 “export to
btpoper.txt of del select * from btpoper”
db2 “export to btpoper.txt of del
modified by coldel| select * from btpoper”
2、 带条件卸载一个表中数据
db2 “export to
btpoper.txt of del select * from btpoper where brhid=””
db2
“export to cmmcode.txt of del select * from cmmcode where codtp=’01′”
db2
“export to cmmcode.txt of del modified by coldel| select * from cmmcode where
codtp=’01′”
三、查询数据结构及数据:
db2 “select * from btpoper”
db2 “select *
from btpoper where brhid=” and oprid=’0001′”
db2 “select
oprid,oprnm,brhid,passwd from btpoper”
四、删除表中数据:
db2 “delete from
btpoper”
db2 “delete from btpoper where brhid=” or
brhid=””
五、修改表中数据:
db2 “update svmmst set prtlines=0 where
brhid=” and jobtp=’02′”
db2 “update svmmst set prtlines=0 where
jobtp=’02’ or jobtp=’03′”
六、联接数据库
db2 connect to btpdbs
七、清除数据库联接
db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force
applications all 断开所有数据库连接
八、备份数据库
1、 db2 backup db btpdbs
2、
db2move btpdbs export
db2look -d btpdbs -e -x -o crttbl.sql
九、恢复数据库
1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql
crtdb.sql文件内容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql
db2move btpdbs import
十、DB2帮助命令:
db2 ?
db2 ? restroe
db2 ?
sqlcode (例:db2 ? sql0803) 注:code必须为4位数,不够4位,前面补0
十一、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1) db2 bind br8200.bnd
(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd
十二、查看数据库参数:
db2 get dbm cfg
db2 get db cfg for btpdbs
十三、修改数据库参数:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2
update db cfg for btpdbs using LOGFILSIZ 5120
改完后,应执行以下命令使其生效:
db2 stop
1. 查看本滑谨地 节点目录
命令窗口中输入:db2 list node directory
2. 编目一个TCP/IP节点
命圆让敬令窗口:db2 catalog tcpip node remote
server VCname|port_number> ostype
Linux|DYNIX>
3. 取消节点编目
db2 uncatalog node
1. 查看本地节点目录
命令窗口橘慎中输入:db2 list node directory
2. 编目一个TCP/IP节点
命令窗口:db2 catalog tcpip node remote
server ostype
使用DB2查询创建表的实现方法如下:
db2 =>create table t1 ( id integer,name varchar(12),address varchar(50)) db2 =>insert into t1 values(1,’wjz’,’sdfsfds’),(2,’lw’,’闷伍v4′) db2 => select * from t1 IDNAMEADDRESSwjzsdfsfdslwv4
2 条记录已选择。
db2 => create table t3 as (select id,name from t1) data initially deferred refresh deferred db2 =>弯罩伏 refresh table t3 DB20230I SQL命令成功完成。 db2 => select * from t3 IDNAMEwjzlw
2 条记录已选择。
db2 => insert into t1 values(3,’wxb’,’csk’) DB20230I SQL命令成功埋携完成。 db2 => refresh table t3 DB20230I SQL命令成功完成。 db2 => select * from t3 IDNAMEwjzlwwxb
3 条记录已选择。
select name from sysibm.systables where type=’T’ and creator=’谈并DB2ADMIN’
type:数据库表用T表示;数据库视图用V表示
creator:数据库对象的创建者
select tabname from syscat.tables where tabschema = current schema ;// 获取当前模式下面的所有此空用户森侍瞎表
db2中查询已经被覆盖的数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于db2中查询已经被覆盖的数据库,轻松掌握!使用DB2查询被覆盖的数据库,如何对db2中的数据库进行数据分析,DB2数据库的使用,db 查看创建了多少个数据库的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
当前标题:轻松掌握!使用DB2查询被覆盖的数据库(db2中查询已经被覆盖的数据库)
文章网址:http://www.mswzjz.cn/qtweb/news13/72413.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能