ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 数据库的启动

数据库的启动

原创 Linux操作系统 作者:yuecaibo 时间:2012-03-05 23:55:05 0 删除 编辑

数据库启动的阶段
nomount
mount
open


一步到位的方法
 startup = nomount + mount + open
 
数据库的启动分 3 个阶段
1、nomount:只加载实例
 查看数据库状态:select instance_name,status from v$instance; ==> STARTED
     select * from v$sgainfo; ==> 与内存相关的
 如何启动:在停止状态 ==>  startup nomount
 数据库作了什么:1.读取参数文件
   2.产生警报日志
   3.分配了内存
   4.后台进程启动
 需要什么条件:(1)参数文件,目的分配内存和后台进程;
       (2)实例管理的目录,目的写警报日志
 我们可以作什么: 1)查看部分动态性能视图,即v$等(参数与内存和后台进程相关的视图)
   2)修改初始化参数
   3)创建数据库
   4)重新创建控制文件
 SYS@ora10g> startup nomount
 ORACLE instance started.

 Total System Global Area  230686720 bytes
 Fixed Size      1218676 bytes
 Variable Size     75499404 bytes
 Database Buffers   150994944 bytes
 Redo Buffers      2973696 bytes
 SYS@ora10g> select instance_name,status from v$instance;

 INSTANCE_NAME   STATUS 
 ------------------------ ----------
 ora10g    STARTED

 SYS@ora10g>

2、mount
 如何启动:(1)startup mount
  (2)已经启动的状态,从nomount到mount状态   ==> alter database mount
 数据库作了什么:从参数文件中获得控制文件的位置 加载控制文件到内存
 
 需要什么条件:需要所有的控制文件都在,并且状态是一致的
 控制文件在哪:由初始化参数 control_file 决定,该参数指向几个控制文件,数据库就需要几个文件
 我们可以作什么: (1)可以查看所有动态性能视图(v$xxx) 但不能查询数据字典
   (2)可以移动数据文件和联机日志文件
   (3)可以备份还原恢复数据库
   (4)可以作数据库级别的 offline 和 online ,但不能作表空间的 offline 和 online
   (5)可以修改数据库的归档模式
   (6)可以打开和关闭闪回数据库的功能

3、open
 如何启动:从mount状态修改到open状态 ==>alter database open
 数据库作了什么:按照控制文件的指针寻找到数据库文件和联机日志文件,并且要校验文件的有效性
 需要什么条件:需要所有的物理文件都在,并且是好的
 控制文件在哪:由初始化参数 control_file 决定,该参数指向几个控制文件,数据库就需要几个文件
 我们可以作什么:
   数据文件 日志文件都已打开 随意查看 修改使用
   但有些操作只能在mount下和nomount下完成 例如改归档模式就只能在mount
   open并不是一切皆可
   nomount mount open没有子集包含的关系.
    
 alter database open;  --不是所有数据库都可以使用 要保证数据文件日志文件是健康的一致的
 alter database open read only; --所有oracle数据库都可以使用此方式
 只能查询不能修改数据
 可以执行本地管理的表空间的磁盘排序
 select open_mode from v$database;   --查看数据库打开模式
4、受限会话访问模式:(只有拥有restricted session权限的用户才可以创建会话)
 alter system enable restricted session;
 管理员授权:
 grant restricted session to scott;  --授予权限
 revoke restricted session from scott;  --回收权限

 

 

实验启动空实例


创建参数文件 pfile
 包含参数
  db_name=test
  shared_pool_size=100M
 修改环境变量
  $ORACLE_SID=test
  
 sqlplus /nolog
 conn / as sysdba
 startup nomount;

实验证明
 如果有多个参数文件存在 由$ORACLE_SID的值决定使用哪一个参数文件

如果orcl实例和test实例都启动 怎么连接指定的实例?

实验证明
 $ORACLE_SID是操作系统和实例间的关系纽带

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24756465/viewspace-717771/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 密码文件
下一篇: 数据库的停止
请登录后发表评论 登录
全部评论

注册时间:2012-03-03

  • 博文量
    42
  • 访问量
    37660