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

oracle 手工建库

2013-01-02 23:09 399 查看
前提正常启动数据库实例的情况下:
1. 手动删除以前的老库。
停止正在运行的数据库
SQL>shutdown immediate;
进入挂载数据库(装载实例和打开控制文件,激活某些功能,用户不能存取数据库可以进行实例或数据的恢复处理)
SQL>startup mount;
开启静默状态,DBA能安全地执行某些操作,这些操作要求从当前非DBA用户中隔离出来操作。
SQL>alter system enable restricted session;
删除原来的数据库
SQL>drop database;

2. 手工建库
(1)修改oracle用户的.bash_profile编辑oracle环境

$source .bash_profile

(2)建立新实例库的pfile文件
$vi $ORACLE_HOME/dbs/init$ORACLE_SID.ora

文件带有TEST的行是加载原来的实例库一下四行得删除,及pga_aggregate_target = 94371840
background_dump_dest = /oracle/app/admin/TEST/bdump
user_dump_dest = /oracle/app/admin/TEST/udump
core_dump_dest = /oracle/app/admin/TEST/cdump
audit_file_dest = /oracle/app/admin/TEST/adump
将control_files和db_name 这行的TEST改成新的实例库名字
(3)建立密码文件
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=123456 force=y
(4)建立所需的目录
[oracle@sq ~]$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/adump
[oracle@sq ~]$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/bdump
[oracle@sq ~]$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/pfile
[oracle@sq ~]$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/cdump
[oracle@sq ~]$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/dpdump
[oracle@sq ~]$ mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/udump
此时还应创建新的数据库目录
[oracle@sq2 dbs]$ mkdir -p /oracle/app/oradata/NIMEIA/

(5)建立spfile
SQL> startup nomount
SQL> create spfile from pfile;
(6)建立新实例的数据库
vi /home/oracle/createDB.sql内容:
create database NIMEIA
logfile group 1 ('$ORACLE_BASE/oradata/NIMEIA/redo01.log') size 100m,
group 2 ('$ORACLE_BASE/oradata/NIMEIA/redo02.log') size 100m,
group 3 ('$ORACLE_BASE/oradata/NIMEIA/redo03.log') size 100m
maxlogfiles 10
maxlogmembers 5
maxloghistory 5
maxdatafiles 100
maxinstances 1
character set zhs16gbk
national character set al16utf16
datafile '$ORACLE_BASE/oradata/NIMEIA/system01.dbf' size 350m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile '$ORACLE_BASE/oradata/sysaux01.dbf' size 350m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace temp01 tempfile '$ORACLE_BASE/oradata/NIMEIA/temp01.dbf' size 50m reuse autoextend on next 1m maxsize 500m
undo tablespace undotbs1 datafile '$ORACLE_BASE/oradata/NIMEIA/undotbs01.dbf' size 500m reuse autoextend on next 1m maxsize unlimited;

(7)开始建库SQL> @/home/oracle/createDB.sql
此时的数据库字典都不能使用。
(8)建立数据库字典视图@/$ORACLE_HOME/rdbms/admin/catalog.sql
(9)建立存储过程包@/$ORACLE_HOME/rdbms/admin/catproc.sql

成功后显示
PL/SQL procedure successfully completed.

PL/SQL procedure successfully completed.

Package body created.
No errors.
Package body created.

PL/SQL procedure successfully completed.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: