文档库 最新最全的文档下载
当前位置:文档库 › 如何在Windows CMD里面用命令行操作DB2数据库

如何在Windows CMD里面用命令行操作DB2数据库

如何在Windows CMD里面用命令行操作DB2数据库
如何在Windows CMD里面用命令行操作DB2数据库

如何在Windows CMD里面用命令行操作DB2数据库

尽管 DB2 脚本可以包含 SQL 语句、DB2 系统命令和操作系统命令,但它只是有一个或多个 DB2 命令的文本文件。虽然不是必需的,但通过使用适当的文件扩展名形成一个标准的 DB2 脚本命名约定通常是个很好的方法。表 1显示了几种最常用的文件扩展名。

表 1. 脚本的常用文件扩展名

文件扩展名描述.db2 包含 DB2 命令的 DB2 脚本 .ddl 包含数据定义语言(DDL)语句的 DB2 脚本 .sql 包含 SQL 语句的 DB2 脚本

作为说明之用,清单 1包含一个非常简单的 DB2 脚本,该脚本使用数个 DB2 命令备份 sample 数据库。可以从任一 DB2 命令行工具执行该脚本。本文中用到的全部脚本都可以下载。这些脚本使用缺省的 DB2 实例(DB2)和样本数据库(SAMPLE)。其中的一些脚本将要求您安装 Windows 资源包(Windows Resource Kit)。

清单 1. 备份 sample 数据库的样本 DB2 脚本(db2backup.db2)

-- -- This is a sample DB2 Backup Script -- ATTACH TO DB2; BACKUP DATABASE SAMPLE; DETACH; TERMINATE;

您可以使用以下语法从 DB2 命令窗口执行以上 DB2 脚本:

db2 -tvf db2backup.db2 -l db2backup.log -r db2backup.rpt

在上面的示例中,使用了以下 DB2 命令选项来执行 DB2 脚本文件(db2backup.db2 ):

-t 指明在缺省情况下用分号(;)终止每条命令

-v 指明应将每条命令显示到标准输出

-f 指明从输入文件读取命令

-l 指明将命令记录到输出文件中

-r 指明将结果保存到报告文件中

使用-l 选项将所有 DB2 命令记录到日志文件

(db2backup.log )并且使用-r 选项将命令的输出保存到报告文件(db2backup.rpt ),这始终是一个很好的方法。这两个选项的区别在于:

?-l 选项记录每条命令的开始和结束并记录日期和时间

?-r 选项将每条命令的输出保存到文件中。

同时使用这两个选项可以让您利用报告文件查看脚本的执行摘要,并利用日志文件查看每条命令的详细信息。

也可以从 Windows shell 调用 DB2 命令窗口本身,只需从 Windows shell(命令提示符)输入db2cmd 即可。它有一些有用的开关,可以在调用它时向它传递这些开关。表 2描述了这些选项:

表 2. DB2 命令窗口的选项

开关描述-c 执行 DB2 命令窗口,然后终止。 -w 一直等到 DB2 命令窗口终止。 -i 从进行调用的 shell 继承环境。 -t 从进行调用的 shell 继承标题。

通过首先调用 DB2 命令窗口,您可以从任一 Windows shell 执行

清单 1中的脚本,如下面的示例所示:

db2cmd -c -w -i db2 -tvf db2backup.db2 -l db2backup.log -r db2backup.rpt

DB2 命令窗口提供所执行的每条命令的返回码。表 3列出了返回码。表 3. DB2 CLP 返回码

代码描述0 成功执行 DB2 命令或 SQL 语句 1 SELECT 或FETCH 语句没有返回任何行 2 DB2 命令或 SQL 语句警告 4 DB2 命令或 SQL 语句错误 8 命令行处理器系统错误

注:如果您正用交互方式执行语句,那么 DB2 CLP 不会提供每条命令的返回码。

DB2 系统命令

DB2 系统命令是一组命令行实用程序,您可以用来执行那些由于种种原因尚未集成到 DB2 控制中心或其它 GUI 工具的任务。通常从操作系统 shell(如 Windows 命令提示符)调用 DB2 系统命令,但也可以从 DB2 命令中心、DB2 任务中心、DB2 CLP、DB2 命令窗口,当然还可以从您惯用的脚本语言调用。

有近百条 DB2 系统命令可用。请参阅DB2 Command Reference以获得这些命令的完整列表,以及详细的文档。通读 DB2 UDB 修订包发行说明以查找新的 DB2 系统命令始终是个很好的方法,因为常常都是通过修订包添加新命令或增强现有命令的。

表 4是一个非常简短的列表,它列出了一些比较常用的 DB2 系统命令,这些命令在脚本编制时非常有用。乍一看,其中的一些命令可能看起来不太象脚本编制命令,因此提供了对命令的描述,以使您清楚如何在脚本中使用它们。

表 4. DB2 系统命令的示例

命令描述db2audit DB2 提供一个审计工具来帮助检测对数据未知或不曾预料的访问。可利用该实用程序使安全性审计自动化,如脚本编制方案所述。 db2batch 从平面文件或标准输入读取 SQL 语句,动态地准备并描述语句,然后返回结果集。在设计用于对不同实例和数据库配置参数进行基准测试的脚本中,可使用这一 DB2 命令。在调用该实用程序之前,要重新启动实例并捕获系统信息,如 DB2 注册表、实例和数据库配置。 db2exfmt 格式化说明表的内容。在设计用于 SQL 调优的脚本中,可使用这一 DB2 命令,因为可以用它自动化 SQL 语句的解释、抽取和格式化。用这一 DB2 命令进行脚本编制可允许解释、抽取和格式化大量的 SQL 语句以供以后复查。

