0
01.DBStartAndShutdown
62
69页
0次
墨值5
1 数据的启和关
通常所说的 Oracle Server 主要由两个部分组成Instance DatabaseInstance 是指一组
后台进程(在 Windows 上是一组线程)和一块共享内存区域Database 是指存储在磁盘上的
一组物理文件通过 Instance Database 协同,Oracle 数据库才能形成一个动态的可访问关系
型数据库系统。
本章由数据库如何启动与关闭入手,开始大家一起进入 Oracle 数据库的国度。
1. 数据库的启动
从表象来看,数据库的启动极其简单,只需要以 SYSDBA/SYSOPER 身份登陆,敲一条
startup 命令既可启动数据库。然而在这条命令之后,Oracle 需要执行一系列复杂的操作,深入
理解这些操作不仅有助于了解 Oracle 数据库的运行机制,还可以在故障发生时帮助大家快速
的定位问题的根源所在所以接下来让我们一起分析一下数据库的启动过程
Oracle 数据库启动主要包含三个步骤
! 启动数据库到 Nomount 状态
! 启动数据库到 Mount 状态
! 启动数据库到 Open 状态
完成这三个过程,数据库才能进入就绪状态,准备提供数据访问。 1-1 描述了一个数据
库从关闭状态(shutdown)到 OPEN 状态经历的这些步骤(关闭步骤与此相反,是一个逆向
过程)
0-1-1 数据库的起停步骤
《深入解析 Oracle
·2·
下面逐个来看看以上各个步骤的具体过程以及含义
1.1 动数据库到 Nomount 状态
在启动的第一步骤Oracle 首先寻找参数文件(pfile / spfile)然后根据参数文件中的设置
(如内存分配等设置)创建实例INSTANCE), 分配内存启动后台进程Nomount 的过程
也就是启动数据库实例的过程这个过程在后台是启动 Oracle 可执行程序的过程,Windows
上是执行 oracle.exe 文件进行初始化,在 Unix/Linux 上是执行 oracle 可执行文件进行初始化。
1.1.1. Oracle 的可执行文件
Windows Oracle 11g 的执行文件大小约为 86M,而 Linux Oracle 11g 的执行文件达到
145M 左右,在 Oracle 12c 版本中,Oracle 可执行文件的大小达到了约 280M,由此可见不同
版本源码复杂度的增加
D:\oracle\product\11.1.0\BIN>dir oracle.exe
2007-10-03 17:42 89,702,400 oracle.exe
[oracle@localhost bin]$ ls -al $ORACLE_HOME/bin/oracle
-rwsr-s--x 1 oracle dba 151901909 Jul 4 15:13 /oracle/product/11.1.0/bin/oracle
eygle-/home/oracle$ ls -l $ORACLE_HOME/bin/oracle
-rwsr-s--x. 1 oracle oinstall 281911888 Mar 16 23:40 /oracle/product/12.1.0/bin/oracle
Unix/Linux 上可以通过 file 命令查看 oracle 执行文件来判断 Oracle 64 位或是 32
的,以下是 Linux 平台的一个示范输出,输出显示 Oracle 32 位:
[oracle@localhost bin]$ file $ORACLE_HOME/bin/oracle
/opt/oracle/product/11.1.0/bin/oracle: setuid setgid ELF 32-bit LSB executable, Intel
80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not
stripped
Windows 上,也有可选的命令增强工具可以提供类似的功能。由于 32 位的 Oracle
据库,最多只能使用约 1.7G 的内存,会极大约束 Oracle 的性能,在生产环境中,应当使用 64
位系统,部署 64 位的 Oracle 数据库。
了解 Oracle 可执行文件还有另外一个用途, Unix/Linux 上通过 strings 命令可以将 oracle
执行文件中的字符文本转储出来,在转储的文本中可以找到很多有意思的信息,比如一些
Oracle 未公开的 Hints 信息、数据库字典基表创建信,类下一
工作:
strings $ORACLE_HOME/bin/oracle > oracle.txt
比如如下命令显示了源码中和 Oracle Database 12c 新特性 Pluggable 数据库相关的一些信
息:
eygle-/home/oracle$ grep -i pluggable oracle.txt|more
Pluggable Database Open/Close
Pluggable Database
of 69

评论

最新上传
暂无内容,敬请期待...
下载排行榜
周榜月榜总榜
近期活动
全部
暂无活动,敬请期待...
相关课程
全部
暂无课程,敬请期待...