数据库启动要经过三种状态:nomount,mount,open.当数据库启动时,可以通过指定的参数来决定到什么状态。命令如下:
startup [nomount]|[mount]|open [recover ] [database][force][restricted] [pfile=filename]
如果不选,默认是open.[@more@]
1、nomount
以叫做start the instance.在这种状态下,用户只可以进行控制文件的创建和重建.启动实例需要完成以下的任务:首先读取$ORACLE_HOME/dbs下的初始化文件的参数,依照参数分配sga区,启动后台进程,打开警告日志和跟踪文件.
如果系统中有多个实例,那么必须指定sid的名称.
2、 mount
在加载数据库的时候,启动数据库.在这个时候,可以完成的维护操作有:完全的数据库恢复;更改归档日志状态;修改数据文件的名称.加载数据库完成的任务有:连接到数据库;加载初始化文件中指定的控制文件;读取控制文件中指定的数据文件和联机重做日志文件的信息;此时不检查文件是否存在等等.
3 、open
打开数据库有两种状态,normal,readonly.当以normal打开数据库时,意味着可以做任何数据库的操作.打开数据库任务有:打开在线的数据文件和联机日志文件.如果任何一个在线的数据文件和联机日志文件有错误,或者不能取出数据,那么就会产生一个数据库错误.最后一步,系统检查数据库的一致性,如果出现了数据库的不一致,就会需要数据库恢复.
数据库自动启动和停止是有指定的操作系统文件来决定的.有些是由/var/opt/tab/提供的.
4、改变数据库状态的命令:
alter database databasename mount|open [read only|read write];
5、受限状态[restricted]
在受限状态下,可以保证在做维护的操作时,没有其他的用户更改数据库.也可以通过命令修改.命令如下:
alter system [enable|disable] restricted session;
在受限状态下可以kill session.
这个命令是由进程监控进程来完成的,主要的操作是回滚用户当前事务;释放在表和行上的锁;释放用户占有的内存的资源.
5、只读状态
在这个状态下,可以完成的操作有:查询;在线或离线数据文件,而不是表空间;完成离线的表空间或数据文件的恢复;可以使用临时表空间排序.