`
dy3168729
  • 浏览: 39647 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

重要db2命令(转载)

阅读更多

在DB2中从客户端访问服务器端的数据库时,不能直接用connect命令,而必须先建立通信node,再在node的基础上建立数据库连接。在命令行的具体操作如下:

->db2 catalog tcpip node ABC remote serverName server 50000
->db2 catalog db databaseName at node ABC
->db2 connect to databaseName user Uid using Pwd

说明:

catalog tcpip node ABC 中的ABC是由你任意起的一个结点名,结点名不能跟已有的结点名重复
catalog db databaseName at node ABC 中的ABC指的是你在前面起的那个结点名
serverName 服务器名称(远程数据库)
databaseName 数据库名称
Uid 用户名
Pwd 密码
另外,如果客户端已经跟同一个服务器建立了node,那么如果你想连接该服务器上的另一个数据库时,不需要再另建node,直接用同一个node即可。另外,建立node时服务器名称后的端口不一定是50000,要看DB工程师当时的设置。
相关指令:
list db directory 列出可访问的db
list node directory 列出可访问的结点
其他一些重要的DB2命令

  1. 查看本地节点目录
  命令窗口中输入:db2 list node directory

  2. 编目一个TCP/IP节点
  命令窗口:db2 catalog tcpip node <node_name> remote <hostname|ip_address> server <svcname|port_number> ostype <OS2|AIX|WIN95|NT|HPUX|SUN|MVS|OS400|VM|VSE|SCO|SGI|LINUX|DYNIX>

  3. 取消节点编目
  db2 uncatalog node <node_name>

  4. 查看系统数据库目录
  db2 list database directory

  5. 查看本地数据库目录
  db2 list database directory on <盘符>
  在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中<数据库>右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。

  6. 编目数据库
  db2 catalog database <db_name> as <db_alias> at node <node_name>

  7. 取消数据库编目
  db2 uncatalog database <db_name>

  8. 测试远程数据库的连接
  db2 connect to <db_alias> user <user_id> using <password>

 

 

--------------------------------------------------------------------------------------------------------------------------

 

DB2的安装,实例创建和一些基本命令

 

 

在Linux下安装DB2 v8.2,可以依照以下步骤来进行。
安装包:db2exc_950_LNX_x86.tar.gz(既是服务端也是客户端,可以作为客户端与远程数据库服务器连接)
1、创建用户(useradd -u 600 -g db2iadm -d /db2home/db2inst1 -s /usr/bin/ksh db2inst1)和组(groupadd -g 200 db2iadm),
2、在/etc/sysctl.conf中增加如下条目:
kernel.msgmni = 1024
kernel.sem = 250 256000 32 1024
然后使用sysctl –p使上述设置生效。
3、进入安装程序所在的路径,root用户执行db2_install,不要执行setup,前者是全自动安装,不用交互,简单好用。
4、剩下的就是创建实例和数据库了
创建实例和数据库:
root用户进入db2的安装目录,应该是opt/ibm/db2/v81/instance,执行下面的语句
db2icrt -u db2inst1 db2inst1
使用root给db2inst1更改口令后,使用db2inst1用户登录,
执行下面命令创建数据库
db2 create database dbname on dbpath using codeset gbk territory cn


在 DB2 中,一个实例就提供了一个独立的环境,在其中可以创建数据库,并在数据库中运行应用程序。
如何创建实例:
DB2ICRT <client> INSTNAME <...PARAMETERS>
如果是客户端,加上client关键字

1)用root登录,创建用户(最好使用数据库的名字)cdse,属于开发组
#groupadd devel
#useradd cdse -g devel
2)用root登录,使用db2icrt创建实例DB2 实例,使用以下命令:
#db2icrt -u 实例用户名 实例名
如果在实例用户的目录下生成文件夹sqlib,表明实例生成成功。
3)远程连接访问你可以通过在客户机上安装DB2客户端来访问数据库服务器实例,
使用CATALOG编目的方式,切换到实例用户:
db2 catalog TCPIP node 本地节点名 remote hostname/ip server 服务器端口
使用以下命令来编目数据库:
db2 catalog db 数据库名 at node 本地节点名(要与上同)
编目成功以后,尝试连接服务器实例
db2 connect to 数据库名 user 服务器实例用户 using 服务器实例用户密码
或者使用:
db2 attach to 本地节点名 user 服务器实例用户 using 服务器实例用户密码
  

DB2常用命令:

0.进入db2命令环境
db2cmd

1.启动db2
db2start;

2.关闭db2
db2stop;
db2stop force;

3.创建数据库
db2 create db <db name>;
db2 create db <db name> using codeset GBK territory CN;
db2 Create database <db name> using codeset IBM-eucCN territory CN;
这样可以支持中文。

4.删除数据库(执行此操作要小心)
db2 drop db <db name>

如果不能删除,断开所有数据库连接或者重启db2。

5.断开数据库连接
db2 force application all

6.连接数据库
db2 connect to <db name> user <username> using <password>

7.断开数据库连接
断开当前数据库连接:db2 connect reset
或者:db2 disconnect current
断开所有数据库的连接:db2 disconnect all

8.备份数据库
db2 backup db <db name>

备注:执行以上命令之前需要断开数据库连接

9.恢复数据库
db2 restore db <source db name>

10.导出数据文件
db2move <db name> export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>];
更多时候用下面这种方式:
db2 export to test.ixf of ixf select * from <tablename>

11.导入数据文件
db2move <db name> import
db2 import from text.ixf of ixf create into <tablename>;(表不存在)
db2 import from text.ixf of ixf insert into <tablename>;(表已经存在)
db2 load from text.ixf of ixf insert into <tablename>;(不写日志)

12.建立映像:
db2 catalog tcpip node nodename remote 10.0.2.3 server 50000
db2 catalog db dbname at node nodename

13.撤销映像:
db2 uncatalog db dbname

14.列出数据库中所有db:
db2 list db directory

15.获取建表脚本:
db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql
        -d: 数据库名:这必须指定
        -e: 抽取复制数据库所需要的 DDL 文件
        -u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER
        -z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z
        -t: 生成指定表的统计信息
        -h: 更详细的帮助消息
        -o: 将输出重定向到给定的文件名
        -a: 为所有创建程序生成统计信息
        -m: 在模拟方式下运行 db2look 实用程序
        -c: 不要生成模拟的 COMMIT 语句
        -r: 不要生成模拟的 RUNSTATS 语句
        -l: 生成数据库布局:数据库分区组、缓冲池和表空间。
        -x: 生成排除对象的原始定义器的“授权”语句 DDL
        -xd: 生成包括对象的原始定义器的“授权”语句 DDL
        -f: 抽取配置参数和环境变量
        -td: 将 x 指定为语句定界符(缺省定界符为分号(;))
        -p: 使用简单文本格式
        -s: 生成 postscript 文件
        -g: 使用图形来显示索引的页取装对
        -i: 登录到数据库驻留的服务器时所使用的用户标识
        -w: 登录到数据库驻留的服务器时所使用的密码
        -noview: 不要生成 CREATE VIEW ddl 语句
        -wrapper: 为适用于此包装器的联合对象生成 DDL
        -server: 为适用于此服务器的联合对象生成 DDL
        -nofed: 不要生成 Federated DDL
        -fd: 为 opt_buffpage 和 opt_sortheap 以及其它配置和环境参数生成 db2fopt语句。


16.查看建视图脚本:
   db2 select text from syscat.views where viewname='viewname'

17.导出全部存储过程:
   db2 select char(routineschema,20), char(routinename,20), text from syscat.routines > tmp.sql
   db2 get routine into f:\tmp.sql from PROCEDURE procedurename(导出某个存储过程)

18. 创建db2实例:
   db2icrt <实例名称>

19.删除db2实例:
   db2idrop <实例名称>

20.设置当前db2实例:
   set db2intance=db2

21.显示db2拥有的实例:
   db2ilist

22.查看当前连接数据库:
   db2 connect

23.db2命令环境设置
   db2 list command options(查看命令环境)
   db2 update command options using <option> on <路径>;(只是临时改变)
   db2set <变量>=<值>,永久改变
   db2set -? 显示命令帮助消息

24.编译和调用存储过程
db2 -td@ -vf procedurefilename.db2 编译存储过程
db2 call procedrename 调用存储过程

 

 

————————————————————————————————————————————————

一般来讲,Windows都会将端口的映射关系存放在 c:\windows\system32\drivers\etc\services
到里面,你可以查看相应的端口号

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics