• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >DB2 > DB2数据库基础总结

DB2数据库基础总结

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2017-06-28

匿名通过本文主要向大家介绍了db2数据库基础教程,db2数据库基础入门,db2数据库下载,db2数据库,db2数据库培训等相关知识,希望本文的分享对您有所帮助
</div>

一、db2 基础

基本语法

注释:“--”(两个减号)

字符串连接:“||”

如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’

字符串的引用:‘’(一定用单引号),如果需要输入单引号,输入两个单引号即可。

语句结束:“;”

语法来源:PASCLE

转义字符:

如果你想查询字符串中包含‘%’或‘_’ ,就得使用转义字符(Escape Characters)。比如,要想查询book_title中包含字符串’99%’的纪录:

SELECT * FROM books WHERE book_title like ‘%99!%%’ escape ‘!’

后面的escape ‘!’是定一个转义字符‘!’, 指明紧跟着转义字符’!'后的%不再是统配符。

DB2命令参数选项

Db2 list command options 可以查看

-a 显示 SQLCA OFF

-c 自动落实 ON

-e 显示 SQLCODE/SQLSTATE OFF

-f 读取输入文件 OFF

-l 将命令记录到历史文件中 OFF

-n 除去换行字符 OFF

-o 显示输出 ON

-p 显示交互式输入提示 ON

-r 将输出保存到报告文件 OFF

-s 在命令出错时停止执行 OFF

-t 设置语句终止字符 OFF

-v 回送当前命令 OFF

-w 显示 FETCH/SELECT 警告信息 ON

-x 不打印列标题 OFF

-z 将所有输出保存到输出文件 OFF

这些选项的具体功能及其缺省设置为:

.a 显示 SQLCA 的数据,缺省为 OFF。

.c 是否自动落实 SQL 命令,缺省为 ON。

.e {c|s} 显示 SQLCODE 或 SQLSTATE,缺省为 OFF。

.f 文件名将命令的输入从标准输入指定到某一文件,缺省为 OFF。

注:命令“db2 < 文件名”与“db2 -f 文件名”作用相同。

.l 文件名将命令记录到历史文件中,缺省为 OFF。

.n 除去换行字符,缺省为 OFF。

.o 将输出数据及信息送到标准输出,缺省为 ON。

.p 在交互方式下显示命令行处理器的提示信息,缺省为 ON。

.r 将输出保存到指定文件中,缺省为 OFF。

.s 执行批处理文件中或交互方式下的命令出错时即停止执行操作,缺省为 OFF。

.t 设置语句终止字符,缺省为 OFF。

.v 回送当前命令到标准输出,缺省为 OFF。

.w 显示 FETCH 或 SELECT 警告信息,缺省为 ON。

.x 不打印列标题,缺省为 OFF。

.z 文件名将所有输出保存到输出文件,缺省为 OFF。

SQLSTATE含义

在db2命令行方式下输入:? 20012(SQLSTATE值),可以获取sql错误含义

import和export的用法

IMPORT FROM CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES importmsgs.txt INSERT INTO cmmcorc.CO_ACCEPTANCEDRAFT;

EXPORT TO CO_ACCEPTANCEDRAFT.del OF DEL MESSAGES exportmsgs.txt SELECT * FROM cmmcorc.CO_ACCEPTANCEDRAFT;

如果是Sybase导出的文本,并且用TAB分隔符的文档,那么可以采用

Db2 import from filename.txt of del modified by COLDEL0x09 insert into tablename;

其中COLDEL是关键字,0x09是16进制,表示tab符号

Load用法

load from tempfile of del modified by delprioritychar replace into TABLENAME nonrecoverable;

说明:

在不相关的数据表export数据时,可以采取并发的形式,以提高效率;

TABLENAME指待清理table的名称;

modified by delprioritychar防止数据库记录中存在换行符,导致数据无法装入的情况;

replace into对现数据库中的内容进行替换,即将现行的数据记录清理,替换为数据文件内容;

nonrecoverable无日志方式装入;

查询出用户表

SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'

如何知道当前DB2的版本?

select * from sysibm.sysversions

如何知道TABLESPACE的状况?

select * from sysibm.SYSTABLESPACES

如何知道INDEX的状况?

select * from sysibm.sysindexes where tbname=’XXXX’

or

describe indexes for table table_name show detail

测试SQL的执行性能

db2batch -d DB_NAME -f select.sql -r benchmark.txt -o p3

select.sql是select语句写在文件中

如何获取连接的进程

List applications

删除当前正在使用的application:

db2 "force application (Id1,Id2,Id3)"

Id1,Id2,Id3 是List显示的应用号;

删除所有的进程

db2 force application all

查看当前应用号的执行状态:

db2 get snapshot for application agentid 299 |grep Row

如何修改缓冲池

db2 alter bufferpool ibmdefaultbp size 10240

如何知道表的字段的状况?

select * from sysibm.syscolumns where tbname=’XXXX’

如何知道DB2的数据类型?

select name,* from sysibm.sysdatatypes

如何知道BUFFERPOOLS状况?

select * from sysibm.sysbufferpools

如何查看表的结构?

describe table table_name

or

describe select * from schema.table_name

如何快速清除一个大表?

alter table table_name activate not logged initally with empty table

or

import from null_file of del replace into table_name

如何查看数据库的包?

select * from syscat.packages

如何查看数据库的存储过程?

select procname,text,* from syscat.procedures

Or

select procname,text from sysibm.sysprocedures

如何查看数据库SAMPLE的配置文件的內容?

