Oracle课堂笔记之数据库启动

Oracle数据库与实例启动

Oracle数据库与实例启动步骤

oracle数据库完整的启动过程分为3步:
1、创建并启动数据库对应的实例
2、为实例加载数据库
3、将数据库设置为打开状态。

注意

1、在实例启动的过程中,只会使用到初始化参数文件。如果初始化参数设置错误,则实例无法启动。
2、加载数据库的时候实例打开数据库的控制文件,读取数据库名称、数据文件的位置等信息。
3、打开数据库时,实例将打开所有处于联机状态的数据文件重做日志文件。只有数据库设置为打开状态,数据库才处于正常运行的状态。

相关问题

1、在步骤一时,如果数据库不存在,数据文件、日志文件被破坏,是否对启动数据对应的实例有影响?
答: 没有。目前只在第一步,只是创建和启动实例,只使用了初始化参数文件,并没有访问到数据文件、日志文件。数据文件、日志文件被破坏,与初始化参数文件创建并启动实例无关。
2、在步骤二时,数据文件或日志文件被破坏对加载数据库是否有影响?
答: 没有,同理,在步骤二时,只调用了控制文件,并没有访问数据文件和日志文件。

启动模式

由上可知,数据库和实例的启动过程可以分为3步:启动实例加载数据库打开数据库
数据库管理员根据不同需求,以不同模式启动数据库。
启动数据库所使用的STARTUP命令格式如下:

startup[nomount|mount|open|force]
       [strict][pfile=filename]

参数说明

nomount:启动实例,访问初始化参数文件,分配SGA区,创建实例进程;没有打开控制文件、数据文件、重做日志文件,无法访问数据库。
mount:启动实例并装载数据库,创建实例进程,打开控制文件;但没有打开数据文件和重做文件。
open:启动例程、装载并打开数据库,默认选项
force:强制关闭数据库并重新启动数据库。
restrict:以受限会话方式启动数据库,只允许具有restricted session或者create session权限用户访问数据库。
pfile:用于指定启动实例时所使用的文本参数文件。

注意

必须在nomount启动模式下进行的:
1、创建新的数据库
2、重建控制文件

必须在mount启动模式下进行的:
1、重命名数据文件
2、添加删除或重命名重做文件
3、执行数据库的完全恢复操作
4、改变数据库的归档模式

当Oracle收到startup命令后,其初始化参数文件默认查找顺序:
1、使用服务器上的spfile<SID>文件启动实例。
2、如果没有找到spfile<SID>文件,就使用服务器上默认的SPFILE文件启动实例。
3、如果没有找到默认的SPFILE文件,就使用服务器上的init<SID>文件启动实例。
4、如果没有找到服务器上的init<SID>文件,就是用服务器上默认的PFILE文件启动实例。

可使用pfile选项覆盖优先次序

STARTUP PFILE=参数文件名

启动数据库和实例模式

未装载启动(STARTUP NOMOUNT)

该命令仅创建一个oracle实例
读取初始化参数文件、启动后台进程、初始化SGA、打开报警文件(alterSID.log)和追踪文件(trace)。
这种打开方式通常在创建数据库重建控制文件时使用。

装载启动(STARTUP MOUNT)

该命令创建实例并装载数据库,但没有打开数据库
Oracle系统读取控制文件中关于数据文件和重做日志文件的内容,但不打开数据文件、重做日志文件。
这种打开方式通常在数据库维护操作中使用。

正常启动(STARTUP OPEN)

命令中的open可省略
该命令完成创建实例、装载数据库和打开数据库三个步骤。
这是数据库正常操作的状态。
在该状态下,任何合法的用户都可以与数据库连接和执行正常的数据访问操作。

强制启动(STARTUP FORCE)

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

限制启动(STARTUP RESTRICT)

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

转换启动模式

使用ALTER DATABASE命令转换启动模式。
将数据库从NOMOUNT模式状态转变成MOUNT状态
将数据库从MOUNT模式状态转变成OPEN状态
注意:操作不可逆,无法从MOUNT状态转换成NOMOUNT状态
参考代码:

ALTER DATABASE MOUNT ;

为了防止用户进程修改数据库中的数据,可将数据库的状态设置为只读。参考代码:

ALTER DATABASE OPEN READ ONLY;

受限状态和非受限状态的切换

若是打开数据库的时候设置为受限状态,在完成管理工作后需要恢复为非受限状态:

alter system disable restricted session ;

在数据库运行过程中需要将非受限状态切换到受限状态:

alter system enable restricted session ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值