轻松搞定Oracle数据库关库! (Oracle数据库关库)

Oracle数据库是一款非常流行的关系型数据库管理系统,具有高效、可靠、安全等优点,被众多企业和组织广泛采用。但是在日常维护中,关库操作依然是一个比较棘手的问题,因为关库操作有可能会对数据库的完整性和稳定性造成影响。因此,在进行关库操作时,我们需要考虑到各种情况和可能出现的问题,以确保数据库的安全和稳定。接下来,本文将介绍一些关库操作的技巧和实践,帮助您轻松搞定Oracle数据库关库的问题。

一、关库前的准备工作

在进行关库操作前,我们需要对数据库进行备份。备份数据库的目的是为了在关库操作出现问题时能够恢复数据库。一般来说,备份数据库可以使用Oracle的备份和恢复工具,例如rman,或者使用一些第三方备份工具。在备份数据库之后,我们需要确认数据库的参数设置是否正确,例如SGA大小、日志文件大小等,以确保数据库在关库期间运行正常。另外,我们还需要保证在关闭数据库前,所有的用户都已经退出,以免出现未提交的事务导致数据丢失。

二、关闭数据库

在关闭数据库之前,我们需要先确认当前会话情况。可以使用如下命令查询当前会话:

select sid,serial# from v$session;

如果之一列(SID)显示的值不为0,则表示当前有用户连接到数据库。我们需要通过以下命令将这些会话杀死:

alter system kill session ‘sid,serial#’;

在所有用户都退出数据库后,我们可以执行以下命令将数据库关闭:

shutdown immediate;

这个命令会先等待所有未提交的事务处理完成后再关闭数据库。如果有正在执行的事务,则需要使用halt来停止数据库:

shutdown abort;

在使用shutdown abort命令停止数据库时,所有未提交的事务都将被回滚,可能需要一段时间才能完成。

三、关库操作

在关闭数据库之后,可以进行关库操作。关库操作的命令为:

alter database close;

执行这个命令后,数据库就会进入归档模式,它将关闭所有的数据文件、日志文件,并且将进行到对恢复操作的准备。在关库过程中,我们可以使用以下命令查询数据库状态:

select status from v$instance;

如果这个命令返回的是MOUNTED,则表示数据库已经被关闭,并且可以进行恢复操作。如果返回的是OPEN或者STARTED,则表示数据库并没有被关闭,需要再次执行关闭命令。

四、恢复数据库

在完成关库操作后,我们需要进行恢复操作。恢复数据库的步骤如下:

1. 将数据库文件传送到指定位置。

2. 执行“startup mount”将数据库还原到mount模式。

3. 执行“recover database”以进行日志文件恢复。

4. 执行“alter database open”以打开数据库。

在执行恢复操作前,我们还需要进行一些预处理操作。例如,我们需要将已经下线的实例从监听程序中删除,避免在关库操作后,实例仍然保持在线状态。删除实例的命令如下:

$ lsnrctl

LSNRCTL> status

LSNRCTL> delete service

完成这些准备工作后,我们就可以进行恢复操作了。如果数据库恢复操作正常完成,则表示关库操作已经成功完成。

五、

相关问题拓展阅读:

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

启滑吵旅信凳动的步骤:

startup

nomount

alter

database

mount

alter

database

open

关闭:

shutdowm

abort

|

immediate

|

transactional

|

normal

(shutdown不带参数将缺省碰卜为normal)

  oracle的启动和关闭

  一、sql*plus方式:

  用sql*plus来连接到Oracle

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

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

  or35.gif

  . 启动

  or36.gif

  Startup就可以启动了。

  不过oracle启动模式有3种:

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

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

  lStartup (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………….

oracle数据库关闭

就是这样的,命令行里的操作没有消息发送到windows里。

进程我想你应该销困会关,主要是把侍颂服务都关掉.那个对资源站用比较大.在控制面板,管理工具,服务里面找到和ORACLE有关的5个服务启动项目,全部停止.启动类型改成手动就亏谈念可以了

关掉尺信ORACLE的服务即可.

如下图所示,将服务全部停止,设置手动就可以了.

其中OracleServicex就是你的数据库,需要哪个库运陵桐轮行就启动哪个,同时再开轮缺监听服务就可以了.我一般就开2个.

那是你关闭竖租了数据库的实例,Windows里的是oracle数据库软件的进程,而余睁兆不是数据库(实例)的进早耐程。

当然运行了。windows里是oracle进程你不能在dos里结束的。必须通过资源管理器结束。

关于Oracle数据库关库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » 轻松搞定Oracle数据库关库! (Oracle数据库关库)