您的位置:首页 > 数据库 > Oracle

如何手动创建oracle数据库

2014-06-03 11:34 225 查看
下面的实验室是如何不要通过DBCA创建ORACLE 数据库,而是通过ORACLE ONLINE HELP DOCUMENT进行手动的创建数据库的详细步骤:

1,编辑Oracle profile

[root@vmoel5u4 ~]# su - oracle

[oracle@vmoel5u4 ~]$ vi ./.bash_profile

PATH=$PATH:$HOME/bin

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=PROD

export PATH=$ORACLE_HOME/jdk/bin:$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

2,创建相应的ORACLE数据文件的目录

[oracle@vmoel5u4 ~]$ mkdir -p /u01/app/oracle/oradata/PROD/DISK1

[oracle@vmoel5u4 ~]$ mkdir -p /u01/app/oracle/oradata/PROD/DISK2

[oracle@vmoel5u4 ~]$ mkdir -p /u01/app/oracle/oradata/PROD/DISK3

[oracle@vmoel5u4 ~]$ mkdir -p /u01/app/oracle/admin/PROD/{a,b,c,u,dp}dump

3,创建ORACLE数据库的密码文件

[oracle@vmoel5u4 ~]$ cd $ORACLE_HOME/dbs

[oracle@vmoel5u4 dbs]$ ll

total 28

-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora

-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora

[oracle@vmoel5u4 dbs]$ orapwd

Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>

where

file - name of password file (mand),

password - password for SYS (mand),

entries - maximum number of distinct DBA and force - whether to overwrite existing file (opt),

OPERs (opt),

There are no spaces around the equal-to (=) character.

[oracle@vmoel5u4 dbs]$ orapwd file=orapwPROD password=oracle entries=5 force=y;

[oracle@vmoel5u4 dbs]$ ll

total 32

-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora

-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora

-rw-r----- 1 oracle oinstall 2048 Nov 25 20:45 orapwPROD

4,创建启动数据库的参数文件

[oracle@vmoel5u4 dbs]$ vi initPROD.ora

db_block_size=8192

db_name=PROD

control_files=('/u01/app/oracle/oradata/PROD/DISK1/control01.ctl','/u01/app/oracle/oradata/PROD/DISK2/control02.ctl')

compatible=10.2.0.1.0

processes=150

pga_aggregate_target=90m

UNDO_TABLESPACE=UNDOTBS

undo_management=AUTO

sga_target=300m

5,在帮助文档里查找手动创建数据库的脚本,并做相应的修改。

[oracle@vmoel5u4 dbs]$ vi createDB.sql

CREATE DATABASE PROD

USER SYS IDENTIFIED BY oracle

USER SYSTEM IDENTIFIED BY oracle

LOGFILE GROUP 1 ('/u01/app/oracle/oradata/PROD/DISK1/redo01a.log','/u01/app/oracle/oradata/PROD/DISK2/redo01b.log') SIZE

100M,

GROUP 2 ('/u01/app/oracle/oradata/PROD/DISK1/redo02a.log','/u01/app/oracle/oradata/PROD/DISK2/redo02b.log') SIZE

100M,

GROUP 3 ('/u01/app/oracle/oradata/PROD/DISK1/redo03a.log','/u01/app/oracle/oradata/PROD/DISK2/redo03b.log') SIZE

100M

MAXLOGFILES 15

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 100

MAXINSTANCES 1

CHARACTER SET AL32UTF8

NATIONAL CHARACTER SET AL16UTF16

DATAFILE '/u01/app/oracle/oradata/PROD/DISK1/system01.dbf' SIZE 325M REUSE

EXTENT MANAGEMENT LOCAL

SYSAUX DATAFILE '/u01/app/oracle/oradata/PROD/DISK1/sysaux01.dbf' SIZE 325M REUSE

DEFAULT TEMPORARY TABLESPACE TEMP

TEMPFILE '/u01/app/oracle/oradata/PROD/DISK1/temp01.dbf'

SIZE 20M REUSE

UNDO TABLESPACE UNDOTBS

DATAFILE '/u01/app/oracle/oradata/PROD/DISK1/undotbs01.dbf'

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

6,把数据库启动到nomount状态下进行创建数据库

[oracle@vmoel5u4 dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Sun Nov 25 21:06:32 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to an idle instance.

SQL> startup nomount;

ORACLE instance started.

Total System Global Area 314572800 bytes

Fixed Size 1219160 bytes

Variable Size 96470440 bytes

Database Buffers 213909504 bytes

Redo Buffers 2973696 bytes

SQL> @createDB.sql

Database created.

7,运行相应的数据库的基础脚本

下面的5个脚本是在sys schema下执行的:

创建数据字典视图

@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catalog.sql;(必须先执行它,才可以执行catproc.sql)

创建ORACLE中一些锁机制相关的视图

@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catblock.sql;

创建ORACLE一些存储过程和包

@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catproc.sql;

创建需要使用PL/ SQL加密工具的接口

@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catoctk.sql;

安装SQL*Plus的表PRODUCT_USER_PROFILE, 好像是与数据仓库有关的东西.

@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/owminst.plb;

下面的2个脚本是在system schema下执行的。

connect system/oracle

@/u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/pupbld.sql;

connect system/oracle

@/u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/help/hlpbld.sql helpus.sql;

8,创建spfile文件

SQL> conn / as sysdba

Connected.

SQL> create spfile from pfile;

File created.

9,关闭数据库,重新用spfile启动数据库

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 314572800 bytes

Fixed Size 1219160 bytes

Variable Size 96470440 bytes

Database Buffers 213909504 bytes

Redo Buffers 2973696 bytes

Database mounted.

Database opened.

到此手动创建数据库成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: