再次理解:关闭数据库的几个模式

原文来自:http://www.linuxidc.com/Linux/2011-11/46919.htm

关闭数据库过程

1.1 关闭数据库

1. 把高速缓冲区和重做日志缓冲区中的内容分别写入数据文件和联机日志文件,

2. 关闭所有联机数据文件日志文件

此时控制文件仍处于打开状态.

1.2 卸载数据库

1. 从一个实例卸装数据库

2. 关闭控制文件

此时实例依然存在。

1.3 关闭实例

1. 关闭alert文件和跟踪文件

2. 释放SGA

3. 终止后台进程

数据库关闭模式

指令

操作过程说明

注意事项

 

shutdown normal

 阻止任何用户建立新的连接

 等待当前所有正在连接的用户主动断开连接正在连接的用户能够继续他们当前的工作甚至能够提交新的事务.

 直到所有的用户都断开连接(自己断开)才进行关闭、制裁数据库并终止例程.

重点在等待会话结束,然后关闭数据库

 

 

shutdown transactional

transactional选项比normal选项稍微主动些它能在尽可能短的时间内关闭数据库.

 阻止任何用户建立新的连接同时阻止当前连接的用户开始任何新的事务

 等待所有当前未提交的活动事务提交完后然后立即断开用户的连接

 断开连接立即进行关闭、制裁数据库并终止例程

重点在等待事物结束,然后干掉会话,关闭数据库

 

shutdown immediate

immediate选项关闭数据库就能够在尽可能短的时间内关闭数据库.

 阻止任何用户建立新的连接同时阻止当前连接的用户开始任何新的事务

 立即结束当前正在执行的sql语句

 任何当前未提交的事务均被回退

 断开连接关闭、卸载数据库并终止例程

重点在不管事物完成和会话结束了,直接把未提交的事物被回退,如果事物较多,关闭的时间就比较长了。

话说回来,回退事物还是在九届于事物

 

shutdown abort

如果上述三种选项都无法成功关闭数据库就说明数据库存在严重错误这时只能使用abort选项来关闭数据库.

 阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务。

 立即终止当前正在执行的SQL语句。

 任何未提交的事务均不被退名。

 直接终止实例。

不再纠结于事物,没有完全检查点,直接终止实例,下一次启动时需要进行实例恢复

关闭模式与过程关系

关闭模式

Abort

Immediate

Transactional

Normal

 

允许新连接

X

X

X

X

 

 

等到当前会话结束

X

X

X

 

等到当前事务结束

X

X

 

执行检查点并关闭文件

X

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25960404/viewspace-766771/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25960404/viewspace-766771/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JDBC(Java Database Connectivity)是Java语言中用于访问数据库的应用程序接口。它允许Java应用程序通过标准的SQL查询语言访问各种数据库。JDBC技术可以轻松地连接到任何标准数据库,并通过统一的API执行数据库操作。在本次作业中,我将为您介绍JDBC的一些基本概念和应用。 1. JDBC的基本概念 JDBC包含以下几个基本概念: - 数据库驱动程序:每个数据库都需要自己的驱动程序,用于与Java应用程序进行通信。驱动程序通常由数据库供应商提供,并且必须在Java应用程序中加载。 - 数据库连接:连接是Java应用程序和数据库之间的通信链路。它包括一个URL、一个用户名和一个密码,用于访问数据库。 - 数据库语句:Java应用程序可以使用SQL语句查询和更新数据库中的数据。JDBC支持各种SQL语句,包括SELECT、INSERT、UPDATE和DELETE。 - 结果集:当Java应用程序执行一个SELECT语句时,它将返回一个结果集。结果集是一个包含查询结果的数据对象,它可以被Java应用程序用来处理数据。 2. JDBC的应用 下面是一个使用JDBC连接到MySQL数据库的示例: ```java import java.sql.*; public class JdbcTest { public static void main(String[] args) throws SQLException { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String password = "password"; Connection conn = DriverManager.getConnection(url, user, password); String query = "SELECT * FROM mytable"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println(name + " is " + age + " years old."); } conn.close(); } } ``` 这个例子首先创建了一个连接对象,然后使用SQL语句查询数据库中的数据,并将结果集打印到控制台上。最后,它关闭了连接对象。 在使用JDBC时,您需要注意以下几点: - 您需要下载和安装适用于您的数据库的驱动程序。 - 您需要确保您的数据库已启动,并且可以通过网络访问。 - 您需要小心处理连接和结果集对象,以确保它们在使用后正确地关闭。 总结:JDBC是Java应用程序中访问关系型数据库的标准API。通过JDBC,您可以轻松地连接到任何标准数据库,并执行各种SQL语句。在使用JDBC时,请确保您已下载和安装了适用于您的数据库的驱动程序,并小心处理连接和结果集对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值