手工建立数据库

来源:互联网 发布:旅游门户网站源码 编辑:程序博客网 时间:2024/04/29 22:56

平台:WinXP SP2
数据库版本:10.2.0.1
一、不使用OMF创建数据库
1.创建数据库实例,实例名为abc(只是Windows平台需要,Unix平台不需要)
C:/WINDOWS>oradim -new -sid abc
Instance created.
2.为了sys用户可以连入数据库执行操作,先创建数据库的密码文件,密码文件的名称必须为PWDsid.ora
C:/WINDOWS>orapwd password=oracle file=F:/oracle/product/10.2.0/database/PWDabc.ora
3.创建下列目录,以存放数据文件和dump信息
#数据文件目录
F:/oracle/product/oradata/abc
#background dump目录
F:/oracle/product/admin/abc/bdump
#core dump目录
F:/oracle/product/admin/abc/cdump
#user dump目录
F:/oracle/product/admin/abc/udump
4.在listener.ora中添加下列信息,把此数据库注册在监听器中(可选)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = abc)
(ORACLE_HOME = f:/oracle/product/10.2.0)
(service=abc)
)
)

5.为了可以访问数据库,在tnsnames.ora添加下列信息
abc =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521))
(CONNECT_DATA =
(SERVER = dedicated)
(SERVICE_NAME = abc)
)
)

6.建立pfile文件F:/oracle/product/10.2.0/database/initabc.ora,文件的内容如下:
background_dump_dest='f:/oracle/product/admin/abc/bdump'
compatible='10.2.0.1.0'
control_files='F:/oracle/product/oradata/abc/control01.ctl','F:/oracle/product/oradata/abc/control02.ctl'
core_dump_dest='f:/oracle/product/admin/abc/cdump'
db_block_size=8192
db_name='abc'
db_recovery_file_dest='f:/oracle/product/flash_recovery_area'
db_recovery_file_dest_size=2147483648
pga_aggregate_target=41943040
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_max_size=167772160
sga_target=125829120
undo_management='AUTO'
undo_tablespace='UND01'
user_dump_dest='f:/oracle/product/admin/abc/udump'

7.连入数据库,并创建spfile文件
C:/WINDOWS>set ORACLE_SID=abc
C:/WINDOWS>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Apr 20 21:17:42 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an SQL instance.
SQL>create spfile from pfile;
File created.
8.启动数据库到nomount
SQL>startup nomount
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247924 bytes
Variable Size 104858956 bytes
Database Buffers 54525952 bytes
Redo Buffers 7139328 bytes
9.执行creata database脚本
SQL>@F:/oracle/product/admin/abc/create/createdb.sql
Database created.
#createdb.sql脚本的具体内容如下:
create database abc
maxlogfiles 5
maxlogmembers 5
maxloghistory 1
maxdatafiles 100
maxinstances 1
user sys identified by oracle
user system identified by oracle
logfile group 1 ('F:/oracle/product/oradata/abc/redo01.log') size 10m reuse,
group 2 ('F:/oracle/product/oradata/abc/redo02.log') size 10m reuse,
group 3 ('F:/oracle/product/oradata/abc/redo03.log') size 10m reuse
datafile 'F:/oracle/product/oradata/abc/system01.dbf' size 325m reuse
extent management local
sysaux datafile 'F:/oracle/product/oradata/abc/sysaux01.dbf' size 325m reuse
def***t temporary tablespace temp
tempfile 'F:/oracle/product/oradata/abc/temp01.dbf' size 20m reuse
undo tablespace undotbs1
datafile 'F:/oracle/product/oradata/abc/undo01.dbf' size 200m reuse
character set utf8
national character set al16utf16;
10.执行catalog.sql,创建数据库的数据字典视图
SQL>spool f:/catalog.log
SQL>@F:/oracle/product/10.2.0/RDBMS/ADMIN/catalog.sql
SQL>spool off
11.执行catproc.sql,创建执行PL/SQL程序所需的所有包
SQL>spool f:/catproc.log
SQL>@F:/oracle/product/10.2.0/RDBMS/ADMIN/catproc.sql
SQL>spool off
到此数据库abc创建完毕,可以正常使用了
注:
1.pfile文件中undo_tablespace中的名字必需与create database中的相同,否则会出现ORA-01092:ORACLE instance terminated.Disconnection forced的错误。
2.数据字典视图不是都由catalog.sql创建,部分由catproc.sql创建,如:dba_data_files