在项目过程中,难免会遇到需要手动建库的情况。而本文主要介绍在常见的Windows环境下,如何手动建库。
环境介绍:
操作系统: Windows7 64位
数据库版本:Oracle 11gR2
下面,以建SID为TESTDB的数据库为例,介绍手动建库的每个环节。
以本机为例,本机的Oracle根路径为:E:\app\SANMSUNG。新库创建时,为了方便管理,相关路径也建在同级路径下。
(1) 在admin路径下创建TESTDB文件夹
在TESTDB文件夹下创建一下子文件夹
下面介绍下这几个文件路径的作用。
adump:存放审计信息
bdump:bdump目录存放的是数据库动行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。
cdump:数据库遇到异常时用于存放异常信息。
create:不详
pfile:存放初始化参数文件。
scripts:不详
udump:放置sql trace之后的session的trace文件。
(2) 在oradata文件夹下创建TESTDB文件夹
(3)在flash_recovery_area文件夹下创建TESDB文件夹
这里需要指出的是,需要创建的初始化参数文件为pfile。在介绍如何创建之前,先简单提下初始化参数文件的作用。Oracle的初始化参数文件有两种,分别是:文本型参数文件pfile,二进制参数文件spfile。其实,这两者作用相同。均是存放数据库启动时需要的各项参数,如内存,存储空间分配等。
pfile文件的创建,需要从现有的pfile文件入手。
在Oracle时,系统以预装了一个SID为orcl的数据库,因此从该库中可以得到一份初始化参数文件。在路径:E:\app\SANMSUNG\admin\orcl\pfile下,现存一份初始化参数文件名为:init.ora。
创建的步骤如下:
(1) 拷贝init.ora到“E:\app\SANMSUNG\product\11.2.0\dbhome_1\database”路径下,并在更名为“initTESTDB.ora”。
(2) 编辑“initTESTDB.ora”文件。
使用文本编辑器打开该文件,内容如下。需要修改的部分,有以下两点:
db_name = TESTDB –指定数据库名称
control_files=(“E:\app\SANMSUNG\oradata\TESTDB\control01.ctl”, “E:\app\SANMSUNG\flash_recovery_area\TESTDB\control02.ctl”)
– 指定控制文件的完整路径,注意该文件现并未被创建。
dispatchers=”(PROTOCOL=TCP) (SERVICE=orclXDB)”
compatible=11.2.0.0.0
diagnostic_dest=E:\app\SANMSUNG
memory_target=1146093568
audit_file_dest=E:\app\SANMSUNG\admin\orcl\adump
audit_trail=db
remote_login_passwordfile=EXCLUSIVE
db_domain=microsoft.com
db_name=TESTDB
control_files=(“E:\app\SANMSUNG\oradata\TESTDB\control01.ctl”, “E:\app\SANMSUNG\flash_recovery_area\TESTDB\control02.ctl”)
db_recovery_file_dest=E:\app\SANMSUNG\flash_recovery_area
db_recovery_file_dest_size=4039114752
open_cursors=300
undo_tablespace=UNDOTBS1
processes=150
db_block_size=8192
以上初始化参数文件即算创建完毕。如果部分参数不合时宜,则可待建库完毕后再行修改。
打开CMD命令,输入命令:set ORACLE_SID=TESTDB
在CMD命令行中输入命令:oradim -new -sid TESTDB
执行完毕后,打开系统服务可查询到所创建的TESTDB数据库服务。
Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令。
打开CMD命令,输入命令行:
orapwd file=E:\app\SANMSUNG\product\11.2.0\dbhome_1\database\PWDTESTDB.ora password=oracle entries=2
注意,entries参数指定数据库拥用DBA权限的用户的个数,该参数可由用户指定。
完成以上前期工作后,启动实例。这里有两点需要注意:
(1) 仅启动到NOMOUNT状态。
(2)连接数据库时的dba权限
执行如下建库语句,创建相关数据库文件。
CREATE DATABASE TESTDB
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 (‘E:\app\SANMSUNG\oradata\TESTDB\redo01.log’) SIZE 100M,
GROUP 2 (‘E:\app\SANMSUNG\oradata\TESTDB\redo02.log’) SIZE 100M,
GROUP 3 (‘E:\app\SANMSUNG\oradata\TESTDB\redo03.log’) SIZE 100M
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
DATAFILE ‘E:\app\SANMSUNG\oradata\mydb\SYSTEM01.DBF’ SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ‘E:\app\SANMSUNG\oradata\TESTDB\SYSAUX01.DBF’ SIZE 325M REUSE
DEFAULT TEMPORARY TABLESPACE TEMP
TEMPFILE ‘E:\app\SANMSUNG\oradata\TESTDB\TEMP01.DBF’ SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
UNDO TABLESPACE UNDOTBS1
DATAFILE ‘E:\app\SANMSUNG\oradata\TESTDB\undotbs01.dbf’ SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
以上语句可以拷贝到CMD命令行执行,也可以复制到文本文件中用@执行。
在CMD命令行下执行:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql
在CMD命令行下执行:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql
这个环节可以省去,当然如果需要练习环境则这个环节最好不要省去。
在CMD命令行中输入:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql
以上便完成了windows下的oracle手动建库,但对oracle的了解还停留在入门。现在也唯有这四个字来总结:未完待续!