更多博文请关注:没有伞的孩子必须努力奔跑(www.xuchanggang.cn)


1.手工删除数据库:
删除oracle安装目录下的:admin flash_recovery_area oradata [共三个目录]
将/etc/oratab里的文件,注释掉
删除此文件:/u01/app/oracle/product/10.2.0/db_1/dbs/orapworcl

2.手动建数据库:

明确内容:
 ORACLE_BASE=/u01/app/oracle
 ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1/
 ORACLE_SID=orcla
 sys和system等用户密码都为:oracle


(1).创建必要的相关目录【这里凡是系统不存在的目录,都创建】

mkdir /u01/app/oracle/oradata/orcla    # 建立存放数据库数据文件,控制文件,日志文件等文件的目录,与实例同名
mkdir /u01/app/oracle/admin/orcla      # 存放实例相关配置参数的目录,与实例同名
mkdir /u01/app/oracle/admin/orcla/adump   # 存放审计信息
mkdir /u01/app/oracle/admin/orcla/bdump   # 存放的是数据库的各个后台迚程的跟踪信息
mkdir /u01/app/oracle/admin/orcla/cdump   # 主要是 oracle 的内核存储记录存放位置
mkdir /u01/app/oracle/admin/orcla/udump   # 存放和特定会话相关的跟踪信息


(2).创建初始化参数文件

cd /u01/app/oracle/product/10.2.0/db_1/dbs
复制init.ora,将其改名为:initorcla.ora
修改 initorcla.ora 文件,内容如下:
db_name=orcla     #  指定数据库名称
db_block_size=8192
undo_management=auto
undo_tablespace=undotbs
sga_target=500m
# 指定控制文件,审计文件,后台文件,内核存储,用户会话等文件的路径【注意更改数据库名称】
control_files=('/u01/app/oracle/oradata/orcla/control01.ctl','/u01/app/oracle/oradata/orcla/control02.ctl')
audit_file_dest='/u01/app/oracle/admin/orcla/adump'
background_dump_dest='/u01/app/oracle/admin/orcla/bdump'
core_dump_dest='/u01/app/oracle/admin/orcla/cdump'
user_dump_dest='/u01/app/oracle/admin/orcla/udump'


(3).设置环境变量 Oracle_sid

修改/home/oracle/.bash_profile 文件,修改如下内容。
export ORACLE_SID=orcla
执行如下命令,使刚才配置生效,也可退出oracle用户,重新进入
 source /home/oracle/.bash_profile


(4).创建密码口令文件

cd /u01/app/oracle/product/10.2.0/db_1/dbs
orapwd file=orapworcla password=oracle entries=10 force=y


(5).启动数据库到 nomount(实例)状态

sqlplus / as sysdba
startup nomount;

(6).创建建库脚本,名字为/tmp/createdb.sql -- 名字自定义【此脚本可在图形化界面下,制作数据库模板,会自动生成,如果没有,就自己写了,这里是自动生成的】

CREATE DATABASE orcla  # 创建数据库
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
# 日志文件组,注意目录
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcla/redo01a.log','/u01/app/oracle/oradata/orcla/redo01b.log') SIZE 300M,
GROUP 2 ('/u01/app/oracle/oradata/orcla/redo02a.log','/u01/app/oracle/oradata/orcla/redo02b.log') SIZE 300M,
GROUP 3 ('/u01/app/oracle/oradata/orcla/redo03a.log','/u01/app/oracle/oradata/orcla/redo03b.log') SIZE 300M
MAXLOGFILES 20
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 500
MAXINSTANCES 5
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
# 系统数据文件,注意目录
DATAFILE '/u01/app/oracle/oradata/orcla/system01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
# 系统附属表,注意目录
SYSAUX DATAFILE '/u01/app/oracle/oradata/orcla/sysaux01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/orcla/users01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
# 临时表文件
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/u01/app/oracle/oradata/orcla/temp01.dbf' SIZE 300M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
# 回滚文件,与参数文件名一致
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/orcla/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;


(7).执行建库脚本

sqlplus / as sysdba
SYS> @ /tmp/createdb.sql


(8).执行 catalog 脚步本创建数据字典:比如dba_users,dba_tablespaces

SYS> @ /u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catalog;


(9).执行 catproc 创建 package 包:该脚本主要用于建立PL/SQL 功能的使用环境

SYS> @ /u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catproc;


(10).切换到system用户,执行 pupbld:创建一些基于安全考虑的表

SYS> conn system/oracle
Connected.
SYSTEM>@ /u01/app/oracle/product/10.2.0/db_1/sqlplus/admin/pupbld.sql;


(11).由初始化参数文件创建 spfile 文件: # 出于以后的安全考虑,创建spfile文件

SYS> create spfile from pfile


# 此sql待定,用于创建scott数据
utlsmtp.sql



博文如有错误,请给我留言,或发邮件给我,谢谢