db2chkbk 该实用程序可用于测试备份镜像的完整性,并确定是否可以复原该镜像。当在数据库备份脚本的末尾要生成备份完成报告时,该实用程序将非常有用。 db2flsn 返回数据库事务日志文件的名称,该文件包含由指定的日志顺序号(LSN)标识的日志记录。当为了恢复而启用日志保留,而且您正在运行数据复制并需要确定在何处开始修剪事务日志时,这一实用程序作为数据库事务日志修剪脚本的一部分将非常有用。

可以将一些 DB2 系统命令编制成脚本以便简单地使它们已经提供的功能自动化。DB2 审计工具(db2audit.exe)就是可以通过脚本编制实现自动化的实用程序的典型示例。另一些 DB2 系统命令在单独使用时作用并不大,但与其它 DB2 命令或操作系统命令结合起来就非常有用。我将在本文的脚本编制方案一节向您演示一些示例。

Windows shell 脚本

Windows shell 脚本编制环境经过了很长时间的发展,它最初是早期Windows 操作系统上的简单批处理文件。对于需要用到 Window

shell 命令或者带命令行界面的其它程序的任务而言,Windows

shell 脚本是调度和自动化这些任务的理想工具。

Windows shell 是自动化 DB2 UDB 管理任务方面引人注目的脚本编制环境,原因如下。第一,Windows shell 集成在 Windows 操作系统中,这使得它可用于所有版本的 Windows 客户机与服务器。第二,Windows shell 脚本编制相对较简单,使它易于实现。这使您可以专注地完成当前的任务。最后,介绍 Windows shell 脚本编制的书籍、手册和参考资料有很多。

Windows shell 脚本编制环境提供:

?有条件的命令执行

?标准输入、输出和错误

?命令行参数

?环境和系统变量

?局部和全局变量名

?字符串和数值变量

?算术运算符(+、-、*、/ 和 %)

?字符串、子串和替换

?条件语句(if、if else、if not 和 if defined)

?迭代处理(范围、元素、文件和目录)

?子例程链接和嵌套(GOTO 和 CALL)

?驱动器和文件夹定位(pushd 和 popd)

除了这些特性之外,还可以通过使用 Windows 资源包提供的系统实用程序,进一步增强 Windows shell 脚本。表 5列出了其中的一些实用程序。有关 Windows 资源包的更多信息,请在

https://www.wendangku.net/doc/aa6825577.html,/windows/reskits访问 Windows Deployment and Resource Kits 主页。

表 5. Windows 资源包实用程序

命令描述choice 通过显示提示并等待用户从一组键中选择,在批处理程序中提示用户作出选择。只能在批处理程序中使用该命令。

timethis 测量系统运行给定命令所花的时间。 logtime 记录批处理文件中命令行程序的启动或完成。这在对批处理作业(如邮件地址导入)计时和跟踪时很有用。 Uptime 通过处理事件日志分析单一服务器以确定可靠性、可用性和当前运行时间。目标系统可以是本地系统,也可以是远程系统。 logevent 该工具使您能通过命令提示符或批处理文件在本地或远程计算机上的事件日志中记录事件项。 netsvc 您

可以使用该工具从命令行远程启动、停止、暂停、继续和查询服务的状态。

Windows shell 脚本的最简单形式是包含一条或多条命令的文本文件。Windows shell 脚本的缺省文件扩展名是.bat 和.cmd 。

清单 2是一个简单 Windows shell 脚本的示例。

清单 2. Windows shell 脚本“Hello World”(hworld.bat)

@echo off rem rem This is a sample Windows Shell script. rem echo Hello World!

从 Windows shell 脚本调用 DB2 命令有两个基本方法:

?从 Wshell 脚本调用 DB2 命令窗口

?从 DB2 命令窗口运行 Wshell 脚本

从 Wshell 脚本调用 DB2 命令窗口

清单 3 是一个使用 DB2 CLP 备份 sample 数据库的样本 Windows shell 脚本。该文件无需在 DB2 命令窗口中执行,因为它调用一个DB2 命令窗口,然后将 DB2 备份数据库命令传递给它。环境变

量DB2INSTANCE 的值将缺省实例设置为“DB2”,也可以用DB2 ATTACH 命令替换这个值。我将在后面向您演示这一点。

提示:因为 Windows shell 不支持指定的命令行参数,但我们可以用任意顺序将这些参数传递给脚本,所以将这些值显式地定义为脚本内的全局或局部变量是较常见的做法。

清单 3. 从 Windows shell 调用的 DB2 备份脚本

(db2backup2.bat)

@echo off rem rem This is a Windows Shell Script that invokes a DB2 Command Window that rem performs a database backup by calling the DB2 backup database command. rem set

DB2INSTANCE=DB2 set DB2DATABASE=SAMPLE title Starting database backup of %DB2DATABASE% on %date% at %time%...

DB2CMD.EXE -c -w -i DB2 BACKUP DATABASE %DB2DATABASE% if not %errorlevel% == 0 ( echo Database backup of %DB2DATABASE% failed, RC=%errorlevel% ) else ( echo Database backup

of %DB2DATABASE% completed on %date% at %time%. )

