月光花罗马音歌词:DB2数据库基础知识总结(4)

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 09:28:33

如何实施已删除表的恢复(Dropped Table Recovery)

  1. 首先数据库要可以前滚恢复(数据库配置参数logretain或userexit打开)。

  2. 对要实施Drop Table Recovery的表空间(限regular tablespace),执行:

  alter tablespace 表空间名 dropped table recovery on

  3. 用 list history dropped table all for 数据库名 得到删除表的tableid(例如 0000000000006d0000020003)和表结构的生成语句(DDL),记录tableid和该语句以便恢复。之后,用drop命令删除的表中的数据可以在前滚恢复时导出。

  4. 恢复数据库后,如果想恢复已删除的表,在前滚时加recover dropped table tableid to 目标目录 。 在该目录下被删除的表中的数据导出,例如导出至 ../NODE0000/data文件。利用上面提到表结构生成语句生成被删除了的表,然后用import命令将数据导入表中。

  如何备份数据库

  db2 "backup database sample tablespace (syscatspace, userspace1) online to /dev/rmt0 without prompting"

  or

  db2 "backup database sample user db2admin using db2admin to c:\backup with 3 buffers buffer 1000 without prompting"

  如何生成所有对象的DDL

  db2look -d DB_NAME -a -e -m -l -f -o filename.sql

  如何恢复数据库

以下是引用片段:
  restore db db1 to /tstdb2/catalog into db newlogpath /tstdb2/db2log buffer 2048
  replace existing redirect parallelism 16;
  set tablespace containers for 1 using (path '/tstdb2/db2tmp');
  set tablespace containers for 2 using
  (device '/dev/rtstcontlv00' 2621440, device '/dev/rtstcontlv01' 2621440,
  device '/dev/rtstcontlv02' 2621440, device '/dev/rtstcontlv03' 2621440 ) ;
  restore db db1 continue;


  恢复完成后,执行db2s命令,如果出错,再执行如下命令:

  db2 rollforward db db to end of logs and complete

  如何查看数据库目录

  1)首先用 db2 list database directory 命令查看系統資料庫目錄(System Database Directory)中有沒有該資料庫。

  如果有,應該再確定該資料庫是沒有用的資料庫之後用 db2 drop database 資料庫名將其刪除。

2)如果沒有,再用 db2 list database directory on location 看在本端資料庫目錄(Local Database Directory)中有沒有該資料庫,location指定資料庫的位置(如Windows下的C: ,Unix下的/home/db2inst1)。

  如何更改本地系统名称

  1.db2set db2system=新系统名

  2. db2 terminate

  3. db2 uncatalog node 原节点名

  4. db2 terminate

  如何使用DB2MOVE

以下是引用片段:
  Db2move DB_NAME action -u USERID –p PASSWORD
  Action:export,import,load
  Options如下:
  OptionDefaultNotes
  -tctable-creatorsall_creatorsEXPORT.Wildcard
  -tntable-namesall_user_tablesEXPORT.Wildcard
  -snschema-namesall_schemasEXPORT.Wildcard
  -tstblspace-namesall_tablespaceEXPORT.Wildcard
  -tftablesfromfile
  -ioimport-optionREPLACE_CREATEIMPORT_only.
  -loload-optionINSERTLOAD_only.
  -llobpathscurrent_dirseparated_by_commas.NO
  -uuseridlogged_on_userid
  -ppasswordlogged_on_password
  -awallow-warningsfalseinclude
  warningsduringexport.


  例如:

  Db2move ehrdb export –u ehr –p ehr

  Db2move ehrdb import –u her –p ehr

  IMPORT如何避免日志满出错

  在使用IMPORT命令向数据库出入数据时,如何避免日志空间满错误?

  在执行IMPORT命令时, 如果使用循环日志, 有时会出现日志满错误,

  这时可用COMMITCOUNT参数来解决.