lixiaolong 发表于 2016-11-18 11:06:54

Linux下DB2命令学习及整理

  DB2相关数据库命令
  1.数据库实例的启动
首先要启动数据库的实例,即切换到db2inst1用户(注:db2inst1用户为当前数据库的实例),然后执行db2start启动数据库的实例



# su - db2inst1
$ db2start
SQL1063NDB2START processing was successful.

  2.数据库实例的关闭
首先在db2inst1用户下强制关闭实例上的所有应用程序,然后再关闭数据库实例



$ db2 force application all
DB20000IThe FORCE APPLICATION command completed successfully.
DB21024IThis command is asynchronous and may not be effective immediately.
$ db2stop
SQL1064NDB2STOP processing was successful.
强制停止
$ db2stop force
SQL1064NDB2STOP processing was successful.
$

  3.显示所有的实例



$ db2ilist
db2inst1
$ 

  4.显示当前的实例



$ db2 get instance
The current database manager instance is:db2inst1

  5.删除一个实例(注:需切换到root用户权限下)



# cd /opt/ibm/db2/V9.7/instance
# pwd
/opt/ibm/db2/V9.7/instance
# ./db2idrop db2inst1
DBI1070IProgram db2idrop completed successfully.

  6.列出当前实例中有哪些数据库



# su - db2inst1
$ db2 list db directory
SQL1031NThe database directory cannot be found on the indicated file system.
SQLSTATE=58031
$

  注:上面信息说明实例中没有数据库
  7.创建数据库



# su - db2inst1
$ db2 create database test
SQL1032NNo start database manager command was issued.SQLSTATE=57019
$
$ db2start
SQL5043NSupport for one or more communications protocols failed to start successfully. However, core database manager functionality started successfully.
$ db2 create database test
DB20000IThe CREATE DATABASE command completed successfully.
$ db2 list db directory
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias                     = TEST
Database name                        = TEST
Local database directory             = /home/db2inst1
Database release level               = d.00
Comment                              =
Directory entry type               = Indirect
Catalog database partition number    = 0
Alternate server hostname            =
Alternate server port number         =
$

  注:上面通过创建一个test的数据库,并说明了创建数据库时,要先启动数据库,然后创建数据库test成功后并列出了当前实例中的所有数据库,只存在数据库test
  使用UTF-8编码
db2 create database test on '/home/db2inst1' using codeset UTF-8 territory CN
on '/home/db2inst1' 表示数据库路径
一般情况下'/home/db2inst1'为默认数据库路径
  8.连接数据库



$ db2 connect to test
Database Connection Information
Database server      = DB2/LINUX 9.7.1
SQL authorization ID   = DB2INST1
Local database alias   = TEST
$
注:用密码情况下格式$ db2 connect to test user username using password
db2 connect to <database> user <username> using<password>

  9.列出当前实例中所有激活的数据库



# su - db2inst1
$ db2 list active databases
SQL1032NNo start database manager command was issued.SQLSTATE=57019
$ db2 list db directory
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias                     = TEST
Database name                        = TEST
Local database directory             = /home/db2inst1
Database release level               = d.00
Comment                              =
Directory entry type               = Indirect
Catalog database partition number    = 0
Alternate server hostname            =
Alternate server port number         =
$ db2start
SQL1026NThe database manager is already active.
$ db2 list active databases
SQL1611WNo data was returned by Database System Monitor.
$ db2 connect to test
Database Connection Information
Database server      = DB2/LINUX 9.7.1
SQL authorization ID   = DB2INST1
Local database alias   = TEST
$ db2 list active databases
Active Databases
Database name                              = TEST
Applications connected currently         = 1
Database path                              = /home/db2inst1/db2inst1/NODE0000/SQL00001/
$
注:可以看出查看当前激活的数据库为已经启动后连接的数据库

  有参考:http://blog.csdn.net/sunrier/article/details/7835578
  http://blog.csdn.net/hanxin1987216/article/details/4506012
  http://database.iyunv.com/art/201008/219300.htm
页: [1]
查看完整版本: Linux下DB2命令学习及整理