从 shell 脚本内执行 DB2 命令窗口的优点是您不必从 DB2 命令窗口内执行 shell 脚本。该方法的缺点是每次调用 DB2 命令窗口时只能运行一条 DB2 命令。可以通过在单独的 DB2 脚本中放置数条 DB2 命令的方法绕开这一限制,并使用-tf 开关执行 DB2 脚本,如清单 4所示。

清单 4 也是一个使用 DB2 CLP 备份 sample 数据库的 Windows shell 脚本。该文件无需在 DB2 命令窗口中执行,因为它调用一个DB2 命令窗口,然后将包含多条 DB2 命令(包括备份数据库命令)的 DB2 脚本(db2backup.db2 ,如清单 5所示)传递给该命令窗口。

清单 4. 从 Windows shell 调用的 DB2 备份脚本

(db2backup3.bat)

@echo off rem rem This is a Windows Shell Script that invokes

a DB2 Command Window that rem performs a database backup by calling the DB2 backup database command rem located in a db2 script file (db2backup.db2). rem set DB2INSTANCE=DB2 set

DB2DATABASE=SAMPLE title Starting database backup

of %DB2DATABASE% on %date% at %time%... DB2CMD.EXE -c -w -i DB2 -tf db2backup.db2 -l db2backup.log -r db2backup.rpt if

not %errorlevel% == 0 ( echo Database backup of %DB2DATABASE% failed, RC=%errorlevel% ) else ( echo Database backup

of %DB2DATABASE% completed on %date% at %time%. )

清单 5显示了由清单 4中的 Windows shell 脚本执行的 DB2 脚本。

清单 5. DB2 备份脚本(db2backup.db2)

-- -- This is a sample DB2 Backup Script -- ATTACH TO DB2; BACKUP DATABASE SAMPLE; DETACH; TERMINATE;

从 DB2 命令窗口运行 Wshell 脚本

从 DB2 命令窗口内执行 Windows shell 脚本的优点是您可以在该shell 脚本内调用多条 DB2 命令,而不必将它们置于单独的脚本中。这使您对每条单独的 DB2 命令有更好的执行控制。该方法的缺点是shell 脚本的执行必须在 DB2 命令窗口内进行。通过从任一调度程序(包括 DB2 任务中心)执行 DB2 命令窗口并将 Windows shell 脚本传递给该窗口,就可以绕开这一限制,方法如下所示:

db2cmd.exe -c -w -i db2backup4.bat

在这一示例中,当 DB2 命令窗口退出时,调度程序将收到最终的返回码。

清单 6是一个使用 DB2 backup database 命令备份 sample 数据库的样本 Windows shell 脚本。必须从 DB2 命令窗口内调用该脚本。清单 6. 从 DB2 命令窗口内调用的 DB2 备份脚本

(db2backup4.bat)

@echo

off: :---------------------------------------------------------------------------:: :: This is a Windows Shell Script that must be run inside a DB2 Command:: Window

(db2cmd). ::---------------------------------------------------------------------------:: set SCRIPT_NAME=%~n0 set SCRIPT_VER=1.0 set DB2INSTANCE=DB2 set DB2DATABASE=SAMPLE title %SCRIPT_NAME% v%SCRIPT_VER% echo Starting database backup of %DB2DATABASE% on %date% at %time%... DB2 BACKUP DATABASE SAMPLE if not %errorlevel% == 0 ( echo Database backup of %DB2DATABASE% failed, RC=%errorlevel% ) else ( echo Database backup of %DB2DATABASE% completed on %date% at %time%. )

如果您已经安装了 Windows 资源包,您可以按清单 7 所示更改脚本。这个版本的脚本使用 logevent 实用程序将信息和错误消息写到Windows 事件日志而不是写到标准输出。

清单 7. 从 DB2 命令窗口调用的样本脚本(db2backup5.bat)

@echo

off ::---------------------------------------------------------------------------:: :: This is a Windows Shell Script that must be run inside a DB2 Command :: Window (db2cmd). It uses the logevent utility from the Windows Resource :: Kit to log information and error

messages. ::---------------------------------------------------------------------------:: set SCRIPT_NAME=%~n0 set SCRIPT_VER=1.0 set DB2INSTANCE=DB2 set DB2DATABASE=SAMPLE title %SCRIPT_NAME%

v%SCRIPT_VER% ::---------------------------------------------------------------------------:: :: Backup Database (Requires Windows Resource

Kit) ::---------------------------------------------------------------------------:: echo Starting database backup

of %DB2DATABASE% on %date% at %time%... logevent -s I

-r %script_name% "Starting database backup of %DB2DATABASE% on %date% at %time%... "DB2 BACKUP DATABASE %DB2DATABASE%

if %errorlevel% == 0 ( echo Database backup of %DB2DATABASE% failed, RC=% errorlevel% logevent -s I -r %script_name% "Database backup of %DB2DATABASE% failed, RC=%errorlevel% " )

else ( echo Database backup of %DB2DATABASE% completed

on %date% at %time%. logevent -s E -r %script_name% "Database backup of %DB2DATABASE% completed on %date% at %time%." )

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

db2look命令详解

