db2备份linux
linux中备份db2数据库指南:
一、备份(backup)数据库
1、离线全备份
1)、首先确保没有用户使用DB2:
db2 list applications for db sample
2)、停掉数据库并重新启动,以便断掉所有连接:
db2stop force
db2start
3)、执行备份命令:(使用TSM作为备份的介质)
db2 backup db sample use tsm
备份成功,将会返回一个时间戳。
4)、检查备份成功:
db2 list history backup all for sample 可以看到多了这个备份的纪录。
db2atl query 命令也可以看到返回值。
5)、备注:
首先对主节点(catalog表空间在的节点)执行备份命令,再对另外的节点也做这个操作。
2、 在线备份:
1)、首先打开一下支持在线备份的数据库配置参数:
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 启用增量备份功能
(需要各个Node都分别做设置)
开启这些参数后,数据库处于backup pending状态,要求做数据库的离线全备份。做一下离线全备份,参考上面的命令。
2)、在线备份命令如下:
db2 backup db sample online use tsm
备份成功,返回一个时间戳。
3)、同样可以用db2atl 和db2 list history察看备份纪录。
4)、备注:
同样,对每个节点都做这个操作。
3、 在线增量备份
1)、在开启了必须的三个参数的情况下,做增量备份:
db2 backup db sample online incremental use tsm
备份成功,返回一个时间戳。
2)、同样可以用db2atl 和db2 list history察看备份纪录。
3)、还有一种delta的备份:
db2 backup db sample online incremental delta use tsm
这两种备份的区别,类似Oracle Exports的Incremental和Cumulative方式,db2的incremental对应oracle的cumulative方式,而db2的delta方式则对应oracle的incremental方式。
4)、备注:
同样,对每个节点都做这个操作。
㈡ Linux系统中DB2备份,报错误sql2061N:访问介质 介质 的尝试被拒绝。
你看下 /opt/db2backup文件夹的档明权限是不是你实例的用户和用户组,感旦桥觉你的行迟告 /opt/db2backup用户和属组应该不对
㈢ 如何在Linux下实现DB2数据库备份和恢复
Linux, 环境, 数据库Linux, 数据库, 环境
通过如下备份脚本备份的数据库进行恢复
备份脚本:
- ./home/db2admin/sqllib/db2profile
- db2backupdbdatedbonlineto/dbbackup/dateincludelogs
- cd/dbbackup/datetoday=`date+”%Y%m%d”`
- file1=”*$today*”
- ftpfile=`ls$file1`
- echo$ftpfile
- lftp-c“openftp地址;user用户名密码@$0;put$ftpfile”
- find/dbbackup/date-ctime+15-execrm{};
恢复命令:
通过root命令登录到服务器上后切换到数据库用户名下用su – db2admin命令。
进入到备份文件存放目录即可。
㈣ IBM/DB2.Linux的安装配置管理
IBM/DB2.Linux的安装配置管理
作为关系型数据库技术的领导者,IBM公司在2001年将世界排名第四的Informix数据库公司纳入麾下,并将其所拥有的先进特性融入到DB2当中。下面我准备了关于IBM/DB2.Linux的安装配置管理的.文章,提供给大家参考!
1.安装IBM/DB2 V9.1 Linux版
下载得到安装文件 db2exc_912_LNX_x86.tar.gz ,解压到ext2/3分区
# cd db2exc_912_LNX_x86
# ./db2setup
(1)弹出java的安装界面,install new instance
(2)使用“Typical Mode”,选择安装目录,默认为 DB2_root=/opt/ibm/db2/V9.1/
# echo DB2_root=/opt/ibm/db2/V9.1/ >> /etc/profile
(3)并默认创建 db2inst?、db2fenc?、db2adsusr? 这个几个用户最重要的是本地实例管理用户 db2inst? 其负责管理数据库实例
(4)创建Instance,然后下一步继续安装,看到successful结果,表示成功
(5) # ps -e | grep db2 应该可以看到三个不同名称的进程
(6) # tail /etc/inittab #可以看到最后一行就是启动db2的方法
fmc:2345:respawn:/opt/ibm/db2/V9.1/bin/db2fmcd #DB2 Fault Monitor Coordinator
2.配置IBM/DB2的库开发和CLI/ODBC连接
# su db2inst1
$ cd $DB2_ROOT
## 编目(catalog):
$ ./db2 catalog tcpip node remote server
$ ./db2 catalog db at node
$ ./db2 connect to user using
## 反编目(uncatalog):
$ ./db2 uncatalog db
$ ./db2 uncatalog node
3.修改,使用IBM/DB2的CLI/ODBC进行程序开发
(1)如果不想使用db2实例,而只是想使用CLI/ODBC来开发程序,可以注释 /etc/inittab 中启动db2的那一句,放弃启动IBM/DB2数据库服务。
(2)环境变量配置文件 : /home/db2inst1/sqllib/db2profile
查看 /etc/profile ,保证(添加或者修改)有以下两句
export DB2INSTANCE=db2inst1
export PATH=$DB2_ROOT/binPATH
export LD_LIBRARY_PATH=$DB2_ROOT/lib32LD_LIBRARY_PATH
(3)编目目标机器地址与ODBC的DSN的关系,CLI/ODBC 中最重要的头文件(include)和库(lib)
$DB2_ROOT/lib32 或 其联接 /home/db2inst1/sqllib/lib,其中最重要的是libdb2.so
4.数据库备份及恢复
(1).使用用户名和口令登录服务器
# db2 connect to ecm3000 user using
(2).强制停止所有应用,是异步的
# db2 force applications all
(3).将数据库备份到指定目录下
# db2 backup database to
(4).从指定目录中恢复数据库
# db2 restore database from
5.修改和卸载DB2
请先反编目()如步骤2中
# su db2inst1
$ cd $DB2_ROOT/install
$ ./db2_deinstall -a
等待结束 ...
修改该/etc/inittab 中启动db2的那一句,保证放弃启动IBM/DB2数据库服务。
;㈤ Window下备份的DB2数据库,在Linux下怎么恢复
将windows下的数据库备份文件直接复制到LINUX下,在LINUX下创建一个同名空库,然后执行restore db命令,应该成功的。
另外一种方法是可以用db2look取得windows数据库的DDL语句,到LINUX系统下执行一遍。数据依靠windows下执行EXPORT命令导出,LINUX下IMPORT。
㈥ 我现在要备份linux下db2数据库,但有几个表中数据太大,有30多G,有好的处理方法吗
试试tar -jpvc -f (被处理后生成的)文件名.tar.bz2 (要备份的)文件局慧夹
这稿敬样打包压缩桐敬答完看看占多大
㈦ DB2数据库在linux操作系统的指令有哪些
DB2数据库命令简介
1.启动数据库
DB2start
2.停止数据库
DB2stop
DB2数据库在linux相关指令之3.连接数据库
DB2 connect to o_yd user DB2 using pwd
4.读数据库管理程序配置
DB2 get dbm cfg
5.写数据库管理程序配置
DB2 update dbm cfg using 参数名 参数值
6.读数据库的配置
DB2 connect to o_yd user DB2 using pwd
DB2 get db cfg for o_yd
7.写数据库的配置
DB2 connect to o_yd user DB2 using pwd
DB2 update db cfg for o_yd using 参数名 参数值
8.关闭所有应用连接
DB2 force application all
DB2 force application ID1,ID2,,,Idn MODE ASYNC
(DB2 list application for db o_yd show detail)
9.备份数据库
DB2 force application all
DB2 backup db o_yd to d:
(DB2 initialize tape on \.tape0)
(DB2 rewind tape on \.tape0)
DB2 backup db o_yd to \.tape0
10.恢复数据库
DB2 restore db o_yd from d: to d:
DB2 restore db o_yd from \.tape0 to d:
DB2数据库在linux相关指令之11.绑定存储过程
DB2 connect to o_yd user DB2 using pwd
DB2 bind c:dfplus.bnd
拷贝存储过程到服务器上的C:sqllibfunction目录中
12.整理表
DB2 connect to o_yd user DB2 using pwd
DB2 reorg table ydd
DB2 runstats on table ydd with distribution and indexes all
13.导出表数据
DB2 export to c:dftz.txt of del select * from dftz
DB2 export to c:dftz.ixf of ixf select * from dftz
14.导入表数据
import from c:123.txt of del insert into ylbx.czyxx
DB2 import to c:dftz.txt of del commitcount 5000 messages c:dftz.msg insert into dftz
DB2 import to c:dftz.ixf of ixf commitcount 5000 messages c:dftz.msg insert into dftz
DB2 import to c:dftz.ixf of ixf commitcount 5000 insert into dftz
DB2 import to c:dftz.ixf of ixf commitcount 5000 insert_update into dftz
DB2 import to c:dftz.ixf of ixf commitcount 5000 replace into dftz
DB2 import to c:dftz.ixf of ixf commitcount 5000 create into dftz (仅IXF)
DB2 import to c:dftz.ixf of ixf commitcount 5000 replace_create into dftz (仅IXF)
15.执行一个批处理文件
DB2 -tf 批处理文件名
(文件中每一条命令用 ;结束)
16.自动生成批处理文件
建文本文件:temp.sql
select 'runstats on table DB2.' || tabname || '
with distribution and detailed indexes all;'
from syscat.tables where tabschema='DB2' and type='T';
DB2 -tf temp.sql>runstats.sql
17.自动生成建表(视图)语句
在服务器上:C:sqllibmisc目录中
DB2 connect to o_yd user DB2 using pwd
DB2look -d o_yd -u DB2 -e -p -c c:o_yd.txt
DB2数据库在linux相关指令之18.其他命令
grant dbadm on database to user bb
19select * from czyxx fetch first 1 rows only
20DB2look -d ylbx -u DB2admin -w -asd -a -e -o a.txt21. 显示当前用户所有表
list tables
22.列出所有的系统表
list tables for system
23.查看表结构
DB2 describe select * from user.tables
㈧ 在HP-UX下的db2备份文件能在linux上使用db2ckbkp验证吗
尽租迅管貌似没试过,但应该是不行的。至于原因,应跟 restore 跨平台有限制是一样的,只有大小尾相同的操作系统间可以跨平台恢复。HP-unix是大尾了,Linux除了P和Z上的应该都是小尾,所以一般是不行的弊陪此。而且这也是合理的,既然不能恢乱塌复,干嘛还要求能check。
㈨ windows下备份的db2数据库怎样在Linux系统下还原
只能用
db2look
+db2move
进行迁移。
1.提取ddl
用如下命令
db2look
-d
yn
-e
-l
-o
db2look_yn.ddl
//提取出
yn(云南)
这个数据库
所有用户对象,包括表空间等。
2.用db2move
导出数据
如下
如你在
db2inist1
用户目录下
建立一个
data
目录
然后执行
db2move
yn
export
在data
目录下
会有好多
后缀名为ixf
和msg
的文件,其中ixf为数据表文件,msg后缀的为消息文件,其中最重要的
是db2move.lst
存放导出表和消息文件的对应关系。
3.去windows
下建立一个数据库
db2
“
create
db
yn
pagesize
8
k”
//这里的pagesize需要和
ddl的统一
然后修改
yn.ddl
文件下
把
linux下面
的路径
替换为windows
的路径然后执行db2
-tvf
yn.ddl
4.导入数据库
db2move
yn
load
其中会生成
一个load.out的文件
记录错误信息或者
导入失败的表
,如加载了多少行,拒绝多少行
等。
5.查看load.out
找到那些导入不成功的进行
处理,然后倒入。然后进行完整性约束
这些检查。如有问题
q
我吧。
㈩ 想请教下各路大神,linux下每天定时给db2数据库做一个全库压缩备份的脚本,应该怎么写呢
备份命令的栗子:db2 backup db tt online to /db2home/db2 compress include logs
然后命令挂到crontab里面就行了
db2一备份数据库就几乎不动了,慎重哈~(其实一周备份一次就差不多了)