db2数据库常用总结

db2数据库常用命令总结

---安装数据库

tar zxvf db2_v101_linuxx64_expc.tar.gz
cd expc/
./db2_install

选择默认安装路径 : yes

---配置数据库

创建3个用户组

groupadd -g 901 db2iadm1
groupadd -g 902 db2fadm1
groupadd -g 903 db2dadm1

创建3个用户

useradd -g db2iadm1 -u 101 -d  /home/db2inst1 -m  db2inst1
useradd -g db2fadm1 -u 102 -d  /home/db2fenc1 -m  db2fenc1
useradd -g db2dadm1 -u 103 -d  /home/db2dasusr1 -m  db2dasusr1

添加3个用户密码

passwd db2inst1 
passwd db2fenc1
passwd db2dasusr1

检查用户组和用户是否创建成功

cat /etc/group | grep db2
cat /etc/passwd | grep db2

创建实例

cd /opt/ibm/db2/V10.1/instance
./dascrt -u db2dasusr1
./db2icrt -a server -u db2fenc1 db2inst1

配置db2自启动

cd /opt/ibm/db2/V10.1/instance
./db2iauto -on db2inst1

如果上述方法不能实现开机启动,可以尝试在/etc/rc.local中添加如下内容:

su db2inst1 -c '/home/db2inst1/sqllib/adm/db2start'

配置db2网络服务端口

su - db2inst1 
db2 update dbm cfg using SVCENAME 50000

修改DB2连接方式为TCP/IP

db2set DB2COMM=TCPIP

---使用

启动数据库

su - db2inst1 
db2start

创建数据库

db2 create db testdb using codeset UTF-8 territory CN pagesize 8192 

连接数据库,命令如下:

db2 connect to db_name user user_name using password
#db_name 是指数据库的名字, user_name 是数据库用户名,password是数据库密码

显示连接

db2 list applications 

进入客户端

db2

sql测试代码-在shel中

db2 "create table test2(a integer , b integer)"
db2 "insert into test2(a , b) values(1,2)"
db2 "select * from test2"

注意:在客户端中直接执行SQL即可,但是不能使用分号来结尾。

删除数据库的database

db2 drop database database_name

使用以下命令查看数据库

db2 list db directory

对于数据库服务器和客户端不在同一机器上的,需要借助catalog命令,来先完成远程数据库加载到本地。连接 catalog server 端的 node ,命令如下:

db2 catalog tcpip node node_name remote hostname server service_port  
db2 uncatalog node node_name   (取消节点的编目)
#其中 node_name 是由你任意起的一个结点名,结点名不能跟已有的结点名重复(可通过db2  list node directory 查看),hostname也可为IP address,service_port为端口号一般默认为50000。节点目录用于存储远程数据库的所有连通性信息。

远程连接db2 , catalog 远端 DB2 数据库,命令如下:

db2 catalog db db_name [as alias_name] at node node_name
db2 uncatalog db db_name    (取消数据库的编目)
#db_name 是指远程数据库的名字, alias_name 是客户端实例名(可以忽略), db2node 是指上面你所指定的节点node ! 

用db2look命令生成表结构的DLL脚本

db2look -d db_name -i user_name -w password -a -e -o /home/script.sql   
#db_name 是指数据库的名字, user_name 是数据库用户名,password是数据库密码

用db2move导出所有表的数据

db2move db_name export -u user_name -p password
#db_name 是指数据库的名字,user_name 是数据库用户名,password是数据库密码

用export导出指定的表数据

db2 "export to d:\data\tab1.ixf of ixf lobs to d:\data\ lobfile lobs modified by lobsinsepfiles  messages d:\data\tab1.msg select * from schema_name.table_name"
#schema_name 是表所属,table_name是表名, lobsinsepfiles 或 lobsinfile 是生成lob文件 前一个是生成每个,后面是生成到一个文件中

用export导出表中数据导出ixf数据

db2 "export to [path(例:D:"TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1 "

用export导出表中数据导出del数据

db2 "export to [path(例:D:"TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1 "

执行sql脚本

db2 -tvf d:\script.sql -z d:\script.log

用db2move导入所有表的数据

db2move db_name import -io replace -u user_name -p password   

用import导入指定的表数据

db2 "import from d:\data\tab1.ixf of ixf messages d:\data\tab1.msg insert into schema_name.table_name"

发布于 22:53

猜你喜欢

转载自blog.csdn.net/u014439239/article/details/84000373