get database configuration for sample

or

get db cfg for sample

如何將数据库SAMPLE的参数设置为默认数值?

reset database configuration for sample

or

reset db cfg for sample

如何修改数据库SAMPLE配置参数数值?

update database configuration for sample

using

or

update db cfg for sample using

如何重新啟動数据库?

Restart db db_name

如何激活数据库?

Activate db db_name

如何停止数据库?

Deactivate db db_name

如何重命名表?

Rename old_tablename to new_tablename

如何设置DB2环境变量

Db2set命令,语法如下:

Db2set variant=value

如何除去quiesce状态

1. 连接到数据库

2. 用 list tablespaces 判断哪个tablespace处于quiesce状态和和取得对象(object)ID

3. 判断对象ID对应的表

a)用 db2 "select tabname from syscat.tables where tablid=对象ID" 得到表名

b)用 db2 list history 判断是那个表

4. 用 db2 quiesce tablespaces for table 表名 reset 去除quiesce状态

如何实施已删除表的恢复(Dropped Table Recovery)

1. 首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。

2. 对要实施Drop Table Recovery的表空间(限regular tablespace),执行:

alter tablespace 表空间名 dropped table recovery on

3. 用 list history dropped table all for 数据库名 得到删除表的tableid(例如 0000000000006d0000020003)和表结构的生成语句(DDL),记录tableid和该语句以便恢复。之后,用drop命令删除的表中的数据可以在前滚恢复时导出。

4. 恢复数据库后,如果想恢复已删除的表,在前滚时加recover dropped table tableid to 目标目录 。 在该目录下被删除的表中的数据导出,例如导出至 ../NODE0000/data文件。利用上面提到表结构生成语句生成被删除了的表,然后用import命令将数据导入表中。

如何备份数据库

db2 "backup database sample tablespace (syscatspace, userspace1) online to /dev/rmt0 without prompting"

or

db2 "backup database sample user db2admin using db2admin to c:ackup with 3 buffers buffer 1000 without prompting"

如何生成所有对象的DDL

db2look -d DB_NAME -a -e -m -l -f -o filename.sql

如何恢复数据库

以下是引用片段:
  restoredbdb1to/tstdb2/catalogintodbnewlogpath/tstdb2/db2logbuffer2048
  replaceexistingredirectparallelism16;
  settablespacecontainersfor1using(path'/tstdb2/db2tmp');
  settablespacecontainersfor2using
  (device'/dev/rtstcontlv00'2621440,device'/dev/rtstcontlv01'2621440,
  device'/dev/rtstcontlv02'2621440,device'/dev/rtstcontlv03'2621440);
  restoredbdb1continue;

恢复完成后,执行db2s命令,如果出错,再执行如下命令:

db2 rollforward db db to end of logs and complete

如何查看数据库目录

1)首先用 db2 list database directory 命令查看系統資料庫目錄(System Database Directory)中有沒有該資料庫。

如果有,應該再確定該資料庫是沒有用的資料庫之後用 db2 drop database 資料庫名將其刪除。

2)如果沒有,再用 db2 list database directory on location 看在本端資料庫目錄(Local Database Directory)中有沒有該資料庫,location指定資料庫的位置(如Windo

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • DB2 基础: 使用重定向增量恢复的数据库恢复
  • DB2 基础: 使用重定向恢复克隆 DB2 数据库
  • DB2 基础: 使用 DB2 数据移动实用工具中的文件类型修饰符
  • 针对基础设计、性能和可管理性的DB2最佳实践
  • DB2基础:表空间和缓冲池
  • DB2 9 基础(730 考试)认证指南,第 1 部分: DB2 规划 1
  • DB2 9 基础(730 考试)认证指南,第 1 部分: DB2 规划 2
  • DB2 9 基础(730 考试)认证指南,第 2 部分: 安全性
  • DB2 9 基础(730 考试)认证指南,第 4 部分: 处理 DB2 数据
  • DB2 9 基础(730 考试)认证指南,第 5 部分: 处理 DB2 对象

相关文章

  • 2017-06-28DB2 9 中的 XML 索引
  • 2017-06-28DB2 9之优劣分析
  • 2017-06-28DB2 9与Microsoft Access 2007(二)
  • 2017-06-28使用 IBM Optim Performance Manager for DB2 快速有效的定位、解决锁问题
  • 2017-06-28DB2 9.7 中的 SQL 兼容性:从触发器到对象改进(演示新的 Oracle 兼容性特性)
  • 2017-06-28INSTEAD OF 触发器 - 所有视图都是可更新的!
  • 2017-06-28DB2 基础: 使用 DB2 数据移动实用工具中的文件类型修饰符
  • 2017-06-28与异构数据库环境进行交互的开放源代码的独立前端
  • 2017-06-28将 Siebel 7 电子商务应用程序从 DB2 UDB V8 迁移到 DB2 9
  • 2017-06-28DB2 V9.5的版本选择问题

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 讲解主机DB2 9存储过程的规划和实施技巧
    • 使用DB2 Cloning Tool克隆主机DB2数据库
    • DB2 V8数据库基础(一)
    • DB2-SQLSTATE,DB2-SQLCODE
    • DB2 最佳实践: 使用 Rational Data Architect V7 实现信息建模(上)
    • DB2编程序技巧 (九)
    • 如何在安装包中自动为客户创建数据库
    • DB2 Viper 快速入门
    • DB2中REVERSE函数的实现方法
    • DB2 Magazine 中文版: 为实时分析提供支持

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有