更多博文请关注:没有伞的孩子必须努力奔跑(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
博文如有错误,请给我留言,或发邮件给我,谢谢