首页数据库数据库关闭 SQL怎么关闭数据库连接(删除数据库时需要关闭连接)

数据库关闭 SQL怎么关闭数据库连接(删除数据库时需要关闭连接)

编程之家2023-10-21110次浏览

老铁们,大家好,相信还有很多朋友对于数据库关闭和SQL怎么关闭数据库连接(删除数据库时需要关闭连接)的相关问题不太懂,没关系,今天就由我来为大家分享分享数据库关闭以及SQL怎么关闭数据库连接(删除数据库时需要关闭连接)的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

数据库关闭 SQL怎么关闭数据库连接(删除数据库时需要关闭连接)

ORACLE数据库启动与关闭的步骤

oracle的启动和关闭

一、sql*plus方式:

用sql*plus来连接到Oracle

Sqlplus/nolog是以不连接数据库的方式启动sql*plus

Connect/as sysdba是以DBA身份连接到oracle

or35.gif

数据库关闭 SQL怎么关闭数据库连接(删除数据库时需要关闭连接)

.启动

or36.gif

Startup就可以启动了。

不过oracle启动模式有3种:

l Startup nomount(nomount模式)启动实例不加载数据库。

l Startup mount(mount模式)启动实例加载数据库但不打开数据库

数据库关闭 SQL怎么关闭数据库连接(删除数据库时需要关闭连接)

l Startup(open模式)启动实例加载并打开数据库,就是我们上面所用的命令

Nomount模式中oracle仅为实例创建各种内存结构和服务进程,不会打开任何数据库文件,

所以说:

1)创建新数据库

2)重建控制文件

这2种操作都必须在这个模式下进行。

Mount模式中oracle只装载数据库但不打开数据库,所以说:

1)重命名数据文件

2)添加、删除和重命名重做日子文件

3)执行数据库完全恢复操作

4)改变数据库的归档模式

这4种操作都必须在这个模式下进行

Open模式(就是我们上面的startup不带任何参数的)正常启动。

当然这3种模式之间可以转换:

Alter database mount(nomount模式)—〉alter database open(mount模式)—〉(open模式)

当然还有其它一些情况,在我们open模式下可以将数据库设置为非受限状态和受限状态

在受限状态下,只有DBA才能访问数据库,所以说:

1)执行数据导入导出

2)使用sql*loader提取外部数据

3)需要暂时拒绝普通用户访问数据库

4)进行数据库移植或者升级操作

这4种操作都必须在这个状态下进行

在打开数据库时使用startup restrict命令即进入受限状态。

or37.gif

使用alter system disable restricted session命令即可以将受限状态改变为非受限状态。

or38.gif

使用alter system enable restricted session命令可以将非受限状态变为受限状态

or39.gif

使用alter database open read only可以使数据库进入只读状态。

使用alter database open read write可以使数据库进入读写状态。

当然在某些情况下可能是用上述各种启动方式都无法成功启动数据库,这个时候就要使用startup force命令来强行启动数据库。当然谁都不想碰到这种情况:)

or40.gif

c.关闭数据库

1)正常关闭 shutdown

2)立即关闭 shutdown immediate

3)关闭事务 shutdown transactional

4)强行关闭 shutdown abort,当然谁都不想碰到这种情况。

二、OEM为例

Oracle Enterprise Management(OEM),

跟第一小节讲的Sqlplus/nolog,Connect/as sysdba这2个命令差不多的操作如图:

or29.gif

or30.gif

or31.gif

按照上面的一步步操作就能够连接到数据库。

下面是如何启动和关闭数据库:

or32.gif

点击我们前几章创建的ORADB01这个数据库树中的配置选项,这个里面的:

1)已启动对应 Nomount模式

2)已转载对应 mount模式

3)打开对应 open模式

当你点击应有按钮之后就会进入如下对话框

or33.gif

1)正常对应正常关闭 shutdown

2)立即对应立即关闭 shutdown immediate

3)事务处理对应关闭事务 shutdown transactional

4)中止对应强行关闭 shutdown abort

确定之后出现如下对话框

or34.gif

限制对数据库访问对应 alter system disable restricted session

alter system enable restricted session

只读模式对应 alter database open read only

alter database open read write

简单吧,sql*plus的一大堆命令到OEM中变成了几个按钮罢了。

3.windows控制台

or41.gif

这个熟悉吧:

oracle************Agent用于OEM管理结构

oracle************HTTPSERVER oracle Web服务器

oracle************ManagementServer用于OEM管理结构

oracle************ TNSListener oracle网络结构的服务器端进程

oracle************OEMREP资料档案库文件

oracle************ORADB001用户创建的数据库

我一般都把所有的服务全部选成手动启动,如果全开,内存要用掉700M.............

SQL怎么关闭数据库连接(删除数据库时需要关闭连接)

这个没有关闭的语句,因为别的用户可能正在进行读写操作。

不过可以做一个替代逻辑:

检测drop database的返回值,如果是失败的那么就sleep一段时间,再来drop,如果连续drop了N次失败,那么exit报错;否则,等了一段时间之后用户应该已经完成操作了,那么你就可以正常删除了。

Oracle数据库如何关闭

在服务中关闭:

OracleOracle_homeTNSListener对应于数据库的监听程序

OracleServiceSID对应于数据库的例程

OracleDBConsoleSID对应于Oracle Enterprise Manager(OEM)

其中,Oracle_home表示Oracle主目录,如Oracle11g_home1;SID表示Oracle系统标识符,如OracleServiceMAG01的MAG01。

比较好的启动顺序是:OracleOracle_homeTNSListener,OracleServiceSID,OracleDBConsoleSID。

关闭时次序相反。

下面给出了自己写的已经排好顺序的启动和停止服务的两个批处理文件:

//启动Oracle

Start Oracle.bat

@echo off

echo确定要启动Oracle 11g服务吗?

pause

net start OracleOraDb11g_home1TNSListener

net start OracleServiceMAG01

net start OracleDBConsolemag01

echo启动Oracle 11g服务完成,请确认有没有错误发生。

Pause

//关闭Oracle

Stop Oracle.bat

@echo off

echo确定要停止Oracle 11g服务吗?

pause

net stop OracleDBConsolemag01

net stop OracleServiceMAG01

net stop OracleOraDb11g_home1TNSListener

echo停止Oracle 11g服务完成,请确认有没有错误发生。

Pause

oracle如何快速关闭数据库

如果想正常关闭,那么最好是:先手动断开所有数据库连接(外部链接,比如访问等),关闭监听(防止再次产生外部链接),然后杀掉所有正在执行的数据库进程(数据库内部的一些,比如正在执行的执行计划等,主进程别杀啊),然后关闭外围服务,最后再用immediate关闭数据库。这样能快一些,而且相对而言数据库会正常,不会因为断开外部链接,等待进程结束等问题等待时间超长。,当然也只是快一些而已,如果数据库很大,那么还是会很慢。

其他的shutdown abort,也是一个关闭数据库的方法,不过oracle本身也不推荐,因为每次abort后数据库可能会有这样那样的问题。

再baoli一些的,就是直接关机器,关电源了。

好了,关于数据库关闭和SQL怎么关闭数据库连接(删除数据库时需要关闭连接)的问题到这里结束啦,希望可以解决您的问题哈!

数据库怎么做 怎么做数据库xbox服务器,xbox与服务器版本不兼容