
Oracle Instance Manage
数据库启动
Step:
启动数据库--->装载数据库--->打开数据库
如果没有启动Oracle实例,当使用SQL*Plus以普通用户身份连接时,会显示错误信息。
当以管理员身份就可以连接: conn sys/oracle as sysdba
启动Oracle服务器三阶段:
阶段一:启动实例阶段(NOMOUNT阶段)
两种情况需要启动数据库到该阶段:
①创建数据库时
②创建控制文件时
启动实例时,系统首先要读取初始化参数文件,然后根据初始化参数文件的设置分配系统全局区(SGA),并启动Oracle后台进程。另外,操作系统还会打开“警告日志”,并将启动信息存放到“警告日志”中。警告日志存放在初始化参数background_dump_dest所对应的目录中,其文件名格式为<SID>alert.log。
阶段二:装载数据库阶段(MOUNT阶段)
该阶段的目的:执行特定的数据库维护操作。
①修改数据文件名
②执行数据库完全恢复
③日志文件的脱机/联机,修改数据库归档方式
在该阶段打开的文件是控制文件。装载数据库时,系统会按照初始化参数control_files的设置查找并打开控制文件。Oracle是通过控制文件在实例和数据库之间建立关联的,通过控制文件可以取得数据文件和重做日志文件的名称和所处状态。但对数据文件和日志文件是否存在不作检查。
阶段三:打开数据库阶段(OPEN阶段)
该阶段的目的:只有打开数据库后,客户才能够访问Oracle服务器,并执行各种数据访问操作。
在该阶段中,打开的文件有联机数据文件和联机重做日志文件。
如果在尝试打开数据库时有任何数据文件或联机重做日志文件不存在,Oracle服务器将返回错误消息。
后台进程SMON要检查控制文件、数据文件以及重做日志文件,并检查它们是否处于同步状态。如果处于同步状态,则Oracle会直接打开所有数据文件和重做日志;如果不处于同步状态,并且可以进行实例恢复,那么SMON将自动进行实例恢复,然后打开数据库;如果不处于同步状态,并且不能进行实例恢复,那么SMON会提示数据库管理员进行介质恢复。
启动数据库操作
1、启动命令:
执行命令STARTUP,要求用户必须拥有SYSDBA或SYSOPER系统权限,另外,如果要建立数据库,则必须以SYSDBA身份登录。
OPEN:启动实例,装载并打开数据库,为默认选项。
MOUNT:启动实例并装载数据库,但不能打开数据库。
NOMOUNT:启动实例,但不能装载数据库。
PFILE=:指定用于启动实例的非默认初始化参数文件名。
FORCE:强制终止实例,并重新启动数据库。
RESTRICT:启动后只允许具有RESTRICTED SESSION权限的用户访问数据库。
RECOVER:数据库启动时,进行介质恢复。
要使数据库由NOMOUNT进入MOUNT阶段或由MOUNT进入OPEN阶段,需要使用ALTER DATABASE命令
查询当前状态: select status from v$instance;
2、只读状态打开数据库
正常启动状态下,默认数据库进入读写状态。在必要时可以将数据库设置为只读状态。在只读状态下,用户只能查询数据库,但不能以任何方式对数据库对象进行修改。
但要注意,在只读状态下,数据库还可以进行数据库的恢复或者不产生重做日志数据的操作。例如,数据文件仍然可以进行联机和脱机,已脱机的数据文件或表空间可以进行恢复。对其他文件如控制文件、跟踪文件、审计文件、警告文件等仍然可以继续写入。
命令:startup open [read writer | read only]
命令:alter database open [read writer | read only]
3、使用限制模式
限制模式只允许具有RESTRICTED SESSION权限的用户正常使用数据库,其他用户被限制使用数据库。RESTRICTED SESSION权限可以根据需要授予用户,DBA用户默认有授予RESTRICTED SESSION权限给其他用户的权限,DBA用户本身具有RESTRICTED SESSION权限。所以限制模式下DBA用户可以继续使用数据库进行特定的维护操作。当只允许特定用户使用数据库时,可以考虑使用限制模式。
命令: alter system [{enable|disable} restricted session]
命令:startup restrict
enable:启用限制模式
disable:取消限制模式
数据库的关闭
数据库关闭四方式
①NORMAL:正常关闭方式
②TRANSACTIONAL:事务关闭方式
③IMMEDIATE:立即关闭方式
④ABORT:强制终止关闭方式
注意:NORMAL、TRANSACTIONAL和IMMEDIATE 这3种关闭方式,属于一致性数据库或干净数据库关闭。特点是无需进行数据库恢复。
ABORT关闭方式,属于非一致性数据库(或称脏数据库)关闭。使用ABORT关闭、数据库发生实例故障(如断电)或使用STARTUP FORCE强制重新启动数据库,都需要进行实例恢复。
SHUTDOWN NORMAL:默认选项,是被动的等待方式,在所有用户主动推出后,才实施关闭。
不能连接新的用户
Oracle服务器等待所有用户断开已存在连接,然后完成关闭
数据库和重做日志缓存写入磁盘
结束后台金策还给你,在内存释放SGA
下次启动时无需进行实例恢复
该方式在关闭数据文件、重做日志和控制文件前,系统首先要发起检查点,同步所有数据文件、控制文件和重做日志文件,使3种处于同步状态。
SHUTDOWN TRANSACTIONAL:等待所有用户的事务结束,避免用户丢失前提下,尽快关闭数据库。
在此实例上,客户端不能开始新的事务
一旦客户端的当前事务结束,客户即被断开
当所有的事务结束,立即进行数据库关闭
下次启动时无需进行实例恢复。
当事务提交或回滚后,系统自动断开用户连接。然后发起检查点,同步所有数据文件、控制文件和重做日志文件,使3种处于同步状态。再关闭数据文件、控制文件和重做日志文件。
SHUTDOWN IMMEDIATE:无需等待用户,立刻进行关闭。已经提交的事务不会丢失,未提交的事务被撤销。
当前执行的SQL语句被取消
Oracle server不等待当前连接的用户断开。
Oracle回退活动事务,并断开所有连接的用户。
Oracle关闭实例前关闭和卸载数据库。
下次启动无需进行实例恢复。
SHUTDOWN ABORT:用于快速停止Oracle服务器,属于异常终止数据库。
当前执行的SQL语句被取消
Oracle Server不等待当前连接用户断开
数据库和重做日志缓存不写入磁盘
没有提交的事务不回滚
不关闭文件的情况下结束实例
数据库不关闭和卸载
下次启动时需要进行实例恢复,恢复自动发生。
数据库关闭操作
停止Oracle服务器是使用命令SHUTDOWN来完成的,执行该命令要求用户必须具有sysdba或sysoper特权。
完
小陈今天的分享就到这里啦!
期待下一期的邂逅!




