在Oracle中建库,通常有两种方法。一是使用Oracle的建库工具DBCA,这是一个图形界面工具,使用起来方便且很容易理解,因为它的界面友好、美观,而且提示也比较齐全。在Windows系统中,这个工具可以在Oracle程序组中打开(”开始”—“程序”—“ Oracle - OraDb10g_home1”—“ Configuration and Migration Tools”—“ Database Configuration Assistant”),也可以在命令行(”开始”—“运行”—“cmd”)工具中直接输入dbca来打开。另一种方法就是手工建库,下面我会一一举例说明。
第一:手工建库
手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库需要经过几个步骤,每一个步骤都非常关键。它包括:
1、 创建必要的相关目录
2、 创建初始化参数文件
3、 设置环境变量Oracle_sid
4、 创建实例
5、 创建口令文件
6、 启动数据库到nomount(实例)状态
7、 执行建库脚本
8、 执行catalog脚本创建数据字典
9、 执行catproc创建package包
10、 执行pupbld
11、 由初始化参数文件创建spfile文件
12、 执行scott脚本创建scott模式
做完了以上的步骤之后就可以使用“SQL>alter database open;”打开数据库正常的使用了。下面,我将具体地把以上的几个步骤用实验展开来讲。
oracle10g客户端安装步骤实验系统平台:Windows XP 数据库系统版本:Oracle Database 10G
Oracle的安装路径:D盘 创建的数据库名称:book
1、打开命令行工具,创建必要有相关目录
C:/>mkdir D:/oracle/product/10.2.0/admin/book
C:/>mkdir D:/oracle/product/10.2.0/admin/book/bdump
C:/>mkdir D:/oracle/product/10.2.0/admin/book/udump
C:/>mkdir D:/oracle/product/10.2.0/admin/book/cdump
C:/>mkdir D:/oracle/product/10.2.0/admin/book/pfile
C:/>mkdir D:/oracle/product/10.2.0/admin/book/create
C:/>mkdir D:/oracle/product/10.2.0/oradata/book
上面创建目录的过程也可以在Windows的图形界面中去创建。其中D:/oracle/product/10.2.0/admin/book目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。最重要的两个子目录是bdump和udump目录,bdump目录存放的是数据库运行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件到原因。udump目录存放和特定会话相关的跟踪信息。D:/oracle/product/10.2.0/oradata/book目录存放各种数据库文件,包括controlfile、datafile、logfile。
2、创建初始化参数文件
数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此,初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。
创建初始化参数文件可以通过拷贝现有的初始化参数文件并将其做适当的修改即可,从而不必要用手工去一句一句地写出来,因为初始化参数文件的结构体系基本上都是一样的。在我们安装Oracle的时候,系统已经为我们安装了一个名为orcl的数据库,于是我们可以从
它那里得到一份初始化参数文件。打开D:/oracle/product/10.2.0/admin/orcl/pfile,到a文件,把它拷贝到D:/oracle/product/10.2.0/bd_1/databse下,并将其改名为a。
注意:不是拷贝到其他路径。启动实例时会去database目录下寻初始化文件。使用dbca生产的数据库仅仅在database目录下生成一个导航性init文件,真正的信息存储在其他位置。
接着用记事本的方式打开a,修改以下的内容:
db_domain="" ------数据库域名
db_name=book
control_files=("D:/oracle/product/10.2.0/oradata/l", "D:/oracle/product/10.2.0/oradata/l", "D:/oracle/product/10.2.0/oradata/l")
undo_management=AUTO ------Undo空间管理方式
undo_tablespace=UNDOTBS1 ------注意此处的“UNDOTBS1”要和建库脚步本中对应
background_dump_dest=D:/oracle/product/10.2.0/admin/book/bdump ------后台进程跟踪文件生成的位置
core_dump_dest=D:/oracle/product/10.2.0/admin/book/cdump
user_dump_dest=D:/oracle/product/10.2.0/admin/book/udump
3、打开命令行,设置环境变量oracle_sid
C:/>set oracle_sid=book
设置环境变量的目的地是在默认的情况下,指定命令行中所操作的数据库实例是book。
4、创建实例(即后台控制服务)
C:/>oradim –new –sid book
oradim是创建实例的工具程序名称,-new表明执行新建实例,-delete表明执行删掉实例,-
sid指定实例的名称。
5、创建口令文件
C:/>orapwd file=D:/oracle/product/10.2.0/db_1/a password=bookstore entries=5
orapwd是创建口令文件的工具程序名称,file参数指定口令文件所在的目录和文件名称,password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数,当然还有一个force参数,表示是否强制覆盖。
请注意,这里的命令要一行输入,中间不得换行,否则会出现不必要的错误。
口令文件是专门存放sys用户的口令,因为sys用户要负责建库、启动数据库、关闭数据库等特殊任务,把以sys用户的口令单独存放于口令文件中,这样数据库未打开时也能进行口令验证。
6、启动数据库到nomount(实例)状态
C:/>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 12月 23 10:04:11 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>connect sys/bookstore as sysdba ---这里是用sys连接数据库
已连接到空闲例程
SQL>startup nomount pflile=D:/oracle/product/10.2.0/bd_1/a
ORACLE 例程已经启动。
Total System Global Area 285212672 bytes
Fixed Size 1248552 bytes
Variable Size 71303896 bytes
Database Buffers 205520896 bytes
Redo Buffers 7139328 bytes
Fixed Size 1248552 bytes
Variable Size 71303896 bytes
Database Buffers 205520896 bytes
Redo Buffers 7139328 bytes
SQL>
7、执行建库脚本
执行建库脚本,首先要有建库的脚本。(去哪建库脚本呢?我又没有!)不用着急,请接着往下看。
得到一个符合自己要求的建库脚本有两种方法,一种方法是在自己的电脑上用DBCA来建,接照它的提示一步步地去做,在做到第十二步的时候,请选择“生成建库脚本”,然后就大功告成,你就可以到相应的目录上去到那个脚本并适当地修它便可便用。另一种方法就是自己手工去写一份建库脚本,这也是这里要见意使用的方法,用记事本编辑如下的内容,并将其保存为文件名任取而后缀名为(*.sql)的SQL脚本,这里保存到E盘根本录下且文件名称为book.sql。
Create database book
datafile 'D:/oracle/product/10.2.0/oradata/book/system01.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited
extent management local
sysaux datafile 'D:/oracle/product/10.2.0/oradata/book/sysaux01.dbf'
size 120M reuse autoextend on next 10240K maxsize unlimited
default temporary tablespace temp
tempfile 'D:/oracle/product/10.2.0/oradata/book/temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited
undo tablespace "UNDOTBS1" --请注意这里的undo表空间要和参数文件对应
datafile 'D:/oracle/product/10.2.0/oradata/book/undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论