db2look 今天整理了一下db2look命令参数说明 db2look Command syntax | |>>-db2look-- -d--DBname--+-----+--+--------------+--------------> | '- -e-' '- -u--Creator-' | |>--+-------------+--+-------------------------------------+-----> | '- -z--schema-' '-+----------------+--+-------------+-' | | .-------. | '- -tw--Tname-' | | V | | | '- -t----Tname-+-' | |>--+----------------+--+-----+--+------------+--+-----+---------> | | .-------. | '- -h-' '- -o--Fname-' '- -a-' | | V | | | '- -v----Vname-+-' | |>--+-----------------------+--+-----+--+-----+--+------+--------> | '- -m--+-----+--+-----+-' '- -l-' '- -x-' '- -xd-' | '- -c-' '- -r-' | |>--+-----+--+-----------------+--+-----+--+-----+--+-----+------> | '- -f-' '- -td--delimiter-' '- -p-' '- -s-' '- -g-' | |>--+----------+--+----------------------------+-----------------> | '- -noview-' '- -i--userid-- -w--password-' | |>--+------------------+--+---------+---------------------------><

db2数据库使用

一、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。

常用命令

服务器开始加电,等待片刻会自动引导操作系统,操作系统初始化完毕后会出现登录界面,输入正确的用户名:root和密码:zclroot就可以进入X 图形桌面环境了。 1.启动应用,数据库和数据交换 1).在数据库(SDB)机器上启动数据交换,在#号切到db2inst1用户: su –db2inst1 dbstart (启动数据库) 2)启动websphere:点击屏幕左下角的终端程序(贝壳状图标),然后在#后面输入 /opt/IBM/WebSphere/AppServer/bin/startServer.sh server1 提示进程号则表示启动成功,大约需要五分钟,注意:最后面是数字1不是字母l,server1前面有个空格,注意大小写字母 注:相应的停止websphere的命令为: #/opt/IBM/WebSphere/AppServer/bin/stopServer.sh server1 注意:如果在启动websphere的时候提示: ADMUO116I:正在文件 /opt/IBM/WebSphere/AppServer/bin/startServer.log 中记录工具信息 ADMUO128I:正在启动具有default概要文件的工具 ADMU3100I:正在从服务器读取配置:server1 ADMU3028I:在端口8880上检测到冲突。可能的原因:a) 已经有一个服务器server1的实例在运行b) 一些其他程序在使用端口8880 ADMU3027E:可能已经有一个服务器的实例在运行:server1

ADMU0111E:由于错误 Com.ibm.websphere.management.exception.AdminExcetption: ADMU3027E: 可能已经有一个服务器的实例在运行:server1 ,程序推出。 ADMU1211I:要获取故障的全部跟踪,使用–trace选项。 此时表示应用W ebsphere已经启动了,不需要再进行启动。 注意:如果在停止websphere的时候提示: ADMUO116I:正在文件 /opt/IBM/WebSphere/AppServer/bin/startServer.log 中记录工具信息 ADMUO128I:正在启动具有default概要文件的工具 ADMU3100I:正在从服务器读取配置:server1 ADMUO509I:无法到达 server “server1”.服务器看上去已经停止。 ADMUO211I:在文件 /opt/IBM/WebSphere/AppServer/bin/stopServer.log 中可以看到错误的信息 表示此时:应用W ebsphere现在处在停止状态,需要启动。 3)在数据库(SDB)机器上启动数据交换,在#号切到db2inst1用户: su –db2inst1 >cd server >showsjjh (查看数据交换,如果有四行表示数据交换已经启动。) > stopsjjh (停止数据交换) >showsjjh (查看数据交换,到没有命令行显示为止) >loadsjjh (启动数据交换) >showsjjh (查看数据交换信息) 出现如上四条信息为正常启动了数据交换 2.重启及开关机命令 #reboot重新启动计算机 #shutdown -r now 重新启动计算机,停止服务后重新启动计算机 #shutdown -h now 关闭计算机,停止服务后再关闭系统 #halt 关闭计算机,强制关闭 一般用shutdown -r now,在重启系统是关闭相关服务,shutdown -h now也是如此。 3.备份 #su –db2inst1 >db2 force applications all (切断目前所有与数据库的连接,可以多执行几次) >db2 backup db sino to /db2log (备份目录) 若备份成功会返回提示,并生成一个时间戳,所谓时间戳就是一串记录当前“年月日时分秒”的数字,形如20070212152930,也包含在新生成的备份文件的文件名里。 压缩命令 tar -cvfz sino20070317(压缩后的文件名).tar.gz 被压缩的文件名

DS连接DB2和Oracle

DB2: 1.在ds服务器安装oracle客户端 2.db2 catalog数据库 3.配置$DSHOME/dsenv文件,加入如下内容: DB2DIR=/opt/IBM/db2/V10——实际路径 DB2INSTANCE=db2inst1 ——实际的db2实例用户 INSTHOME=/home/db2inst1 ——实际路径 DB2PATH=/opt/IBM/db2/V10 ——-实际路径 PATH=$PATH:$INSTHOME/sqllib/bin:$INSTHOME/sqllib/adm:$INSTHOME/sqllib/mi sc:$INSTHOME/sqllib/db2tss/bin:$DSHOME/bin:$DB2PATH/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$INSTHOME/sqllib/lib:$DB2PATH/lib64 THREADS_FLAG=native export DB2DIR DB2INSTANCE INSTHOME DB2PATH PATH LIBPATH THREADS_FLAG Oracle: 1.在ds服务器安装oracle客户端 2.编辑$ORACLE_HOME/network/admin/tnsnames.ora文件,加入数据库信息 3.配置oralce驱动程序: Oracle 11g需要配置驱动过程如下: 请使用root用户

