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

db2默认需要切换到db2inst1这个默认用户才能执行操作

[[email protected] instance]# su - db2inst1

[[email protected] ~]$ db2start

[[email protected] ~]$ db2 force application all

[[email protected] ~]$ db2stop

[[email protected] DB2]$ db2stop force

显示所有的实例
[[email protected] ~]$ db2ilist

显示当前的实例
[[email protected] ~]$ db2 get instance

删除一个实例(注:需切换到root用户权限下)
[[email protected] ~]# cd /opt/ibm/db2/V9.7/instance
[[email protected] instance]# pwd
/opt/ibm/db2/V9.7/instance
[[email protected] instance]# ./db2idrop db2inst1
DBI1070I Program db2idrop completed successfully.

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

创建数据库
[[email protected] instance]# su - db2inst1
[[email protected] ~]$ db2 create database test

连接数据库
[[email protected] ~]$ db2 connect to test

注:用密码情况下格式[[email protected] ~]$ db2 connect to test user username using password
db2 connect to <database> user <username> using <password>

列出当前实例中所有激活的数据库
[[email protected] ~]# su - db2inst1
[[email protected] ~]$ db2 list active databases

查看表的空间
[[email protected] ~]$ db2 list tablespaces [ show detail ]

列出数据库中所有用户表
[[email protected] ~]$ db2 connect to test
[[email protected] ~]$ db2 list tables

创建表
[[email protected] ~]$ db2 "create table student (id int,fname varchar(30),age int)"

向表student中添加数据信息
[[email protected] ~]$ db2 "insert into student values (1,‘Tom‘,22)"

显示表student所有的信息
[[email protected] ~]$ db2 "select * from student"

更新数据
[[email protected] ~]$ db2 "update student set age=22 where fname=‘Sunrier‘"

查看表student结构
[[email protected] ~]$ db2 describe table student

[[email protected] ~]$ db2 "describe select * from student"

修改一个表的字段类型(如表people中的fname字段把varchar(30)改为varchar(28))
[[email protected] ~]$ db2 describe table people

[[email protected] ~]$ db2 "alter table people alter column fname set data type varchar(28)"

向一个表添加字段(如向表people中添加备注信息字段notes;向表people中添加分数字段score)
格式:db2 "alter table <tablename> add <columnname> <datatype>"

[[email protected] ~]$ db2 "alter table people add notes varchar(100)"

显示当前数据库连接有哪些应用程序
[[email protected] ~]# su - db2inst1
[[email protected] 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"
[[email protected] ~]$ ls
db2inst1 sqllib Sunrier teacher.sql TEST.0.db2inst1.NODE0000.CATN0000.20120817103306.001
[[email protected] ~]$ 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> ]
[[email protected] ~]$ 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>:表示为从哪个目录路径下恢复,为可选项,默认在当前目录下
[[email protected] ~]$ 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>
[[email protected] ~]$ db2 list history backup all for test

查看错误码信息
[[email protected] ~]$ 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

[[email protected] ~]# su - db2inst1

[[email protected] ~]$ 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

时间: 2024-11-09 03:52:53

db2操作 连接、备份、恢复db2的相关文章

大话去哪儿网备份恢复平台

来源:http://mp.weixin.qq.com/s/ldu7iS5c3d0ND3foPYoLXQ 作者简介:许子文 曾任达梦高级数据库工程师,现任去哪儿网高级DBA,负责MySQL .Hbase运维和自动化运维工具的开发.在RDBMS拥有多年数据库架构设计.性能优化和运维经验,对海量数据有丰富的运维经验和个人见解. 备份恢复是DBA日常运维工作中的重中之重??怎么快速高效完成备份和恢复??怎么有效平衡DB数据量和业务重要等级??接下来从技术和业务的角度介绍Qunar数据库备份恢复平台的演变

记一次db2 备份\恢复过程中遇到的用户权限问题

