Oracle DBA学习笔记-STARTUP详解
2017-02-16 17:01
337 查看
点击打开链接
Oracle DBA学习笔记-STARTUP详解
说明:参考数据库版本:10.0.2
一、命令解析
STARTUP options | upgrade_options
options为:[FORCE] [RESTRICT] [PFILE=filename] [QUIET] [ MOUNT [dbname] | [ OPEN [open_options] [dbname] ] | NOMOUNT ], NOMOUNT、MOUNT、OPEN为startup的三个阶段,不能在命令中同时存在。其中,open_options为:READ {ONLY
| WRITE [RECOVER]} | RECOVER。
upgrade_options为:[PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]
www.2cto.com
1、FORCE解析:强制打开数据库,在open之前会先执行shutdown,相当于shutdown abort; startup open。在当前实例正在运行的情况下,如果不使用FORCE的话,startup时会报错。FORCE可以在调试环境或非生产环境中使用,需慎用。
2、RESTRICT解析:以此模式打开的数据库只有拥有RESTRICTED SESSION系统权限的用户才能连接。打开后,可以使用ALTER
SYSTEM命令将该状态设为disable,以关闭restricted将数据库正常打开。
3、PFILE=filename解析:使用指定的文件中的参数打开实例。在未使用PFILE的情况下,startup以默认参数文件中的参数打开。在UNIX系统中,该文件默认为$ORACLE_HOME/dbs/init$ORACLE_SID.ora;在Windows系统中,该文件默认为%ORACLE_HOME%\database\initSID.ora。
4、QUIET解析:使用该选项将致使实例在打开过程中不显示SGA的相关信息
5、MOUNT dbname解析:以MOUNT方式打开实例,如果未指定dbname,则打开以参数文件中DB_NAME参数指定的数据库。
6、OPEN解析:以OPEN方式打开实例
7、NOMOUNT解析:以NOMOUNT方式打开实例
8、RECOVER解析:该选项可以引导startup在打开实例之前进行完全恢复,与RECOVER DATABASE命令的功能相同。若要开启自动恢复,可将AUTORECOVERY参数值设为ON。如果redo日志文件未在指定位置,在根据提示指定备用的日志文件后,即使未开启自动恢复,recovery仍可继续进行。
9、UPGRADE解析:以OPEN UPGRADE方式打开实例,并且设定特定参数值,使得能够运行upgrade脚本。只有在第一次打开一个新版本的数据库时才可使用UPGRADE选项。当使用该选项时,运行upgrade脚本可将当前安装的数据库版本升级为一个更新的版本。完成upgrade后,数据库需关闭和正常重启。
10、DOWNGRADE解析:以OPEN DOWNGRADE方式打开实例,并且设定特定参数,似的能够运行downgrade脚本。当使用该选项时,运行downgrade脚本可将当前安装的数据库版本降为一个更旧的版本。完成downgrade后,数据库需关闭和正常重启。
www.2cto.com
二、使用说明
1、必须以SYSOPER或SYSDBA身份连接才有权限执行startup
2、未带任何参数的startup相当于 STARTUP OPEN
3、STARTUP OPEN RECOVER 即使在恢复失败的情况下,仍旧会加载并打开实例
三、实例和数据库的开启
STARTUP会分三步开启数据库,分别为:1、Start and instance(NOMOUNT);2、Mount the database(MOUNT);3、Open the database(OPEN)
1、Start and instance
在NOMOUNT状态下,ORACLE开启一个实例,它会读取SPFILE或者PFILE指定参数文件中已定义好的初始参数值。进而分配 SGA 共享内存区并创建后台进程。可以使用RESTRICT和FORCE选项开启实例。在RESTRICT模式下,只允许DBA做以下工作:
执行结构维护,如重建索引;
执行数据库文件的导入导出;
执行数据库装载;
临时阻止用户使用数据。
2、Mount the database
以MOUNT方式加载数据库,实例会根据初始化参数CONTROL_FILES指定的值找到并打开控制文件,从控制文件中获取数据文件和重做日志文件的信息。在此状态下,数据库仍旧处于关闭状态,只允许具有数据库管理权限的部分用户对数据库进行操作,例如:
重命名数据文件;
添加、撤销或重命名重做日志文件;
启动和禁止重做日志归档;
执行全部的数据库恢复。
2.1 装载RAC
可以设置初始化参数CLUSTER_DATABASE为true,以装载多个数据库。默认情况下该初始化参数值为false,即将以独占的方式装载数据库。在第一个实例以CLUSTER_DATABASE=TRUE装载数据库之后,后续的实例也以CLUSTER_DATABASE=TRUE装载数据库。
2.2 装载副本数据库(standby database)
www.2cto.com
副本数据库是主数据库的一个完全相同的副本,可以为灾难继续提供数据库的可用性。副本数据库永远都处于RECOVERY模式。只能使用ALTER DATABASE命令将数据库以standby模式装载,在standby模式下应用主数据库产生的归档重做日志。只能以READ ONLY打开(OPEN)副本数据库
2.3 装载克隆数据库(clone database)
克隆数据库是专门用于表空间时间点恢复(point-in-time recovery)的数据库副本。在执行时间点恢复时,装载克隆数据库并将数据库恢复到预期的时间,则将从克隆数据库导入元数据(metadata)到主数据库、复制表空间中的数据文件到主数据库
3、Open the database
以OPEN方式打开数据库,至此数据库才算完全打开。数据库在打开时打开在线(online)数据文件和重做日志文件。如果表空间在上一次数据库关闭时处于offline状态,则在重新打开数据库时该表空间依旧保持offline状态。如果有数据文件或者重做日志文件存在异常,则ORACLE将返回错误。在打开数据库时,实例会试图获取undo表空间。如果初始化参数UNDO_MANAGEMENT值为AUTO,则实例自动管理UNDO。初始化参数UNDO_MANAGEMENT默认值为MANUAL。如果使用表空间管理UNDO,则会自动管理UNDO,此为推荐模式;如果使用回滚段(rollback
segment)管理UNDO空间,则使用MANUAL方式管理。如果数据库非正常关闭,并且存在分散的有疑议的事务,无论是已提交还是已回滚,当你重新打开数据库并完全恢复时,后台进程RECO能够自动地、立即地、永久地完成此工作。
四、示例
1、 STARTUP
以默认参数文件(SPFILE)开启实例,装载默认的数据库,并打开数据库。
www.2cto.com
2、 STARTUP OPEN dbname
以默认参数文件(SPFILE) 开启实例,装载数据库dbname,并打开数据库。
3、 STARTUP FORCE RESTRICT MOUNT
4、 STARTUP PFILE=init_dbname.ora NOMOUNT
5、 STARTUP FORCE RESTRICT PFILE=init_dbname.ora OPEN dbname
Oracle DBA学习笔记-STARTUP详解
说明:参考数据库版本:10.0.2
一、命令解析
STARTUP options | upgrade_options
options为:[FORCE] [RESTRICT] [PFILE=filename] [QUIET] [ MOUNT [dbname] | [ OPEN [open_options] [dbname] ] | NOMOUNT ], NOMOUNT、MOUNT、OPEN为startup的三个阶段,不能在命令中同时存在。其中,open_options为:READ {ONLY
| WRITE [RECOVER]} | RECOVER。
upgrade_options为:[PFILE=filename] {UPGRADE | DOWNGRADE} [QUIET]
www.2cto.com
1、FORCE解析:强制打开数据库,在open之前会先执行shutdown,相当于shutdown abort; startup open。在当前实例正在运行的情况下,如果不使用FORCE的话,startup时会报错。FORCE可以在调试环境或非生产环境中使用,需慎用。
2、RESTRICT解析:以此模式打开的数据库只有拥有RESTRICTED SESSION系统权限的用户才能连接。打开后,可以使用ALTER
SYSTEM命令将该状态设为disable,以关闭restricted将数据库正常打开。
3、PFILE=filename解析:使用指定的文件中的参数打开实例。在未使用PFILE的情况下,startup以默认参数文件中的参数打开。在UNIX系统中,该文件默认为$ORACLE_HOME/dbs/init$ORACLE_SID.ora;在Windows系统中,该文件默认为%ORACLE_HOME%\database\initSID.ora。
4、QUIET解析:使用该选项将致使实例在打开过程中不显示SGA的相关信息
5、MOUNT dbname解析:以MOUNT方式打开实例,如果未指定dbname,则打开以参数文件中DB_NAME参数指定的数据库。
6、OPEN解析:以OPEN方式打开实例
7、NOMOUNT解析:以NOMOUNT方式打开实例
8、RECOVER解析:该选项可以引导startup在打开实例之前进行完全恢复,与RECOVER DATABASE命令的功能相同。若要开启自动恢复,可将AUTORECOVERY参数值设为ON。如果redo日志文件未在指定位置,在根据提示指定备用的日志文件后,即使未开启自动恢复,recovery仍可继续进行。
9、UPGRADE解析:以OPEN UPGRADE方式打开实例,并且设定特定参数值,使得能够运行upgrade脚本。只有在第一次打开一个新版本的数据库时才可使用UPGRADE选项。当使用该选项时,运行upgrade脚本可将当前安装的数据库版本升级为一个更新的版本。完成upgrade后,数据库需关闭和正常重启。
10、DOWNGRADE解析:以OPEN DOWNGRADE方式打开实例,并且设定特定参数,似的能够运行downgrade脚本。当使用该选项时,运行downgrade脚本可将当前安装的数据库版本降为一个更旧的版本。完成downgrade后,数据库需关闭和正常重启。
www.2cto.com
二、使用说明
1、必须以SYSOPER或SYSDBA身份连接才有权限执行startup
2、未带任何参数的startup相当于 STARTUP OPEN
3、STARTUP OPEN RECOVER 即使在恢复失败的情况下,仍旧会加载并打开实例
三、实例和数据库的开启
STARTUP会分三步开启数据库,分别为:1、Start and instance(NOMOUNT);2、Mount the database(MOUNT);3、Open the database(OPEN)
1、Start and instance
在NOMOUNT状态下,ORACLE开启一个实例,它会读取SPFILE或者PFILE指定参数文件中已定义好的初始参数值。进而分配 SGA 共享内存区并创建后台进程。可以使用RESTRICT和FORCE选项开启实例。在RESTRICT模式下,只允许DBA做以下工作:
执行结构维护,如重建索引;
执行数据库文件的导入导出;
执行数据库装载;
临时阻止用户使用数据。
2、Mount the database
以MOUNT方式加载数据库,实例会根据初始化参数CONTROL_FILES指定的值找到并打开控制文件,从控制文件中获取数据文件和重做日志文件的信息。在此状态下,数据库仍旧处于关闭状态,只允许具有数据库管理权限的部分用户对数据库进行操作,例如:
重命名数据文件;
添加、撤销或重命名重做日志文件;
启动和禁止重做日志归档;
执行全部的数据库恢复。
2.1 装载RAC
可以设置初始化参数CLUSTER_DATABASE为true,以装载多个数据库。默认情况下该初始化参数值为false,即将以独占的方式装载数据库。在第一个实例以CLUSTER_DATABASE=TRUE装载数据库之后,后续的实例也以CLUSTER_DATABASE=TRUE装载数据库。
2.2 装载副本数据库(standby database)
www.2cto.com
副本数据库是主数据库的一个完全相同的副本,可以为灾难继续提供数据库的可用性。副本数据库永远都处于RECOVERY模式。只能使用ALTER DATABASE命令将数据库以standby模式装载,在standby模式下应用主数据库产生的归档重做日志。只能以READ ONLY打开(OPEN)副本数据库
2.3 装载克隆数据库(clone database)
克隆数据库是专门用于表空间时间点恢复(point-in-time recovery)的数据库副本。在执行时间点恢复时,装载克隆数据库并将数据库恢复到预期的时间,则将从克隆数据库导入元数据(metadata)到主数据库、复制表空间中的数据文件到主数据库
3、Open the database
以OPEN方式打开数据库,至此数据库才算完全打开。数据库在打开时打开在线(online)数据文件和重做日志文件。如果表空间在上一次数据库关闭时处于offline状态,则在重新打开数据库时该表空间依旧保持offline状态。如果有数据文件或者重做日志文件存在异常,则ORACLE将返回错误。在打开数据库时,实例会试图获取undo表空间。如果初始化参数UNDO_MANAGEMENT值为AUTO,则实例自动管理UNDO。初始化参数UNDO_MANAGEMENT默认值为MANUAL。如果使用表空间管理UNDO,则会自动管理UNDO,此为推荐模式;如果使用回滚段(rollback
segment)管理UNDO空间,则使用MANUAL方式管理。如果数据库非正常关闭,并且存在分散的有疑议的事务,无论是已提交还是已回滚,当你重新打开数据库并完全恢复时,后台进程RECO能够自动地、立即地、永久地完成此工作。
四、示例
1、 STARTUP
以默认参数文件(SPFILE)开启实例,装载默认的数据库,并打开数据库。
www.2cto.com
2、 STARTUP OPEN dbname
以默认参数文件(SPFILE) 开启实例,装载数据库dbname,并打开数据库。
3、 STARTUP FORCE RESTRICT MOUNT
4、 STARTUP PFILE=init_dbname.ora NOMOUNT
5、 STARTUP FORCE RESTRICT PFILE=init_dbname.ora OPEN dbname
相关文章推荐
- [Oracle DBA学习笔记] STARTUP详解
- ORACLE DBA学习笔记--日志文件(使用LogMiner分析日志)
- ORACLE DBA学习笔记--使用LOGON TRIGGER限制用户登陆
- ORACLE DBA技术学习笔记
- Oracle DBA学习日记笔记
- Oracle DBA的学习(笔记)
- ORACLE DBA学习笔记--启动和关闭数据库
- Oracle Core 学习笔记一 -- Redo 和 Undo 机制详解
- OracleDBA+性能优化8日游笔记——第二天(二)之Oracle体系架构详解
- Oracle Core 学习笔记一 -- Redo 和 Undo 机制详解
- Oracle DBA 数据库备份与恢复学习笔记
- ORACLE DBA学习笔记--撤消表空间的管理
- Oracle 9i DBA Fundamentals I 学习笔记(八)
- Oracle 9i DBA Fundamentals I 学习笔记(一)
- Oracle Core 学习笔记一 -- Redo 和 Undo 机制详解(转载)
- ORACLE DBA技术学习笔记续1
- ORACLE DBA学习笔记--管理归档日志文件
- Oracle 9i DBA Fundamentals I 学习笔记(五)
- ORACLE DBA学习笔记--表空间的管理(tablespace) [转]
- Oracle 9i DBA Fundamentals I 学习笔记(七)