切换到oracle目录下 $cd/home/db/oracle/app/product/11g_64/lib 为oracle驱动建立软连接: $cd ORACLE_HOME/lib $ln -s /IBM/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/li bccora11g.so licccora11g.so $ln –s /IBM/InformationServer/Server/StagingArea/Installed/OracleConnector/Server/linux/li bccora10g.so licccora10g.so 4.安装软连接库文件 export APT_ORCHHOME=/IBM/InformationServer/Server/PXEngine export DSHOME=/IBM/InformationServer/Server/DSEngine $cd /IBMInformationServer/Server/StagingArea/Installed/PxOracle/install/ $vi install.liborchoracle 找到 install_driver() { case $version in 9 ) VER='9i';; 10 ) VER='10g';; 0 ) return;; esac

DB2常用SQL语句集

DB2常用SQL语句集 1、查看表结构: describe table tablename describe select * from tablename 2、列出系统数据库目录的内容: list database directory 3、查看数据库配置文件的内容: get database configuration for DBNAME 4、启动数据库: restart database DBNAME 5、关闭表的日志 alter table TBLNAME active not logged inially 6、重命名表 rename TBLNAME1 to TBLNAME2 7、取当前时间 select current time stamp from sysibm.sysdummy1 8、创建别名 create alias ALIASNAME for PRONAME(table、view、alias、nickname) 9、查询前几条记录 select * from TBLNAME fetch first N rows 10、联接数据库 db2 connect to DB user db2 using PWD 11、绑定存储过程命令 db2 bind BND.bnd 12、整理优化表 db2 reorgchk on table TBLNAME db2 reorg table TBLNAME db2 runstats on table TBNAME with distribution and indexes all 13、导出表 db2 export to TBL.txt of del select * from TBLNAME db2 export to TBL.ixf of ixf select * from TBLNAME 以指定分隔符‘|’下载数据: db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode”14、导入表 db2 import from TBL.txt of del insert into TBLNAME db2 import from TBL.txt of del commitcount 5000 insert into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 insert into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 insert_update into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 replace into TBLNAME db2 import from TBL.ixf of ixf commitcount 5000 create into TBLNAME (仅IXF) db2 import from TBL.ixf of ixf commitcount 5000 replace_create into TBLNAME (仅 IXF) 以指定分隔符“|”加载:

在db2上建立数据库分区的步骤和命令

本文简单介绍了在DB2上建立数据库分区的步骤和涉及到的命令等,供大家参考! AD:创建database partition 1、创建需要建立数据库分区的db instance 可使用命令建立db instance: db2icrt -s ESE -u db2admin,aaa123456 -h ANWENHAO DBINSTANCENAME 创建完成对应的instance 后需要重启DB2。 2、将新建的db instance加入到DB2中: CATALOG LOCAL NODE DB2INST1 INSTANCE DB2INST1 SYSTEM ANWENHAO OSTYPE NT; 3、在命令行中设置当前需要操作的dbInstance。 set db2instance=db2inst1 db2 get instance

db2 attach to db2inst1 4、创建DBPartition db2start dbpartitionnum 1 ADD DBPARTITIONNUM HOSTNAME ANWENHAO PORT 1 COMPUTER ANWENHAO USER db2admin PASSWORD aaa123456 WITHOUT TABLESPACES 5、创建完成后需要重新启动db2。DB2在此时会增加一个database partition并进行redistribution。 以上操作即完成database partition。 创建database partition group CREATE DATABASE PARTITION GROUP "NODE1" ON DBPARTITIONNUMS (1); COMMENT ON DATABASE PARTITION GROUP "NODE1" IS 'ANWENHAO _1';

Linux使用命令行安装DB2【详解】

DB2 ESE V9.7文本方式安装主要流程: (1)解压安装包,检查安装先决条件 (2)执行安装程序 (3)注册license(Express-C版无需注册) (4)创建3个用户组和3个用户,分别是实例用户、受限用户、管理用户 (5)创建一个管理服务器 (6)创建一个实例 (7)配置DB2访问协议 (8)配置DB2实例默认端口号 一、安装前准备工作 1、将下载的安装文件上传到待安装的LINUX 机器,解压缩v9.7_linuxx64_server.tar.gz 文件到某个目录 [root@redflag11012601 app]# ll v*gz -rw-r--r-- 1 root root 810576392 05-03 19:44 v9.7_linuxx64_server.tar.gz [root@redflag11012601 app]# tar xzf v9.7_linuxx64_server.tar.gz 2、解压产生两个目录server和db2 [root@redflag11012601 app]# cd server [root@redflag11012601 server]# ll

总计 64 drwxr-xr-x 6 bin bin 4096 2009-11-16 db2 -r-xr-xr-x 1 bin bin 5340 2009-11-16 db2ckupgrade -r-xr-xr-x 1 bin bin 5293 2009-11-16 db2_deinstall -r-xr-xr-x 1 bin bin 5163 2009-11-16 db2_install -r-xr-xr-x 1 bin bin 5127 2009-11-16 db2ls -r-xr-xr-x 1 bin bin 5145 2009-11-16 db2prereqcheck -r-xr-xr-x 1 bin bin 5145 2009-11-16 db2setup drwxr-xr-x 15 bin bin 4096 2009-11-16 doc -r-xr-xr-x 1 bin bin 5181 2009-11-16 installFixPack server 的子目录有多个可执行的脚本,其中db2prereqcheck是先决条件检查,db2setup 是图形界面安装程序,db2_install是命令行方式安装。还有一个db2目录,保存了需要安装的二迚制文件。 3、执行db2prereqcheck查看是否缺少先决条件 [root@redflag11012601 server]# ./db2prereqcheck 如果没有返回任何结果,表明系统符合DB2 安装的先决条件,可以进入下一步安装。如果返回信息,请按信息提示修改配置,然后再次运行,直到没有错误提示。 二、安装DB2数据库软件

