首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Oracle数据库的启动和关闭方法[下]

2012-07-02 
Oracle数据库的启动和关闭方法[上][上] Oracle数据库的启动(STARTUP) [资料整理于网络]?启动一个数据库需

Oracle数据库的启动和关闭方法[上]

[上] Oracle数据库的启动(STARTUP) [资料整理于网络]

?

启动一个数据库需要三个步骤:

1、创建一个Oracle实例(非安装阶段)

2、由实例安装数据库(安装阶段)

3、打开数据库(打开阶段)

?

在Startup命令中,可以通过不同的选项来控制数据库的不同启动步骤。

?

1、STARTUP NOMOUNT

NONOUNT选项仅仅创建一个Oracle实例。读取init.ora初始化参数文件、启动后台进程、初始化系统全局区(SGA)。Init.ora文件定义了实例的配置,包括内存结构的大小和启动后台进程的数量和类型等。实例名根据Oracle_SID设置,不一定要与打开的数据库名称相同。当实例打开后,系统将显示一个SGA内存结构和大小的列表。

?

2、STARTUP MOUNT

该命令创建实例并且安装数据库,但没有打开数据库。Oracle系统读取控制文件中关于数据文件和重作日志文件的内容,但并不打开该文件。这种打开方式常在数据库维护操作中使用,如对数据文件的更名、改变重作日志以及打开归档方式等。在这种打开方式下,除了可以看到SGA系统列表以外,系统还会给出"数据库装载完毕"的提示。

?

3、STARTUP

该命令完成创建实例、安装实例和打开数据库的所有三个步骤。此时数据库使数据文件和重作日志文件在线,通常还会请求一个或者是多个回滚段。这时系统除了可以看到前面Startup Mount方式下的所有提示外,还会给出一个"数据库已经打开"的提示。此时,数据库系统处于正常工作状态,可以接受用户请求。

?

如果采用STARTUP NOMOUNT或者是STARTUP MOUNT的数据库打开命令方式,必须采用ALTER DATABASE命令来执行打开数据库的操作。例如,如果你以STARTUP NOMOUNT方式打开数据库,也就是说实例已经创建,但是数据库没有安装和打开。这是必须运行下面的两条命令,数据库才能正确启动。

ALTER DATABASE MOUNT;

ALTER DATABASE OPEN;

而如果以STARTUP MOUNT方式启动数据库,只需要运行下面一条命令即可以打开数据库:

ALTER DATABASE OPEN;

?

4、其他打开方式

除了前面介绍的三种数据库打开方式选项外,还有另外其他的一些选项。

?

(1) STARTUP RESTRICT

这种方式下,数据库将被成功打开,但仅仅允许一些特权用户(具有DBA角色的用户)才可以使用数据库。这种方式常用来对数据库进行维护,如数据的导入/导出操作时不希望有其他用户连接到数据库操作数据。

?

(2) STARTUP FORCE

该命令其实是强行关闭数据库(shutdown abort)和启动数据库(startup)两条命令的一个综合。该命令仅在关闭数据库遇到问题不能关闭数据库时采用。

?

(3) ALTER DATABASE OPEN READ ONLY

该命令在创建实例以及安装数据库后,以只读方式打开数据库。对于那些仅仅提供查询功能的产品数据库可以采用这种方式打开。

?

------------------------------------->>>分割线<<<--------------------------------

?

启动步骤:这里的oracle是9.0以上版本。

sql> conn / as sysdba

sql> startup(一般不需要加参数,只要设置好环境变量)

sql> quit(退出sql模式)

sql> shutdown 其参数:shutdown有四个参数,四个参数的含义如下:

?????? normal 需要等待所有的用户断开连接。

?????? immediate 等待用户完成当前的语句。

?????? transactional 等待用户完成当前的事务。

?????? abort 不做任何等待,直接关闭数据库。

?????? normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接。

?????? immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。

?????? transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。

?????? abort 执行强行断开连接并直接关闭数据库。

?????? 前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!

?

?

热点排行