zoukankan      html  css  js  c++  java
  • Db2 Terminate Vs Connect Reset , Disconnect

    db2 Terminate and db2 connect Reset both break the connection to a database.
     
                 Connect Reset breaks a connection to a database, but does not terminate the back-end process. The Terminate command does both ie. break the connection to a database and terminate the back-end process.
     
    Suppose an application is connected to a database, or a process may be in the middle of a of work. We can use TERMINATE to make the database connection to be lost. When Terminate is issued, an internal commit is also performed.
     
    When issue the command db2stop, it may not stop the database manager, if an application is connected to a database. In this situation, you have to issue db2 Terminate command or db2 connect reset, then issue the command db2stop.
     
    Db2 Disconnect is used to clear the database connection of a particular database or all
     
    Syntax : db2 disconnect dbname
     
    eg. db2 disconnect sample
     
    db2 disconnect all
     
    db2 release all
     
    Note : Even after disconnecting database, some times you may get the error message "Database already in use "  when you execute the commands like   "db2 Restore db databasename , etc ..". 
     
    That means current data base is connected by some other applications. Applications connected to the database can be listed out by the following command
     
    db2 list applications
     
    Auth Id Application Name Appl. Handle Application Id DB Name # of Agents
    ------- -------------- ---------- ------------------------------ -------- -----
     
    TEST javaw.exe 78 *LOCAL.DB2.110722172106 EMPLOYEE 1
     
    TEST javaw.exe 77 *LOCAL.DB2.110722172103 EMPLOYEE 1
     
     
    Now you can use db2 "force applications all" This command is used to kill  all the applications forcefully at instance level .
     
    To force a particular application with application handle 78
    db2  "force application(78)"
     
     
    =============================
    如果是退出编辑器 quit ;如果是断开数据库连接释放资源 connect reset ;如果是修改了参数下次使用数据服务想要生效 terminate。

    1:
    connect reset 应该是终止数据库连接,包含一个commit的动作
    terminate应该是能终止这个client发起的进程,释放资源
    2:
    terminate是命令,除了断开连接以外,它还终止clp(命令行处理器)的后台进程,也就是常见的db2bp:back-end process。   
    connect   reset是sql语句。
    3:
    connect   reset只是断开连接,不终止clp后台,在duow(可以同时连接多个数据库的事务)中可以将数据库当前连接休眠。
    4:
    quit :退出clp,但数据库连接不断开
    connect reset:断开数据库连接但不退出clp
    terminate:断开数据库连接,同时退出clp
    5:
    CLP backend process会在从CLP提交命令和SQL语句时启动,其作用就是将Directory file的内容读到内存中,这样不用每次connect都去读一次I/O,以提高效率。
    就如上面所说,区别就在于是否终止那个CLP backend process。所以,当你修改了一些参数以后,用terminate的话,下次的CLP命令(比如一个新的connect语句)此参数就会生效;而用connect reset则还不会生效。

  • 相关阅读:
    Linux_vi编辑器
    Linux_几个符号命令
    Linux_权限
    Linux_用户/用户组
    Linux_文件及文件夹[创建][复制][移动][删除][重命名]
    Linux_文件查看
    Linux_初识
    码农网站
    学习网站
    软件设计师考试范围
  • 原文地址:https://www.cnblogs.com/rusking/p/11726202.html
Copyright © 2011-2022 走看看