db2常见考试命令应用考试题

一选择题(每题1.5分,共45分) 1) 下面的哪个数据库版本可以访问OS/390 上的DB2 UDB 数据库? a) DB2 Connect Personal Edition b) DB2 Universal Database Workgroup Edition c) DB2 Personal Developer's Edition d) DB2 Universal Developer's Edition 2) 下面的哪个工具可以编目一个数据库信息? a) Journal 日志工具 b) Alert Center 警告中心 c) License Center 许可证中心 d) Client Configuration Assistant 客户端配置助手 3) 下面的哪个工具可以重组数据回收表中被删除的行所占有的资源? a)reorg b) db2look c) db2move d) runstats 4) USE这个特权的用途是? a) query data in a table. b) load data into a table. c) create tables within a table space. d) create table spaces within a database. 5) 如果创建数据库则需要下面的哪两个权限? a) DBADM b) SYSADM c) DBCTRL d) SYSCTRL e) SYSMAINT 6) 编目一个远程数据库是指: a) 在PC或者Unix 机器上执行编目,目的是为了识别DB2数据库管理器所在的服务器 b) 在PC或者Unix机器上编目,目的是为了让用户和应用程序可以识别DB2数据库 c) 从不在DB2中编目,仅当每个节点上的数据库被允许编目时编目,所以自动编目那个节点就可以自动编目数据库N d) 在PC或者UNIX机器上编目是为了打开在DB2数据库中的目录表,这样当前的用户可以访问这个数据库中的一组可以被访问的数据表。 7) 给出下面的语句

db2 load 命令

当DB2 的数据库启用了前滚恢复模式,即将日志由循环日志方式改为归档日志,以便用户在进行恢复操作时,可在恢复了数据库或表空间的备份后,再通过前滚归档日志中的事务,恢复数据库备份时间点之后提交的事务,最大程度的保护数据库的数据。 而DB2 的LOAD 实用程序为实现快速导入数据的功能,除采用了通过直接向数据库中写入格式化的数据页装载数据,导入过程中不激活触发器,不会检查参考完整性和表检查约束当等方式外,还最小化了记录事务日志的操作。在LOAD 的LOAD、BUILD、DELETE 和INDEX COPY 四个处理阶段中,仅在DELETE 阶段记录对每个删除事件记日志,即只对每个违反唯一约束的行的删除操作记日志,因此整个LOAD 操作仅记录了极少的日志。 由于LOAD 最小化了日志的记录,有因启用了前滚恢复的数据库在恢复在线备份时需要归档日志的特性,对于这种数据库的LOAD 操作,为避免执行LOAD 操作后,表在使用ROLLFORWARD 命令前滚归档日志的过程中因缺少日志而被置为非正常状态,DB2 为LOAD 命令提供了如下选项: ·COPY NO(缺省) ·COPY YES ·NONREVERABLE 为更清楚地说明这些选项的作用,这里将以举例的方式进行说明。而在开始操作之前,首先了解一下DB2 备份操作所产生的映象文件的形式和命名特点: 在UNIX 环境下是文件的形式: Databasealias.Type.Instancename.Nodename.Catnodename.Timestamp.number 在Windows 环境下是子目录及文件的形式: Databasealias.Type\Instancename\Node0000\Catn0000\yyyymmdd\hhmmss.number 而其中的Type 则因备份类型的不同而不同: 0 -- 数据库全备份 3 -- 表空间备份 4 -- 由LOAD 操作产生的备份 1. 进行一次数据库的全备份: 首先对已启用前滚恢复模式的SAMPLE 数据库进行一次全备份: E:\TEST>db2 backup db sample 备份成功。此备份映像的时间戳记是:20051230174105

db2 实战常用命令

db2 force application all –断开所有链接数据库的应用 db2 list application-查看连接数据库的应用 db2 bakup db ksdbs 备份数据库 db2start db2stop启停数据库 db2 connect reset断开所有链接 scp get trans.ini -r back@10.10.9.160/home/back/bccbin \ scp local_file remote_username@remote_ip:remote_folder 或者 scp local_file remote_username@remote_ip:remote_file scp -r ip:/db/dbhome/dbguard 【1】 db2top –d ksdbs db2pd -d ksdbs -stat >stat.log 查看数据库状态(数据超大超详细) 【1】find -type f | xargs dos2unix 遍历格式转换 【1】 find . -name [A-Z]* -print 查找当前目录下以大写字母命名的文件 【1】 >db2ckbkp 检查数据库的完整性 >tee 命令 用途--显示程序的输出并将其复制到一个文件中。 【1】db2 connect reset db2 list directory db2 list active databases db2 get db cfg db2 get db cfg 【1】归档日志 db2 update db cfg for db_name using LOGRETAIN ON 更改归档目录: db2 update db cfg for db_name using LOGARCHMETH1 "disk:/archive/db_name_db_log" 在我重新连接数据库的时候提示: db2 connect to t_1 to mydb SQL1116N A connection to or activation of database "T_1" cannot be made because of BACKUP PENDING. SQLSTATE=57019 网上找了n多最后才知道 若修改数据库LOGRETAIN参数,从循环日志模式改为归档日志模式,则会导致数据库backup pending状态。

