设为首页 收藏本站
查看: 979|回复: 0

[经验分享] db2操作 连接、备份、恢复db2

[复制链接]

尚未签到

发表于 2016-11-18 03:48:26 | 显示全部楼层 |阅读模式
  先deactivate后再start standby再primary
报错不能启动hadr standby的时候,先restore,但是别rollback,直接start hadr as standby
  先把hadr起来后再推icm
  1、先把所有的库的hadr stop了
2、把primary的库离线备份
3、在副节点db2stop force ,再start(可以保证是处于deactivate(其实db2 DEACTIVATE DATABASE cinder就行)的状态,然后再restore)
4、db2 get db cfg for ceilodb2 | grep "Path to log files" 删除得到的文件夹里面所有文件比如得到node/ 就rm -rf node/*
5、在副节点restore(千万别rollback)
6、在副节点start hadr as standby
7、db2 ACTIVATE DATABASE cinder
8、在主节点start hadr as primary
  db2默认需要切换到db2inst1这个默认用户才能执行操作
  [iyunv@localhost instance]# su - db2inst1
  
[db2inst1@localhost ~]$ db2start
  
[db2inst1@localhost ~]$ db2 force application all
  
[db2inst1@localhost ~]$ db2stop
  
[db2inst1@localhost DB2]$ db2stop force
  
显示所有的实例
[db2inst1@localhost ~]$ db2ilist
  
显示当前的实例
[db2inst1@localhost ~]$ db2 get instance
  
删除一个实例(注:需切换到root用户权限下)
[iyunv@localhost ~]# cd /opt/ibm/db2/V9.7/instance
[iyunv@localhost instance]# pwd
/opt/ibm/db2/V9.7/instance
[iyunv@localhost instance]# ./db2idrop db2inst1
DBI1070I  Program db2idrop completed successfully.
  
列出当前实例中有哪些数据库
[iyunv@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2 list db directory
  
创建数据库
[iyunv@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2 create database test
  
连接数据库
[db2inst1@localhost ~]$ db2 connect to test
  
注:用密码情况下格式[db2inst1@localhost ~]$ db2 connect to test user username using password
db2 connect to <database> user <username> using  <password>
  
列出当前实例中所有激活的数据库
[iyunv@localhost ~]# su - db2inst1
[db2inst1@localhost ~]$ db2 list active databases
  
查看表的空间
[db2inst1@localhost ~]$ db2 list tablespaces [ show detail ]
  
列出数据库中所有用户表
[db2inst1@localhost ~]$ db2 connect to test
[db2inst1@localhost ~]$  db2 list tables
  
创建表
[db2inst1@localhost ~]$ db2 "create table student (id int,fname varchar(30),age int)"
  
向表student中添加数据信息
[db2inst1@localhost ~]$ db2 "insert into student values (1,'Tom',22)"
  
显示表student所有的信息
[db2inst1@localhost ~]$ db2 "select * from student"
  
更新数据
[db2inst1@localhost ~]$ db2 "update student set age=22 where fname='Sunrier'"
  
查看表student结构
[db2inst1@localhost ~]$ db2 describe table student
  [db2inst1@localhost ~]$ db2 "describe select * from student"
  
修改一个表的字段类型(如表people中的fname字段把varchar(30)改为varchar(28))
[db2inst1@localhost ~]$ db2 describe table people
  [db2inst1@localhost ~]$ db2 "alter table people alter column fname set data type varchar(28)"
  
向一个表添加字段(如向表people中添加备注信息字段notes;向表people中添加分数字段score)
格式:db2 "alter table <tablename> add <columnname> <datatype>"
  
[db2inst1@localhost ~]$ db2 "alter table people add notes varchar(100)"
  显示当前数据库连接有哪些应用程序
[iyunv@localhost ~]# su - db2inst1
[db2inst1@localhost DB2]$ db2 list application
  导出表中的数据
  以DEL格式导出
db2 "export to teacher.txt of del select * from teacher"
db2 "export to teacher_bak.txt of del modified by coldel| select * from teacher"
[db2inst1@localhost ~]$ ls
db2inst1  sqllib  Sunrier  teacher.sql  TEST.0.db2inst1.NODE0000.CATN0000.20120817103306.001
[db2inst1@localhost ~]$ db2 "export to teacher.txt of del select * from teacher"
SQL3104N  The Export utility is beginning to export data to file
"teacher.txt".
  备份数据库(如防止表误操作)
格式:db2 backup db <database name> [ to <dir name> ]
[db2inst1@localhost ~]$ db2 backup db test
SQL3105N  The Export utility has finished exporting "2" rows.
  恢复数据库(如将一个表删除后,通过删除前的备份文件恢复)
格式:db2 restore db <database name> [ from <dir name> ]
database name:表示恢复的数据库名
  from <dir name>:表示为从哪个目录路径下恢复,为可选项,默认在当前目录下
[db2inst1@localhost ~]$ db2 connect to test
注:如果想把恢复的数据库更改为新的数据库名,则格式如下
  db2 restore db <database name>  [ from <dir name> into <new database name> ]
例:db2 restore db test from /home/db2inst1/Sunrier into testdb
或者db2 restore db test from "/home/db2inst1/Sunrier" into testdb
  
.查看test数据库备份的历史记录
格式:db2 list history backup all for <database name>
[db2inst1@localhost ~]$ db2 list history backup all for test
  
查看错误码信息
[db2inst1@localhost ~]$ db2 ? 22003
SQLSTATE 22003: A numeric value is out of range.
  ======================================back up ========================================
db2 list db directory
  1、离线全备份
db2 force application all
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   可以看到多了这个备份的纪录。
db2adutl query 命令也可以看到返回值。
  5、恢复数据库
  db2 restore db GLANCE from /var/wenbin/backup
  当恢复后需要连接数据库的时候报错
Last login: Wed Jan 30 02:23:23 2013
[iyunv@localhost ~]# su - db2inst1
[db2inst1@localhost ~]$ db2 connect to sample
SQL1117N  A connection to or activation of database "SAMPLE" cannot be made
because of ROLL-FORWARD PENDING.  SQLSTATE=57019
####这个提示是说需要前滚期间的日志才能激活数据库
执行下面的语句:
  db2 rollforward db GLANCE to end of logs and stop


1.启动数据库
db2start
2.停止数据库
db2stop
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:
11.绑定存储过程
db2 connect to o_yd user db2 using pwd
db2 bind c:\dfplus.bnd
拷贝存储过程到服务器上的C:\sqllib\function目录中
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
import from vipmobiles.txt of del method p(1) insert into tgzvipmobiles(mobileno)


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&prime; and type=’T';
db2 –tf temp.sql>runstats.sql
17.自动生成建表(视图)语句
在服务器上:C:\sqllib\misc目录中
db2 connect to o_yd user db2 using pwd
db2look –d o_yd –u db2 –e –p –c c:\o_yd.txt
18.其他命令
grant dbadm on database to user bb
19 select * from czyxx fetch first 1 rows only
20 db2look –d ylbx –u db2admin –w –asd –a –e –o a.txt21. 显示当前用户所有表
list tables
22.列出所有的系统表
list tables for system
23.查看表结构
db2 describe select * from user.tab

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-301723-1-1.html 上篇帖子: Linux下卸载DB2,WebSphere 下篇帖子: DB2 错误解释
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表