分类: Oracle
2008-04-25 21:43:38
启动oracle数据库的三个台阶:nomount mount open.
首先启动到nomount状态:
[oracle@stu100 ~]$ rlwrap sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Apr 25 13:33:40 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance. SQL> startup nomount ORACLE instance started. Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes Variable Size 62916852 bytes Database Buffers 100663296 bytes Redo Buffers 2973696 bytes SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS
---------------- ------------ orcl STARTED 到此做了以下工作:
1.读参数文件
2.分配内存
3.启动后台进程
4.初始化部分v$视图。
SQL> select value from v$sparameter where name='control_files';
select value from v$sparameter where name='control_files' * ERROR at line 1: ORA-01219: database not open: queries allowed on fixed tables/views only SQL> alter database mount; 修改数据库到mount状态下。 Database altered.
mount 数据库的过程是读参数文件中描述的控制文件,校验控制文件的正确性,将控制文件的内容读到内存。一旦mount之后,就是将一个没有意义的实例和一个数据库连接在一起。可以这样理解,实例是水泵,放到哪个水塘里就会抽取哪里的数据,实例是通用的,mount的意思就是将一个通用的水泵放到指定的池塘。mount就是读控制文件,控制文件中有数据文件和日志文件的信息。
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------ orcl MOUNTED 注意数据库每一步状态的变化! 打开数据库:
SQL> alter database open;
Database altered.
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------ orcl OPEN 读控制文件中的数据文件,验证数据文件的一致性,如果不一致,使用日志文件将数据库恢复到一致状态,数据库打开后普通用户才可以访问数据库,用户的表才可见! 以只读方式打开数据库,默认的打开方式是读写。
SQL> select open_mode from v$database;
OPEN_MODE
---------- READ WRITE 通过以上实验希望大家明白oracle数据库启动三台阶,如果数据库启动故障,我们能迅速定为问题根源,并迅速排除!GOOD LUCK! 本文出自 “我爱家驹---驹魂余辉” 博客,转载请与作者联系! 本文出自 51CTO.COM技术博客 |