eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« Eygle的个人简历 | Blog首页 | 《循序渐进Oracle》一书出版 »

《循序渐进Oracle》第一章连载-之三

1.2 数据库创建的脚本

在DBCA的最后一个步骤,我们保存生成了创建数据库的脚本,通过手工执行这些脚本,可以在命令行完成数据库的创建工作,这可以使我们摆脱图形界面的困扰,特别是在一些不易于运行图形界面的环境。此外,很多时候通过DBCA创建数据库可能会遇到一些错误,这些错误在图形界面下可能不易判断,但是通过命令行则要容易定位得多。

1.2.1 数据库创建脚本
现在通过数据库的创建脚本来深入地了解一下数据库的创建过程。按照上面的路径找到生成的数据库创建脚本。

C:\Oracle\admin\eygle\scripts>dir
驱动器 C 中的卷是 SYSTEM
卷的序列号是 8C88-D1B4

C:\Oracle\admin\eygle\scripts 的目录
2007-01-05 15:32

.
2007-01-05 15:32 ..
2007-01-05 15:32 1,139 CreateDB.sql
2007-01-05 15:32 600 CreateDBCatalog.sql
2007-01-05 15:32 326 CreateDBFiles.sql
2007-01-05 15:32 253 emRepository.sql
2007-01-05 15:32 614 eygle.bat
2007-01-05 15:32 698 eygle.sql
2007-01-05 15:32 2,408 init.ora
2007-01-05 15:33 1,108 postDBCreation.sql

在Linux/UNIX环境下,同样存在这样一系列的脚本(以下内容来自Linux上Oracle 9204安装脚本):

[oracle@jumper scripts]$ pwd
/opt/oracle/admin/eygle/scripts
[oracle@jumper scripts]$ ll
total 24
-rw-r--r-- 1 oracle dba 713 Apr 24 2006 CreateDBCatalog.sql
-rw-r--r-- 1 oracle dba 338 Apr 24 2006 CreateDBFiles.sql
-rw-r--r-- 1 oracle dba 769 Apr 24 2006 CreateDB.sql
-rwxr-xr-x 1 oracle dba 628 Aug 18 2006 eygle.sh
-rw-r--r-- 1 oracle dba 2764 Apr 24 2006 init.ora
-rw-r--r-- 1 oracle dba 442 Apr 24 2006 postDBCreation.sql

1.2.2 创建的起点

如果通过手工执行脚本来创建数据库,需要执行的脚本为eygle.bat(在Linux/UNIX下是eygle.sh脚本),来看一下这个脚本的内容:

C:\Oracle\admin\eygle\scripts>type eygle.bat
mkdir C:\oracle\10.2.0\cfgtoollogs\dbca\eygle
mkdir C:\oracle\10.2.0\database
mkdir C:\oracle\admin\eygle\adump
mkdir C:\oracle\admin\eygle\bdump
mkdir C:\oracle\admin\eygle\cdump
mkdir C:\oracle\admin\eygle\dpdump
mkdir C:\oracle\admin\eygle\pfile
mkdir C:\oracle\admin\eygle\udump
mkdir C:\oracle\flash_recovery_area
mkdir C:\oracle\oradata
set ORACLE_SID=eygle
C:\oracle\10.2.0\bin\oradim.exe -new -sid EYGLE -startmode manual -spfile
C:\oracle\10.2.0\bin\oradim.exe -edit -sid EYGLE -startmode auto -srvcstart system
C:\oracle\10.2.0\bin\sqlplus /nolog @C:\oracle\admin\eygle\scripts\eygle.sql

这就是Oracle创建数据库的过程:
(1) 建立一系列的目录;
注意,这里建立的bdump目录是Oracle重要的警告日志的存放地点,其缺省名称为alert_.log,我们应该定期检查该文件以发现数据库的故障或错误信息。
第二个需要格外注意的是cfgtoollogs\dbca\eygle目录,在创建数据库时,主要的日志文件或输出信息会记录在该目录中,通过检查这些文件可以用来诊断创建过程中出现的一些错误。
(2) 设置ORACLE_SID环境变量;
(3) 通过oradim创建并配置实例;
(4) 通过sqlplus运行脚本开始创建数据库。


1.2.3 ORADIM工具的使用
ORADIM工具是Oracle在Windows上的一个命令行工具,用于手工进行Oracle服务的创建、修改、删除等工作。ORADIM的使用很简单,通过帮助文件可以看到常用的命令示例,此处不再赘述。

ORADIM在数据库恢复中也常被用到,很多朋友都问过这样的问题:在Windows上,如果系统崩溃了,可能数据库软件丢掉了,但是数据文件、控制文件、日志文件等都还在,该怎样来恢复Oracle数据库?

其实过程很简单,通常只要按原来的目录结构重新安装Oracle软件,然后通过ORADIM工具重建服务,就可以启动实例、加载数据库(当然相关的参数文件和口令文件等需要在$ORACLE_HOME\database目录存在)。
来看以下过程,通过ORADIM创建一个服务后,实例会随之启动:

C:\>oradim -new -sid eygle 实例已创建。

用net命令可以查看系统启动了哪些服务,看到Oracle的服务已经启动:

C:\>net start
已经启动以下 Windows 服务:
...............
OracleServiceeygle
Plug and Play
Print Spooler
命令成功完成。

如果你的系统装了一些UNIX增强工具,那么可以通过grep过滤一下:

C:\>net start |grep Oracle
OracleServiceeygle

使用ORADIM工具后,会在$ORACLE_HOME\database目录下生成一个日志文件。



历史上的今天...
    >> 2012-08-03文章:
    >> 2011-08-03文章:
    >> 2010-08-03文章:
    >> 2009-08-03文章:
    >> 2006-08-03文章:
    >> 2005-08-03文章:
           GreenBrowser开源
           Oracle10gR2中一些新特性
           Google与DBA

无觅

By eygle on 2007-08-03 14:20 | Comments (3) | Books | 1530 |

3 Comments

能否发一个pdf版?另外,代码部分字体还是比例字体,不等宽

已经找到pdf版了,在china-pub,排版很不错

我通过执行DBCA创建的脚本never.bat.执行了一个半小时都都没有执行完,就是创建一个数据库嘛。oracle到底要去做多少事情?还有啊看不到进度,也不知道执行到什么程度了。


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com