ITPub博客

首页 > 数据库 > Oracle > 手工创建oracle数据库的过程

手工创建oracle数据库的过程

原创 Oracle 作者:sunwgneuqsoft 时间:2007-12-01 09:28:15 0 删除 编辑

数据库: Oracle 8i R2 (8.1.6) 安装路径:d:oracleora81 数据库实例:mytest 数据库全局名称:mytest.world

步骤一:手工创建相关目录

这些目录是新建数据库的一些必要的文件夹之类,比如初始化参数文件夹,udump文件夹,数据文件文件夹等等,下面列出的是一个最基本的目录表

[@more@]

数据库: Oracle 8i R2 (8.1.6) 安装路径:d:oracleora81 数据库实例:mytest 数据库全局名称:mytest.world

步骤一:手工创建相关目录

这些目录是新建数据库的一些必要的文件夹之类,比如初始化参数文件夹,udump文件夹,数据文件文件夹等等,下面列出的是一个最基本的目录表

d:oracleadminmytestarch

d:oracleadminmytestbdump

d:oracleadminmytestcreate

d:oracleadminmytestpfile

d:oracleadminmytestudump

d:oracleoradatamytest

注意:建立以上文件夹比较简单的方法是,将D:OracleOra81ADMIN文件夹下面的sample文件直接拷贝到d:oracleadmin下,然后修改为你要建立的数据库的名称即可。数据文件文件夹就一个文件夹,创建过程比较简单。

步骤二:手工创建数据库初始化文件

你可以手工创建一个数据库初始化文件,也可以从其他已有数据库中拷贝一个初始化文件然后稍加修改即可。

其中需要修改的初始化文件中的参数只要有:

db_name = "mytest"

db_domain = world

instance_name = mytest

service_names = mytest.world

control_files = (………………………………)

background_dump_dest =

utl_file_dir =

还有其他一些与路径有关系的参数。由于初始化参数文件比较大就不详细列举了。

步骤三:准备创建数据库的脚本,主要有两个脚本

D:OracleOra81RDBMSADMINBUILD_DB.SQL

D:OracleOra81RDBMSADMINBUILDALL.SQL

其中BUILD_DB.SQL这个文件里面的代码是创建数据库的。这个文件里面需要进行修改以满足新的数据库要求,以下为修改后的BUILD_DB.SQL

startup nomount pfile=d:oracleadminmytestpfileinitmytest.ora

create database mytest

controlfile reuse

logfile 'D:Oracleoradatamytestredo01.log' size 1M reuse,

'D:Oracleoradatamytestredo02.log' size 1M reuse,

'D:Oracleoradatamytestredo03.log' size 1M reuse,

'D:Oracleoradatamytestredo04.log' size 1M reuse

datafile 'D:Oracleoradatamytestsystem01.dbf' size 100M reuse autoextend on

next 100M maxsize 500M

character set ZHS16GBK;

create rollback segment rb_temp storage (initial 100 k next 250 k);

create tablespace users

datafile 'D:Oracleoradatamytestusers01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace rbs

datafile 'D:Oracleoradatamytestrbs01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace temp

datafile 'D:Oracleoradatamytesttemp01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace oem_repository

datafile 'D:Oracleoradatamytestoemrep01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

create tablespace indx

datafile 'D:Oracleoradatamytestindx01.dbf' size 50M reuse autoextend on

next 50M maxsize 100M;

alter rollback segment rb_temp online;

alter user system temporary tablespace temp;

alter user system default tablespace users;

create public rollback segment rb1 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb2 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb3 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb4 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb5 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb6 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb7 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb8 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb9 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb10 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb11 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb12 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb13 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb14 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb15 storage(initial 50K next 250K)

tablespace rbs;

create public rollback segment rb16 storage(initial 50K next 250K)

tablespace rbs;

自己建立数据库的时候可以修改里面的各项参数来满足实际的要求。

另一个文件BUILDALL.SQL是我们一会要运行的文件,可以打开看一下,里面包括很多语句,第一个就是建立数据库的,其他的就是一些数据字典的建立,数据字典视图的建立,同义词的建立,scott用户的建立等等,有兴趣的可以自己多看看。这个文件主要需要修改的就是一些路径,检查一下是否将要执行的文件都存在,是否路径都正确。下面就是这个已经修改完毕的BUILDALL.SQL文件的例子

spool build.log

SET TERMOUT OFF

SET ECHO OFF

connect internal

@D:Oracleadminmytestbuild_db.sql

@D:OracleOra81RDBMSadmincatalog.sql

@D:OracleOra81RDBMSadmincatsnmp.sql

connect internal

@D:OracleOra81RDBMSadmincatexp7.sql

@D:OracleOra81RDBMSadmincatproc.sql

@@scott.sql

connect internal

@@demo.sql

connect system/manager

@D:OracleOra81RDBMSadmincatdbsyn.sql

@D:OracleOra81dbspupbld.sql

connect internal

@D:OracleOra81RDBMSadmincaths.sql

@D:OracleOra81RDBMSadminoramts.sql

connect internal

alter rollback segment rb_temp offline;

shutdown;

spool off

步骤四:为新数据库建立新的实例

对数据库实例进行操作的命令是oradim。在dos环境下可以看到oradim命令的详细解释:

C:>oradim

ORADIM: <命令> [选项]。请参阅相关手册。

请输入下列命令之一:

请指定下列参数,创建例程:

-NEW -SID sid | -SRVC 服务 [-INTPWD 口令] [-MAXUSERS 数量] [-STARTMODE a|m]

[-PFILE 文件] [-TIMEOUT ]

请指定下列参数,编辑例程:

-EDIT -SID sid [-NEWSID sid] [-INTPWD 口令] [-STARTMODE auto|manual] [-PFILE

文件名]

[-SHUTMODE a|i|n] [-SHUTTYPE srvc|inst|srvc,inst] [-TIMEOUT ]

请指定下列参数,删除例程:

-DELETE -SID sid | -SRVC 服务名称

请指定下列参数,启动服务和例程:

-STARTUP -SID sid [-USRPWD 口令] [-STARTTYPE srvc|inst|srvc,inst] [-PFILE

件名]

请指定下列参数,关闭服务和例程:

-SHUTDOWN -SID sid [-USRPWD 口令] [-SHUTTYPE srvc|inst|srvc,inst] [-SHUTMODE

a | i | n]

请指定下列参数,查询帮助:-? | -h | -help

我们建新的实例需要用的命令是oradim –new –sid这个命令,以下就是建立新实例的命令:

c:>oradim –new –sid mytest –intpwd admin –pfile d:oracleadminmytestpfileinit.ora

其中mytest为新实例的名称,adminsys的初始密码,pfile后面的参数为新数据库的初始化参数的路径。这个命令执行以后会发现内存的需求增加了,在服务里面多了一个名字为mytest的服务。

步骤五:修改oracle_sid

打开命令提示框,在里面输入

c:>set oracle_sid=mytest

这个步骤是修改现在系统默认的oracle_sid,这一步骤在系统中已经存在数据库的机器上面尤为重要

步骤六:执行建立数据库的命令

可以在svrmgrl中或者在sqlplus中以internalsys的用户登陆,执行刚才编辑好的文件

sql>@BUILDALL.SQL

总结:经过以上六部就可以完成手工建立数据库。手工建立数据库比用dbca建立的时候有更大的灵活性。

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

上一篇: 行链接和行迁移
下一篇: 视图的依赖性
请登录后发表评论 登录
全部评论
  • 博文量
    56
  • 访问量
    759879