如何用语句关闭oracle数据库

如何用语句关闭oracle数据库,第1张

1、正常关闭

正常关闭数据库所用的选项是normal,数据库在关闭前将检查所有的连接,并且发出命令后不允许再有新的用户连接,在等待所有连接都断开后再关闭数据库,再次启动数据库不需要任何恢复过程。

联入sys用户

sql>shutdown normal;

2、紧急关闭

该方式用在某些紧急的情况下,比如通知马上停电,此时需要紧急关闭数据库以应付这些情况。这种方式用的选项是immediate,在这种方式下并不等待所有的用户断开连接再关闭,而是由系统断开连接,然后关闭数据库。

sql>shutdown immediate;

一旦执行了这条命令,则将当前正在处理的sql语句马上停止,然后将所有未提交的事务回退,并且不等待当前联入数据库的用户断开连接,而是由系统强行将各个联接断开。在下次启动数据库时要执行恢复动作,不过是由系统自动执行的,用户不必去了解它。

3、异常关闭

异常关闭选项是abort,此种方式下系统并不做任何检查和断开用户 *** 作以及回退 *** 作,而是直接将数据库现场撤销,这样现场中的数据库数据当然就无效了,数据库自然也就被关掉了。

sql>shutdown abort;

以abort方式关闭数据库时只有一行关闭信息表示关闭了数据库现场。以abort方式关闭的数据库再次启动时必须要进行恢复动作,这些恢复 *** 作同样是系统自动来完成的,需要的时间较长。

要想关闭簇,可在MGM节点所在的机器上,在Shell中简单地输入下述命令:

shell>

ndb_mgm

-e

shutdown该命令将恰当地中止ndb_mgm、ndb_mgmd以及任何ndbd进程。使用mysqladmin

shutdown或其他方法,可中止SQL节点。注意,这里的“-e”选项用于将命令从shell传递到ndb_mgm客户端

只要你的网站正在被访,表示数据库正在访问,处于打开状态,此时当然不能删除了,任何一个打开着的文件都不能删除。

解决方法:

1、可以试一下用代码关闭连接。比方说,asp页面,

rsclose //关闭链接

set rs = nothing //释放资源

connclose //关闭链接

set conn = nothing //释放资源

此方法需要在所有访问数据库的页面使用。

2、上面方法不行的话,只能通过停掉IIS(起到关闭链接,释放资源作用),然后再删,删完再启起IIS。

要是每天都得删数据库,那建议你写个批处理:

@echo off

net iisadmin stop /yes

del 文件路径

net iisadmin start

net w3svc

在服务中关闭:

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

OracleServiceSID 对应于数据库的例程

OracleDBConsoleSID 对应于Oracle Enterprise Manager(OEM)

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

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

关闭时次序相反。

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

//启动Oracle

Start Oraclebat

@echo off

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

pause

net start OracleOraDb11g_home1TNSListener

net start OracleServiceMAG01

net start OracleDBConsolemag01

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

Pause

//关闭Oracle

Stop Oraclebat

@echo off

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

pause

net stop OracleDBConsolemag01

net stop OracleServiceMAG01

net stop OracleOraDb11g_home1TNSListener

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

Pause

你好,

1)单机模式下:

如果开启归档,请保证

log_archive_start=true --开启自动归档,否则只能手工归档,如果是关闭了归档,则设置该参数为false。10g之后废除该参数,不需要设置。

log_archive_dest = ---归档日志存放路径

alter system set log_archive_dest_1="location=f:\disk5\offlinelog\mandatory" scope=spfile; ---为了增加归档日志的冗余来保证其安全,可以通过修改参数文件中的log_archive_dest_n参数,其中n为1~10

log_archive_format ="CX%TS%SARC" ---归档日志文件名格式

alter system set log_archive_max_processes = 3 ---启动多个归档后台进程以避免由于ARCn进程跟不上LGWR而造成的数据库系统效率的下降。

注意:如果是OPS/RAC环境,需要先把parallel_server = true注释掉,然后执行如下步骤,最后用这个参数重新启动

1、开启归档:

a 关闭数据库shutdown immediate

b startup mount

c alter database archivelog

d alter database opne

2、关闭归档:

a 关闭数据库shutdown immediate

b startup mount

c alter database noarchivelog

d alter database open

归档信息可以通过如下语句查看

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination E:oracleora92databasearchive

Oldest online log sequence 131

Next log sequence to archive 133

Current log sequence 133

2)RAC模式下:

1关闭所有的instance

2在节点1上设置以下参数,如果使用spfile就先生成pfile再修改

CLUSTER_DATABASE=FALSE

log_archive_dest=<归档路径>

log_archive_start=true

log_archive_format=<归档文件格式>

3 以exclusive模式启动数据库

SQL> startup mount exclusive pfile=‘xxxxxx’

4 启动归档模式

SQL> Alter database archivelog

5打开数据库

SQL> alter database open

6关闭数据库并修改初始化参数

SQL> shutdown immediate

CLUSTER_DATABASE=TRUE

7启动所有的instance,记得先生成spfile

8核对归档,模式是否启动

SQL> archive log list

======================

以下步骤在node1机器上 *** 作,node2保持down。在所有的 *** 作完成后再打开node2的数据库。。。

SQLPLUS>connect SYS/PASSWORD

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE; ### 10gR2之后不用修改该参数

SQLPLUS>shutdown immediate;

SQLPLUS>startup mount exclusive;

SQLPLUS>alter database noarchivelog;

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=SPFILE;

SQLPLUS>shutdown immediate;

SQLPLUS>STARTUP

非归档改为归档

SQLPLUS>connect SYS/PASSWORD

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;

SQLPLUS>shutdown immediate;

SQLPLUS

硬锁定,直接将数据库切换到恢复模式,绝对不会有写 *** 作出现、软锁定,设置default_transaction_read_only为on,默认开启的事务为只读事务。用户如果使用begiontransactionreadwrite可破解。

需要在服务中停止。

以windows10系统为例。

1、右键“此电脑”。

2、然后选择“管理”。

3、然后左侧列表依次选择“服务和应用程序”——“服务”。

4、找到oracle的服务,名称为“OracleService+服务名”,如图:

5、右键此服务名,选择“停止”即可。

关闭的指令是 shutdown immediate ;

如果有正在增删改之类的 *** 作,数据库会等 *** 作完成后进行关机,如果没有进程在做增删改 *** 作则很快就会关闭数据库了。

如果一直没有关闭系统,你可以尝试用 shutdown abort 来强制关闭oracle系统,不过不建议这么做,容易引起数据错乱或者发生未知后果的错误。

以上就是关于如何用语句关闭oracle数据库全部的内容,包括:如何用语句关闭oracle数据库、MYSQL数据库关闭命令是、Access2010怎样关闭数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9483465.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存