今天在备份windows上db2数据的时候用的以下命令(原db2 dba用户为A) db2 backup db db2demo 执行成功 然后再另一台同环境机器上执行 db2 create db db2demo 成功 db2 connect to db2demo 成功 db2 create schema db2rcs 成功 db2 grant dbadm on database to user B (因为恢复电脑用户名与备份机器用户名不同) 成功,(此时用户B对db2demo 有完全管理权限)

DB2操作

第一章DB2开发基础 在进行DB2应用开发之前,了解DB2应用程序的结构,掌握相关概念,设置开发环境是很必要的.本章主要介绍这几个方面的内容. 1.1 DB2应用程序开发概述 1.1.1 程序结构 DB2应用程序包括以下几个部分: 1.声明和初始化变量 2.连接到数据库 3.执行一个或者多个事务 4.与数据库断开连接 5.结束程序 一个事务是一组数据库操作,在提交给数据库之前,必须确认完全成功执行.在嵌入式SQL应用程序中,当应用程序成功地连接到一个数据库时,一个事务就自动开始了,结束于执行一条

DB2数据库在线备份还原笔记

数据库在线增量备份    由于一般客户的生产系统数据量都很大,所以频繁的进行数据库或表空间的全量备份在空间存储上变得不可行.DB2 支持两种增量的备份,一种是增量备份(comulative backup),另一种是差异备份(deltabackup).总的说来,增量的备份(包括增量备份和差异备份),在其备份映像文件中只包含自上次进行备份以来有过更新的页,除更新的数据和索引页之外,每个增量备份映像还包含通常存储在完全备份映像中的初始数据库元数据(例如,数据库配置.表空间定义和数据库历史记录等).增量

DB2表空间重定向恢复数据库实战

DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考. 一.发出重定向恢复命令 DB2 RESTORE DB OLDDB FROM "C:\OLDDBbak" TAKEN AT 20150717164847 TO "C:" INTO NEWDB REDIRECT 其中,OLDDB是旧数据库.备份的数据库名称,NEWDB是新数据库名称,不用事先创建也可以,C:\OLDDBbak是备份文件放置的目

【db2】 db2数据库还原,备份

将整个文件夹(JMAM_DQ.0)放到D:\db_bak\开始-运行,输入db2cmd:1.创建数据库db2 create db dbname on d: (数据库在D盘,这时系统会自动新增SQL0000*目录,结果目录如:D:\DB2\NODE0000\SQL0000*\....;如果远程连接数据库创建,则在执行create 前先执行 db2 attach to servernode user ...using...) 2.还原数据库(重新指向)db2 restore db JMAM_DQ f

MySQL常用操作(2)MySQL用户管理、常用sql语句、 MySQL数据库备份恢复

                MySQL用户管理 创建一个普通用户并且授权 1.grant all on *.* to 'user1' identified by 'passwd'; grant all on *.* to 'user1' identified by '123456'; (创建user1用户,all表示所有权限(读.写,增.删.改.查等):*.*,前面的*表示所有的数据库,后面的*表示所有的表:identified by后面跟密码,要用单引号''引起来) grant all o

DB2 操作小结

数据库的创建 用命令行创建数据库 进入DB2的命令行模式,即:输入 db2cmd后按下回车,进入命令行模式 命令行模式下,输入db2start后按下回车,启动DB2数据库,实际上启动的是数据库的服务.(如果服务已启动,会很快完成该命令,否则需要等一段时间. 创建数据库 通常网上资料是:db2 create database 数据库名 存在一个问题,即该命令创建后的数据库的字符集是UTF8,如果想要创建gb2312时,使用以下的命令: create database 数据库名 alias 数据库别

xtrabackup备份恢复测试 -转

Chinaunix首页 | 论坛 | 认证专区 | 博客 登录 | 注册 博文      博主 王恒-Henryhengwang.blog.chinaunix.net 我的项目:https://github.com/HengWang/ ChinaUnix博客技术文章推荐标准和规范 有奖征集:文集--博客系列博文管理 CU博客频道6月技术图书有奖试读活动 首页 | 博文目录 | 关于我 king_wangheng 博客访问: 486455 博文数量: 117 博客积分: 1715 博客等级: 上尉