DB2数据导入导出操作


DB2数据导入导出sql

  1. 使用环境:linux服务器
  2. 准备语句:
su – db2inst1

图1

  db2start

图2

db2 connect to database(数据库名称) 

图3
此时进入db2环境即可进行语句操作

  1. 导出表数据:
db2 'export to /home/data/1.del of del select * from dbs.cust'

图4
需要注意的是文件的路径存在权限问题,如果该路径的权限,用户db2inst1不能获取,则无法执行该sql语句。
del也可以换成ixf

  1. 导入表数据:
db2 'load from /home/data/cust_pool.del of del insert into ecrm.cust_pool_bak nonrecoverable'
db2 'import from /home/data/cust_ pool.del of del insert into ecrm.cust_ pool_bak '

以上两个语句都是可以的不过第一个加上了nonrecoverable效率更高
图5

  1. 分隔符问题:需要在导入语句加入modified by coldel0x1d(并不是所有表都有分隔符的,语句只是举例)
db2 'load from /home/data/cust_pool.del of del modified by coldel0x1d insert into ecrm.cust _pool_bak nonrecoverable'
  1. 编码问题:codepage=1386
db2 'load from /home/data/cust_pool.del of del modified by codepage=1386 coldel0x1d insert into ecrm.cust_busi_pool_bak nonrecoverable'

数据库备份

  1. 导出所有表结构,存储过程(不包含表数据):
    db2look -d db_name -e -a -x -o /home/data/test.sql
  2. 建库
    create database db_name on filesystem_location using codeset utf-8 territory cn
  3. 删库
    db2 drop db db_name
  4. (若数据库正在使用, 需要先执行以下命令关闭所有连接)
    db2 force application all
  5. 导出表结构
    db2look -d DB_NAME -e -a -x -o FILE_TO_EXPORT.sql
  6. 导入表结构
    db2 -tvf FILE_TO_IMPORT.sql
  7. 导出表数据
    db2move DB_NAME export
  8. 导入表数据
    db2move DB_NAME import -u username -p password
  9. 替换表数据
    db2move DB_NAME load -u username -p password
  10. (load完之后, 某些表可能需要执行以下命令才能正常使用)
    set integrity for TABLE_NAME immediate checked
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章