DB 2 常用命令

DB 2 常用命令 一、加载数据: 1、以默认分隔符加载,默认为“,”号 db2 "import from btpoper.txt of del insert into btpoper" 2、以指定分隔符“|”加载 db2 "import from btpoper.txt of del modified by coldel| insert into btpoper" 二、卸载数据: 1、卸载一个表中全部数据 db2 "export to btpoper.txt of del select * from btpoper" db2 "export to btpoper.txt of del modified by coldel| select * from btpoper" 2、带条件卸载一个表中数据 db2 "export to btpoper.txt of del select * from btpoper where brhid='907020000'" db2 "export to cmmcode.txt of del select * from cmmcode where codtp='01'" db2 "export to cmmcode.txt of del modified by coldel| select * from cmmcode where codtp='01'" 三、查询数据结构及数据: db2 "select * from btpoper" db2 "select * from btpoper where brhid='907020000' and oprid='0001'" db2 "select oprid,oprnm,brhid,passwd from btpoper" 四、删除表中数据: db2 "delete from btpoper" db2 "delete from btpoper where brhid='907020000' or brhid='907010000'" 五、修改表中数据: db2 "update svmmst set prtlines=0 where brhid='907010000' and jobtp='02'" db2 "update svmmst set prtlines=0 where jobtp='02' or jobtp='03'" 六、联接数据库 db2 connect to btpdbs 七、清除数据库联接 db2 connect reset 断开数据库连接 db2 terminate 断开数据库连接 db2 force applications all 断开所有数据库连接 八、备份数据库 1、db2 backup db btpdbs 2、db2move btpdbs export db2look -d btpdbs -e -x [-a] -o crttbl.sql

DB2常用命令小结

1、打开命令行窗口 #db2cmd 2、打开控制中心 # db2cmd db2cc 3、打开命令编辑器 db2cmd db2ce =====操作数据库命令===== 4、启动数据库实例 #db2start 5、停止数据库实例 #db2stop 如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all 就可以了/db2stop force 6、创建数据库 #db2 create db [dbname] 7、连接到数据库 #db2 connect to [dbname] user [username] using [password]

8、断开数据库连接 #db2 connect reset 9、列出所有数据库 #db2 list db directory 10、列出所有激活的数据库 #db2 list active databases 11、列出所有数据库配置 #db2 get dbcfg 12、删除数据库 #db2 drop database [dbname] (执行此操作要小心) 如果不能删除,断开所有数据库连接或者重启db2 =========操作数据表命令========== 13、列出所有用户表 #db2 list tables 14、列出所有系统表 #db2 list tables for system

15、列出所有表 #db2 list tables for all 16、列出系统表 #db2 list tables for system 17、列出用户表 #db2 list tables for user 18、列出特定用户表 #db2 list tables for schema [user] 19、创建一个与数据库中某个表(t2)结构相同的新表(t1) #db2 create table t1 like t2 20、将一个表t1的数据导入到另一个表t2 #db2 "insert into t1 select * from t2" 21、查询表 #db2 "select * from table name where ..." 22、显示表结构 #db2 describe table tablename 23、修改列

BD2常用命令

DB2 的常用命令: 1,列举出相应的schema下面的所有表。 db2 list tables for schema schemaname 举例:db2 list tables for schema db2admin 2, 列举出当前数据库的目录。 db2 list db directory 举例:db2 list db directory 3, DB2自动增长主键方法 generated always as identity(start with 1,increment by 1) 将一个字段指定为 自增长型字段,放在数据类型后。 举例:crate table students ( sno integer not null primary key generated always as identity (start with 1, increment by 1), sname char(20), sname char(30))

此时插入数据,然后查看结果,sno自动增长1. 4, 数据的导入导出: export to E:\name.txt of del select * from tableName 导出举例1: export to C:\stInfo.ixf of ixf select * from students 导出举例2: 导入举例1: db2 "import from E:\name.txt of del insert into tableName

导入举例2: db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName

DB2 简明运维手册

DB2 简明运维手册 数据库启动 数据库正常启动的流程包括两个步骤, 首先启动数据库实例,在root用户下切换到实例用户su - db2inst1,执行命令db2start 然后激活对应的数据库,执行命令: db2 activate db 数据库名。 直到出现: 则数据库成功启动。 数据库停止 停止数据库使用如下命令: 在root用户下切换到实例用户su - db2inst1,执行命令db2stop force, 直到出现: 则数据库停止成功。 数据库参数 DB2的参数分为实例级参数和数据库级参数,以及实例注册变量 实例级参数:

主要设置实例使用的TCP/IP端口,查看实例端口通过命令:db2 get dbm cfg 数据库实例注册变量: 确认设置了通信协议为TCPIP,命令如下: 如果没有设置则通过命令db2set DB2COMM=tcpip进行设置。 数据库参数 确认内存自动调整已经打开, 否则连接到数据库并执行db2 update db cfg for sample using SELF_TUNING_MEM ON设置 数据库的缺省日志参数为

