设为首页 收藏本站
查看: 1049|回复: 0

[经验分享] 重要db2命令(转载)

[复制链接]

尚未签到

发表于 2016-11-13 08:28:33 | 显示全部楼层 |阅读模式
  在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
到里面,你可以查看相应的端口号


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-299492-1-1.html 上篇帖子: db2出现DUAL的错误 下篇帖子: DB2视频--免费
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表