ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 向DBCA学习手动建库

向DBCA学习手动建库

原创 Linux操作系统 作者:hongww 时间:2010-08-03 16:11:09 1 删除 编辑

利用DBCA建库可以生成建库脚本,这一点为手工创建数据库提供了条件,按照一般逻辑,手工建库应该就是将DBCA所做的工作由DBA手工重做一遍。在DBCA建库的时候,可以看到Oracle所列出的建库工作流程:

Ø  正在创建并启动Oracle实例

Ø  正在创建数据库文件

Ø  正在创建数据字典视图

Ø  正在添加Oracle JVM

Ø  添加Oracle XML DB

Ø  正在添加Oracle Intermedia

Ø  添加EM资料档案库

Ø  正在进行数据库创建

1.      正在创建并启动Oracle实例

DBCA建库的操作日志文件位于$oracle_home/cfgtoollogs/dbca/下,而且是每个脚本的操作都有记录。在创建过程中的告警信息都在这里

接下来,从脚本中印证这些操作。

执行的起点是从.bat开始的,上面记录的第一部分内容就是创建目录结构,最为简便的方法就是依靠原先已创建的数据库目录结构模仿一下,主要有abcdu五个后台跟踪文件,oradata下数据库的物理文件目录,如果配置了闪回恢复区,还要创建flash_recovery_area目录。

执行的第二阶段是设置了oracle_sid环境变量。

执行的下一步是创建实例,使用的是oradim,登录sqlplus,执行脚本,BAT结束。

接下来就是使用orapwd创建口令文件,然后调用CreateDB.sql实际创建数据库。

CreateDB.sql的第一步就是以SYSDBA身份连接到空闲例程,然后启动刚创建好的实例,这里指定pfile的位置,在手工建库的时候这个参数文件是要先创建好的,里面的内容可以由其它参数文件修改而来。

实例成功启动到NOMOUNT后,开始创建数据库。工作流第一步到此结束。

2.      正在创建数据库文件

CREATE DATABASE命令创建数据库即可。这里有一点说明,如果使用OMF管理,那么是没有文件名显示出来的。

CREATEDBFiles.sql随后被调用。它创建的是USERS表空间,创建后执行了

Alter database default tablespace “USERS ;

在Oracle 10g之前,如果创建用户不指定缺省的数据表空间,那么用户的缺省表空间会被指向系统表空间,增加了数据库缺省数据表空间后,如果不指定,那么创建用户的缺省数据表空间会被指向这里。

3.      正在创建数据字典视图

通过CreateDBCatalog.sql创建数据字典。

它依次调用了:

Catalog.sql:create data dictionary views.must be run when connected as sysdba.

Catblock.sql:create views of oracle locks

Catproc.sql:run all sql scripts for the procedural option. must be run when connected as sysdba.

Catoctk.sql:contains scripts needed to use the PL/SQL cryptographic toolkit interface

Owminst.plb:create user ovm_sys for storing metadata.This will help in export

    还有两个以SYSTEM身份运行的SQL:

Pupbld.sql:它的作用是为SQL*PLUS服务。当在SQL*PLUS中以普通用户身份连接和使用数据库时,工具本身需要使用PRODUCT_USER_PROFILE表,我们需要登录system用户执行该SQL。

在执行pupbld之前要把当前用户(sys)转换成system,即以system账户连接数据库。因为此数据库是刚建的,所以system的口令是系统默认的口令,即manager。

SQL>connect system/manager

SQL>start D:\oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

Hlpbld.sql : 自述中,建立相关的SQLhelp表及视图 。helpbld.sql调用hlpbld.sql,往相应的表中插入帮助数据。另外,还有两个SQL,helpdrop.sql在同目录下,它的作用是删除帮助表,helpus.sql则是用英文写帮助信息。帮助文件可以使用如下语句查看:

Sqlplus system/password@hlpbld.sql helpus.sql

Helpus.sql是参数

查询时使用SQL>help即可。

重建帮助系统,只要以SYSTEM身份连接,然后执行一下hlpbld.sql脚本即可

4.      正在添加ORACLE JVM

ORACLE内置的JAVA虚拟机,并非每次都需要装这个,创建数据库时非必要。

5.      添加ORACLE XML DB

同样也不是创建一个数据库必须的。

6.      正在添加Oracle Intermedia

和WEB应用开发相关的工具,也不是创建数据库必须的。

7.      添加EM资料档案库

因为使用DB control 进行一对一的管理,所以,EM档案库必须建立。

emRepository.sql调用了emreposcre.sql来完成这一工作。

这个SQL里的内容放到后面手工创建EM中探讨。

8.      正在进行数据库创建

执行最后一个postDBCreation.sql。

首先,以SYSDBA身份连接数据库,然后创建SPFILE从PFILE中,关闭数据库,以SPFILE启动数据库,设置sysman、dbsnmp密码及解锁,继续配置EM。

注意到有一步execute utl_recomp.recomp_serial();

UTL_RECOMP包有两个存储过程:RECOMP_SERIAL和RECPMP_PARALLEL,从存储过程的名字一个是非并行,一个是并行方式。用并行方式编译失败过程速度快一些。

数据库创建完成。

以上大致地回顾一下DBCA建库的流程,从中进行梳理,就得出了手工创建数据库的流程:

1、创建必要的相关目录

C:\>mkdir D:\oracle\product\10.1.0\admin\hongww\adump

C:\>mkdir D:\oracle\product\10.1.0\admin\hongww\bdump

C:\>mkdir D:\oracle\product\10.1.0\admin\ hongww \cdump

C:\>mkdir D:\oracle\product\10.1.0\admin\hongww\dpdump

C:\>mkdir D:\oracle\product\10.1.0\admin\hongww\udump

C:\>mkdir D:\oracle\product\10.1.0\oradata\ hongww

2、参数文件

通常的做法是找一份参数文件进行修改就可以了,记得,这个参数文件要在指定的目录下,database/dbs。

3、设置环境变量Oracle_sid

Set oracle_sid=OOXX

4、创建实例

C:\>oradim –new –sid hongww –startmode auto –srvcstart system

5、创建口令文件

C:\>orapwd file=D:\oracle\product\10.1.0\db_1\database\pwdbook.ora password= entries=2

PS:password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数,关于这个值,在后面口令文件的相关文章里会做说明,还有一个force参数, 决定如果文件存在是否覆盖。

PS2:这里的命令要一行输入,中间不得换行。

6、启动数据库到nomount

Conn sys/password@XXOO as sysdba

Startup nomount

7、创建数据库

CREATE DATABASE ……

8、创建数据字典

Catalog.sql:create data dictionary views.must be run when connected as sysdba.

SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\catalog.sql

9、创建package包

Catproc.sql:run all sql scripts for the procedural option. must be run when connected as sysdba.

 SQL>start D:\oracle\product\10.1.0\db_1\rdbms\admin\catproc.sql

10、 执行pupbld

      因为要使用SQLPLUS,所以这个也要执行,以SYSTEM身份连接

SQL>connect system/manager

SQL>start D:\oracle\product\10.1.0\db_1\sqlplus\admin\pupbld.sql

11、创建spfile文件

      SQL>create spfile from pfile;

12、编译失败过程

      可以使用utlrp.sql在RDBMS/ADMIN下。

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

下一篇: 口令文件二则
请登录后发表评论 登录
全部评论

注册时间:2010-07-29

  • 博文量
    11
  • 访问量
    10674