如果需要修改日志参数,可以通过命令 db2 udpate db cfg for 数据库名using 参数名参数值 例如增大备用日志文件数量到50,则可以通过命令修改 创建数据库 在实例用户下,执行 db2 "create <数据库名> on <目标路径> using codeset UTF-8 territory cn" 这样创建的数据库缺省页面大小(pagesize)为4K(4096),字符集为UTF-8,如果要使用GBK字符集,则把UTF-8修改为GBK即可。 创建缓冲池(bufferpool) 为了使用与缺省页面大小不一致的表空间,例如缺省页面大小为4K,但是需要使用32K页的表空间,就必须先创建页面大小为32K的缓冲池,命令如下:db2 "create bufferpool bp32k pagesize 32768" bp32k为缓冲池的名字,通常每种页面大小创建一个缓冲池即可,例如8K页面的缓冲池可以命名为bp8k。缓冲池缺省为自动调整大小,如果需要限定使用内存,则使用alter命令,如下: db2 "alter bufferpool bp32k size <页面数量> " <页面数量>为目标内存大小/页面大小,例如要为32K的bufferpool分配2GB内存,则: <页面数量>=2 * 1024 * 1024 / 32 = 65536 创建表空间 如果创建数据库默认页面大小的表空间,并且选择系统自动管理的模式,则使用命令: db2 "create tablespace <表空间名>"

QuestCentral连接DB2数据库

1、首先安装QuestCentral安装完成之后是需要激活的,如图1-1所示,点击Licensing输入 序列号,激活。 图1-1 2、打开QuestCentral右键左侧小地球,点击Add Instance or Subsystem…如图1-2所示: 图1-2 3、首先出现的是欢迎界面,可以勾选不再显示,点击Next。如图1-3所示:

图1-3 4、进入主机配置界面,输入主机名,选择主机类型如图1-4,我需要连接的数据库服务器 类型是Linux,点击Next进入下一步。 图1-4 5、输入节点名称、实例名称,这两个可以随意填写。HostName是前面填写的,此处不可更 改,输入端口号,如果端口号是默认的则是50000然后点击Next

图1-5 6、后面只需要点击next和finish就OK了,如图1-6和图1-7所示: 图1-6

图1-7 7、至此实例已经创建完毕,但是此时还没有连接到服务器上的数据库,连接数据库还需要进行以下操作,右键刚才创建的实例选择Add Database来添加数据库,如图1-8所示: 图1-8 8、进入数据库配置界面如图1-9所示,输入数据库名,数据库别名。认证方式选择服务端认证点击Next。

图1-9 9、后面就是一些配置的提示信息可以直接next、next然后finish如图1-10、图1-11和图1-12所示: 图1-10

图1-11 图1-12 10、至此,数据库连接完成,鼠标双击打开即可看到该数据库下的数据表以及其他信息。方便程度和mysql的workbench一样。(^_^)

LVM常用命令汇总

【术语解释】 ?物理卷physical volumes(PV):物理卷处于逻辑卷管理器中的底层,任何的逻辑卷和卷组都必需依靠物理卷来建立;物理卷可以是一个完整的硬盘,也可以是硬盘中的一个分区 ?逻辑卷logical volumes(LV):逻辑卷建立在卷组之上,卷组中的空间可以建立多个逻辑卷,并且逻辑卷可以随意在卷组的空闲空间中增减,逻辑卷可以属于一个卷组,也可以属于不同的多个卷组。LV 是位于PV 上的信息的组合,在LV 上的数据可以连续或者不连续地出现在PV。 ?卷组logical volume group(VG):卷组是建立在物理卷之上,一个卷组中可以包含一个物理卷组或者多个物理卷。所有的物理卷属于一个称作rootvg 的卷组。 ?卷组描述区域Volume Group Descriptor Area (VGDA):用于描述物理卷、卷组、逻辑卷分配的所由信息。逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA( 卷组描述符区域) 中。 1、查看lvm状态: [root@LOCALHOST ~]# pvs --partial [root@LOCALHOST ~]# vgs --partial [root@LOCALHOST ~]# lvs --partial 2、查看pv、vg、lv是否异常 [root@LOCALHOST ~]# pvs [root@LOCALHOST ~]# vgs [root@LOCALHOST ~]# lvs [root@LOCALHOST ~]# lsblk #列出所有可用块设备的信息 3、PV (物理卷) 命令: pvcreate(创建)pvmove(移动)pvdisplay(显示)pvremove(移除)pvs(显示)

DB2数据库基础入门

IBM DB2数据库基础 基本命令集合 1. 建立数据库DB2_GCB CREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCB USING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32 2. 连接数据库 connect to sample1 user db2admin using 8301206 3. 建立别名 create alias db2admin.tables for sysstat.tables; CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWS create alias db2admin.columns for syscat.columns; create alias guest.columns for syscat.columns; 4. 建立表 create table zjt_tables as (select * from tables) definition only; create table zjt_views as (select * from views) definition only; 5. 插入记录 insert into zjt_tables select * from tables; insert into zjt_views select * from views;

6. 建立视图 create view V_zjt_tables as select tabschema,tabname from zjt_tables; 7. 建立触发器 CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS O FOR EACH ROW MODE DB2SQL Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10)) 8. 建立唯一性索引 CREATE UNIQUE INDEX I_ztables_tabname ON zjt_tables(tabname); 9. 查看表 select tabname from tables where tabname='ZJT_TABLES'; 10. 查看列 select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度 from columns where tabname='ZJT_TABLES'; 11. 查看表结构 db2 describe table user1.department db2 describe select * from user.tables

相关文档