db2操作 连接、备份、恢复db2

摘要:
先停用,然后启动备用,然后启动主。如果在报告错误时无法启动Hadstandby,请先还原,但不要回滚。首先直接启动hadrstandby,然后按下icm1。首先停止所有库的hadrstandard。2.离线备份主库。3.在辅助节点db2stop处停止强制,然后启动(可以保证数据库处于停用状态(实际上是db2DEACTIVA

先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这个默认用户才能执行操作

[root@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用户权限下)
[root@localhost ~]# cd /opt/ibm/db2/V9.7/instance
[root@localhost instance]# pwd
/opt/ibm/db2/V9.7/instance
[root@localhost instance]# ./db2idrop db2inst1
DBI1070I Program db2idrop completed successfully.


列出当前实例中有哪些数据库
[root@localhost instance]# su - db2inst1
[db2inst1@localhost ~]$ db2 list db directory


创建数据库
[root@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>


列出当前实例中所有激活的数据库
[root@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)"

显示当前数据库连接有哪些应用程序
[root@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

[root@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
 \. ape0)
(db2 rewind tape on
 \. ape0)
db2 backup db o_yd to
 \. ape0
10.恢复数据库
db2 restore db o_yd from d: to d:
db2 restore db o_yd from
 \. ape0 to d:
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
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′ 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
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

免责声明:文章转载自《db2操作 连接、备份、恢复db2》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇宝塔面板安装swoole扩展怎样在 Firefox 中打开 QQ 链接和邮箱下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vertica在电信的应用

本文介绍了什么 ´电信级大数据分析典型需求 ´Vertica数据库特点及与其他数据库对比 ´Vertica核心技术介绍 ´基于Vertica的典型分系统架构简介 电信级大数据分析典型需求´海量数据存储:年分析数据量达到PB级 Counter数据:各网元收集的统计数据,可用于监控和测量网络性能 MR详单:即手机向网络上报的无线性能测量报告,反映了用户实时...

plsql在64位机器下读取tnsname.ora 及oracle_home异常的解决办法

问题是: 我在自己电脑(win7  64bit)上安装了oracle的64位数据库   通过sqlplus能正常连接主要是安装pl/sql时   我是这样安装的1、在网上下载了个instantclient-basic-nt-11.2.0.3.0包  解压放在E盘下   路径如下E:instantclient-basic-nt-11.2.0.3.0insta...

Spring配置-数据库连接池proxool[转]

 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。   数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个;释放空闲时间超过最大空闲时间的数据...

vsCode mongoDB插件 Azure Cosmos DB

这是一款可以在vsCode中使用的 mongoDB可视化插件。 首先,先进行安装,当然我已经安装好了。 安装完成后,要重启下vsCode 会看到 然后 点击绿色的小按钮,选择MongoDB 再输入MongoDB的连接地址。当然要先把本地的mongoDB数据库打开,cmd黑窗口输入mongod --dbpath xxxx 打开本地数据库 输入完成...

iOS 本地存储四种方法

在iOS开发过程中,不管是做什么应用,都会碰到数据保存的问题。将数据保存到本地,能够让程序的运行更加流畅,不会出现让人厌恶的菊花形状,使得用户体验更好。下面介绍⼀一下数据保存的方式: 1.NSKeyedArchiver:采用归档的形式来保存数据,该数据对象需要遵守NSCoding协议,并且该对象对应的类必须提 供encodeWithCoder:和init...

Tfs 2010使用小技巧

一、如何删除工作项     1、使用Tfs管理员账户登录     2、使用Cmd打开命令行窗口          如果是32位系统,cd "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE"          64位系统则        cd "C:\Program Files (x86)\...