As400/db2命令详解
来源:互联网 发布:淘宝达人登录 编辑:程序博客网 时间:2024/06/05 05:01
一、备份数据库
1.创建备份目录名,即库名
命令:CRTLIB LIB(备份目录名) TYPE(*PROD) AUT(*EXCLUDE) CRTAUT(*CHANGE)
CRTOBJAUD(*USRPRF) TEXT('XXXXX')
参数说明:TYPE(*PROD) 只是标识这个lib 是用于正式环境,还是测试开发环境‘*TEST';AUT(*EXCLUDE) 意思lib中新建的obj对*PUBLIC 无用户组和特殊权限用户权限是*EXCLUDE 无权限。
举例:crtlibdbbackup
2.创建备份文件名,即备份设备名
命令:crtsavf备份目录名/备份文件名
举例:CRTSAVF dbbackup/mzgjj
3.将指定的数据库备份到指定的备份文件中
命令:
savlib lib(数据库名) dev(*savf)savf(备份目录名/备份文件名) savact(*NO)
DTACPR(*MEDIUM) TGTRLS(*CURRENT)OUTPUT(*PRINT)
参数说明:
DTACPR参数:压缩方式,值:*DEV,*NO(不压缩),*YES(压缩),*LOW(低压),*MEDIUM(中压),*HIGH(高压)
TGTRLS参数:版本,值:*CURRENT(当前版本),*PRV(),V5R4M0,V6R1M0,V7R1M0
OUTPUT参数:输出,值:*NONE(不输出),*PRINT(将备份过程输出到打印机),*OUTFILE(输出到文件)。
SAVACT参数:备份方式,值:*NO,*LIB,*SYNCLIB,*SYSDFN。
1。*NO表示不启用save active方式备份;
2。*LIB、*SYNCLIB、*SYSDFN都是针对备份多个LIB时而发挥作用,对于备份单个LIB,*LIB和*SYNCLIB几乎没有什么区别。
3。*LIB和*SYNCLIB是备份多个LIB时采用一个同步时间点进行判断备份,而*SYSDFN是备份多个LIB时系统自动采用多个同步时间点来进行判断备份。那*LIB和*SYNCLIB之间有什么区别呢?请看下文。
4。*LIB表示当同时备份多个LIB时,只采用一个同步时间点备份,但无法保证同时备份的多个LIB能够同步备份,如果备份的LIB之间存在关联,采用*LIB方式很容易造成备份的数据存在问题。
而*SYNCLIB表示同时备份多个LIB时,也是只采用一个同步时间点进行备份,但备份时能够使多个LIB进行数据同步,这样即使这些备份的LIB存在关联,也是能够成功的。
5。*SYSDFN表示备份多个LIB时系统采用过个同步时间点进行同步备份,特别适合所备份的LIB之间存在关联情况。
6。由此可见,如果我们想让多个active library备份成功,选择的参数不应该选*lib,而应该选择*SYSDFN成功率更高,因为*SYSDFN提供了多个同步时间点去扫描系统LIB当前的状态,比如17:00为第1个同步时间点,17:10为第2个同步时间点,17:20为第3个同步时间点;当然同时我们也可以适当修改save active wait time参数增大备份延续时间。
7。由此,我们可以深刻体会SAVACT参数和save active wait time参数这2个参数配合起来实施“联机备份”的意义所在。
银行、保险部门在实时备份数据机制方面尤其突出,特别是银行,更常使用后面2个参数来执行数据备份(*SYNCLIB、*SYSDFN);但是话说回来,由于银行的交易数据太大,单纯采用SAVLIB根本无法满足24小时联机备份机制,所以银行目前采用的是利用MIMIX、OMS、DataMirror等第三方商业软件利用"JOURNAL RECEIVE"同步原理来进行24小时联机备份。
举例:
SAVLIBLIB(mzgjj) DEV(*SAVF) SAVF(dbbackup/mzgjj) DTACPR(*MEDIUM) OUTPUT(*PRINT)
4.将备份文件拷贝到磁带机TAP01中
命令:SAVSAVFDTA SAVF(备份目录名/备份文件名) DEV(TAP01)
举例:SAVSAVFDTA SAVF(dbbackup/mzgjj)DEV(TAP01) (注:系统自动分配标号)
4.将备份文件拷贝到其他电脑上(FTP方式)
命令:
cd 库名 //进入指定的文件夹,即库名
lcd目标位置名 //指定目标文件存放的位置,如:e盘
bin //以二进制方式传输文件
get 源文件名 //将源文件复制到lcd命令指定的目标位置下
mget源文件名 //一次性将多个源文件复制到lcd命令指定的目标位置下
举例:
ftp192.168.0.5
用户名:QSECOFR
密码:QSECOFR
cddbbackup
lcde:\
bin
getmzgjj
或者:mgetmz* //将当前目录下以mz*开头的文件全部复制到目标位置下
二、自动备份数据库
说明:在主机上进行备份。每周一个循环,每天一个savf。在操作系统中运行7个定时备份作业(job)。每周一,由系统管理员用ftp将7个savf传到pc机,并修改文件名加上日期。
savf命名规则:Week1~Week7
1. 创建备份目录名和文件名
crtlib weekbak
crtsavf weekbak/week1
crtsavf weekbak/week2
crtsavf weekbak/week3
crtsavf weekbak/week4
crtsavf weekbak/week5
crtsavf weekbak/week6
crtsavf weekbak/week7
2. 建立定时备份作业(job)
输入WRKJOBSCDE,按回车。 再按F6添加作业,添加作业名savweek1,用于在每周一的晚上23:30:00分时,备份数据库到(WEEKBAK/WEEK1)。备份命令为:
注意schedule time里的单引号是系统自动生成的,在输入时,直接输入23:40:00即可。
SAVLIB LIB(MZGJJ) DEV(*SAVF)SAVF(WEEKBAK/WEEK1) CLEAR(*ALL) DTACPR(*MEDIUM) OUTPUT(*PRINT)
*WEEKLY
*NONE
23:00:00
磁带备份:
将savf备份到磁带中,命令为
Savlib weebbak
SAVLIB WEEKBAK TAP01 回车即将WEEKBAK目录中的文件都备份到磁带。
从磁带中取文件出来
RSTLIB WEEKBAK TAP01
三、还原数据库
1.创建还原用户、还原库、备份文件
建还原用户:使用“iSeries导航器”创建还原用户
建还原库:create SCHEMA 还原库名(带日志)
或使用“iSeries导航器”创建还原库(注意,请使用还原用户进入导航器)。
建备件文件:
命令:crtsavf备份目录名/备份文件名
举例:CRTSAVF dbbackup/mzgjj
2.上传还原文件
注意:如果使用第三方工具上传文件,应先将本地的源文件名加上savf扩展名。
命令:
cd 库名 //进入指定的文件夹,即库名
lcd本地位置 //指定源文件存放的位置,如:e盘
bin //以二进制方式传输文件
put源文件名 //将源文件复制到cd命令指定的目标位置下
mput源文件名 //一次性将多个源文件复制到cd命令指定的目标位置下
举例:
ftp 192.168.0.5
用户名:QSECOFR
密码:QSECOFR
cd dbbackup
lcd e:\
bin
put mzgjj
或者:mput mzgjj* //将当前目录下以mzgjj开头的文件全部复制到目标位置下
3.从备份文件中将数据库还原到指定的数据库中
命令:rstlibsavlib(源数据库名) dev(*savf) savf(备份目录名/备份文件名) RSTLIB(目的数据库名) ALWOBJDIF(*ALL) MBROPT(*ALL)
参数说明:
举例:RSTLIB SAVLIB(bcgjj) DEV(*SAVF) SAVF(dbbackup/bc20101118)RSTLIB(bctest)
RSTLIB SAVLIB(ZJGJJ) DEV(*SAVF)SAVF(BACK/ZJWEEK4) RSTLIB(ZJTEST) OUTPUT(*PRINT)
RSTLIB SAVLIB(BCGJJ) DEV(*SAVF)SAVF(BACK/BC20121114) RSTLIB(BCGJJ) OUTPUT(*PRINT)
RSTLIB SAVLIB(MMGJJ) DEV(*SAVF)SAVF(BACK/MM121225) RSTLIB(MMGJJ) OUTPUT(*PRINT)
RSTLIB SAVLIB(MMGJJ) DEV(*SAVF)SAVF(BACK/MM121225) RSTLIB(MMTEST) OUTPUT(*PRINT)
RSTLIB SAVLIB(MMGJJ) DEV(*SAVF)SAVF(BACK/WEEK3) RSTLIB(MM1212) OUTPUT(*PRINT)
RSTLIB SAVLIB(MZGJJ) DEV(*SAVF)SAVF(DBBACKUP/MZGJJ) RSTLIB(MZTEST) OUTPUT(*PRINT) ALWOBJDIF(*ALL) MBROPT(*ALL)
RSTLIB SAVLIB(ZJGJJ) DEV(*SAVF) SAVF(BACK/ZJ20131016)RSTLIB(ZJGJJ) OUTPUT(*PRINT) ALWOBJDIF(*ALL) MBROPT(*ALL)
3.从磁带机TAP01中将指定的数据库文件标号还原到指定的数据库中
命令:rstlibsavlib(源数据库名) dev(tap01) seqnbr(文件标号:在1-16777215之间) RSTLIB(目的数据库名)
举例:RSTLIB SAVLIB(bcgjj) DEV(tap01) seqnbr(6) RSTLIB(bctest)
4.更改所有者
命令:CHGOWN OBJ(路径) NEWOWN(新的所有者名) SUBTREE(*ALL)
举例:CHGOWN OBJ('/QSYS.LIB/MZTEST.LIB/*') NEWOWN(MZTEST) SUBTREE(*ALL)
5.更改日志
6.更改存储过程、函数
主要是更改他们的DFTRDBCOL参数(缺省关系数据库集合);值改为:*NONE,表示不指定此参数的值。
因存储过程、函数中使用表的方法为:集合.表。其中集合指DFTRDBCOL参数指定的集合,可以理解为模式或数据库。
AS400日常命令
显示设备信息
dspsavf库名/备份设备名
dsptapdev(tap01) seqnbr(6) data(*labels) //显示tap01中指定文件号的详细信息
dsptapdev(tap01) seqnbr(6) data(*savrst) //显示tap01中指定文件号的内容
1. 检查正在运行的JOB
命令:WRKACTJOB
然后找到你要查看的JOB, 然后在该JOB最左边输入5,然后回车,输入10然后回车就可以查看该JOB的详细信息了。
2. 如何结束一个JOB
命令:WRKACTJOB
找到你要结束的JOB, 然后在该JOB最左边输入4,然后按回车就可以结束该JOB
3. 查看表的锁
1) WRKOBJLCK:查看由所有任务在一个对象上使用的LOCK。
命令:WRKOBJLCK OBJ(库名/表的短名称) OBJTYPE(*FILE)
举例:WRKOBJLCK OBJ(BCGJJ/Q_GRMX) OBJTYPE(*FILE)
2) DSPRCDLCK(DISPLAYRECORD LOCKS):查看一个物理文件中已锁定的记录。
3) DSPJOB:查看一个任务的所有外部锁,包括已使用的那些锁和该任务正等待使用的那些锁。
- As400/db2命令详解
- DB2 AS400数据库恢复
- WebSphere连接AS400的DB2
- DB2 For AS400 字符函数
- db2、as400修改表字段
- as400 所有命令
- DB2命令详解
- AS400 DB2 SQL常用函数总结
- AS400一些有用的命令
- DB2 rollforward 命令使用详解
- DB2 rollforward命令使用详解
- as400
- as400
- AS400
- DB2命令
- DB2命令
- db2命令
- DB2 命令
- 三足鼎立
- Sicily 1031. Campus(shortest path)
- java的overload与override小总结
- 在csdn的第一篇博客
- 循环-07. 爬动的蠕虫(15)
- As400/db2命令详解
- 【c语言】检查大括号匹配
- LeetCode Best Time to Buy and Sell Stock II
- STL系列(8): Sets & MultiSets
- Trie树详解及其应用
- 解决校园网无法使用vpngate
- 数字升序
- JAX-WS简单例子
- HDU 5195 线段树