怎样手动创建oracle数据库

Posted jzdwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样手动创建oracle数据库相关的知识,希望对你有一定的参考价值。

以下的实验室是怎样不要通过DBCA创建ORACLE 数据库,而是通过ORACLE ONLINE HELP DOCUMENT进行手动的创建数据库的具体步骤:

1,编辑Oracle profile
[[email protected] ~]# su - oracle
[[email protected] ~]$ 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数据文件的文件夹
[[email protected] ~]$ mkdir -p /u01/app/oracle/oradata/PROD/DISK1
[[email protected] ~]$ mkdir -p /u01/app/oracle/oradata/PROD/DISK2
[[email protected] ~]$ mkdir -p /u01/app/oracle/oradata/PROD/DISK3
[[email protected] ~]$ mkdir -p /u01/app/oracle/admin/PROD/{a,b,c,u,dp}dump

3,创建ORACLE数据库的password文件
[[email protected] ~]$ cd $ORACLE_HOME/dbs
[[email protected] 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
[[email protected] 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.
[[email protected] dbs]$ orapwd file=orapwPROD password=oracle entries=5 force=y;
[[email protected] 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,创建启动数据库的參数文件
[[email protected] 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,在帮助文档里查找手动创建数据库的脚本。并做对应的改动。

[[email protected] 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状态下进行创建数据库
[[email protected] 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.

到此手动创建数据库成功!








































































































以上是关于怎样手动创建oracle数据库的主要内容,如果未能解决你的问题,请参考以下文章

怎样手动的干净的删除linux上的ORACLE数据库

怎么手动把.dmp数据导入到oracle数据库中

oracle 11g 怎样创建用户

oracle怎样创建表空间和用户

怎样用创建的用户登录oracle数据库

Oracle 11g手动创建数据库(Linux平台)