启动与关闭Oracle数据库
1.启动数据库的步骤
?? 1)启动实例??? startup nomount:读取参数文件,分配内存空间,启动后台进程,打开跟踪文件和报警文件
?? 2)装载数据库 startup mount:打开控制文件
?? 3)打开数据库? startup open:打开数据文件和重做日志文件
2.关闭数据库的步骤
?? 1)关闭数据库:将日志缓存中的内容写入重做日志文件,将脏数据写入数据文件,关闭重做日志文件和数据文件
?? 2)卸载数据库:关闭控制文件
?? 3)终止实例:收回内容,终止后台进程
3.启动选项
?? startup [ nomount | mount | open | force ] [ restrict ] [ pfile=filename ]
? 1) nomount
???? a)用此选项后可执行的工作:
??????? A.运行一个创建新数据库的脚本
????? ? B.重建控制文件
???? b)可访问的视图:只能访问那些与SGA区相关的数据字典视图
??????? 如:v$parameter, v$sga, v$option, v$process, v$session, v$version, v$instance
? 2) mount
???? a)用此选项后可执行的工作:
????????A.重新命名,增加,删除数据文件和重做日志文件
??????? B.执行数据库的完全恢复
??????? C.改变数据库的归档模式
?????b)可访问的视图:除了可以访问那些与SGA区相关的数据字典视图,还可以访问与控制文件相关的视图
??????? 如:v$thread, v$controlfile, v$database, v$datafile, v$logfile
? 3) open
????????? 这是startup的默认选项,这是正常的启动模式。任何具有 create session 权限的用户都能够
??????连接到数据库并进行常规的访问????
? 4) force
?????????? 当正常启动时遇到了困难可以使用此选项。如数据库服务器突然断电后的启动
?????????? 无论数据库处于什么模式下,都可以使用此选项,即force选项首先异常关闭数据库,然后重新启动它,
???? 而不需要事先使用shutdown语句关闭数据库
??5) restrict?
????? 该选项启动数据库并把它置入open模式,但此时只有拥有 restricted session 权限的用户才能访问数据库
?????? a)用此选项后可执行的工作:
????????? A.执行数据库数据的导入或导出操作
????????? B.执行数据装载操作(用 sql*loader)
????????? C.暂时阻止一般的用户使用数据
????????? D.进行数据库移植或升级
? 6) pfile
????????? 数据库实例启动时必须要读取的初始化参数文件。如果没有指定,oracle会在默认位置读取spfile文件,
??????如果不存在则在默认位置读取pfile文件,如果还没找到则启动失败。
4.关闭选项
?? shutdown [ normal | transactional | immedate | abort ]
?? 1) normal
?
?????? oracle将执行如下操作
?????? A.阻止任何用户建立新的连接
?????? B.等待当前所有正在连接的用户主动断开连接。正在连接的用户能够继续他们的工作,甚至能提交新事务
?????? C.直到所有用户都断开连接,才进行关闭,卸载数据库,并终止实例
?? 2) transactional
?
?????? oracle将执行如下操作
?????? A.阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务
?????? B.等待当前所有未提交的事务提交完毕,然后立即断开用户的连接
?????? C.直到所有用户都断开连接,才进行关闭,卸载数据库,并终止实例
???3)?immediate
?
?????? 通常在如下情况下使用此选项
?????? A.即将启动自动数据备份操作
?????? B.即将发生电力供应中断
?????? C.数据库本身或某个数据库应用程序发生异常,并且此时无法通知用户主动断开连接,
????????? 或者用户根本无法执行断开操作
?
???????oracle将执行如下操作
?????? A.阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务
?????? B.任何当前未被提交的事务均被回退
?????? C.oracle不再等待用户主动断开连接,而是直接进行关闭,卸载数据库,并终止实例
???4) abort
?
?????? 如果按前三种选项都无法成功关闭数据库,就说明数据库存在严重错误,这是只能用 abort 选项了
????? ?通常在如下情况下使用此选项
???? ? A.数据库本身或某个数据库应用程序发生异常,并且使用其他选项均无效
?????? B.出现紧急情况,需要立刻关闭数据库(比如将在1分钟内发生停电)
?????? C.启动数据库的过程中产生错误
?
???????oracle将执行如下操作
?????? A.阻止任何用户建立新的连接,同时阻止当前连接的用户开始任何新的事务
?????? B.立即终止当前正在执行的SQL语句
?????? C.任何当前未被提交的事务均被回退
?????? C.立即断开所有用户的连接,关闭,卸载数据库,并终止实例
?????? 注意:使用此选项可能会对数据造成丢失,所以需要在下次启动时进行恢复???
5.转化启动模式与修改数据库状态 使用 alter database 命令
???模式的修改只能由低到高
?? 1). alter database mount??:为实例装载数据库
?? 2). alter database open :打开数据库
?? 3). 当数据库处于mount状态时,改变数据库的运行方式
????? 3.1) 改变归档模式
???????????? A. archive log list :检查归档模式
???????????? B. alter database archivelog | noarchivelog :修改归档模式
????? 3.2) 改变读写方式
???????????? alter database open read only??
???4). 暂停和重新开始数据库
??????? 4.1) alter system suspend
??????? 4.2)?alter system resume
?? 5). 启用和禁用受限会话模式
??????? 5.1) alter system enable restricted session
??????? 5.2) alter system disable restricted session
??