返回总目录 上一页 目录页 下一页

SCO UNIX环境下重建Oracle7数据库


  ORACLE7安装成功之后便建有一数据库ora7或or71,如果自己做应用开发,则可能要重建 数据库或建一新的数据库以满足自己的需要,而ORACLE重建数据库不但要用SQL命令create database创建,还要指定大量的参数,如控制文件、日志文件、参数文件、数据库实例名。 并且要建立相关的系统段、回滚段、用户段等,及其对应的数据文件。其步骤如下:

  以oracle用户登录UNIX系统

  SCOSYSV!LOGIN:oracle

  备份后删除原数据库文件和控制文件

$cd ./dbs

$rm*.dbf

$rm*.ctl

$cd /*进入oracle用户目录*/

编辑文件.profile,在$ORACLE_HOME目录中(假设为/u/oracle)

$vi .profile

#插入以下各行,设置环境变量

ORACLE_HOME=/u/oracle;export ORACLE_HOME

TK2DEV=ANSI

#ORACLE_SID是库实例名,建议四个字母或数字

ORACLE_SID=olib

PATH=/usr/bin:/u/bin:/u/sbin:$ORACLE_HOME/bin

exprot TK2DEV

exprot ORACLE_SID

exprot PATH

:wq! 存盘退出

进入ORACLE_HOME/dbs目录设置参数文件

$cd ./dbs

编辑init$ORACLE_SID.ora文件

$cp init.ora initolib.ora #用原始的初始化文件设置

$cp init_0.ora initolib_0.ora #原始的初始化文件用于create database

$vi initolib_0.ora

#设置参数文件

#ifile=$ORACLE

_HOME/dbs/config

$ORACLE_SID.ora

ifile =/u/oracle/dbs/configolib.ora

rollback_segments =( ) #先设回滚段为空,在initolib.ora中为#(r01,r02,r03,r04

:qw!存盘退出

编辑config$ORACLE_SID.ora文件

$vi configolib.ora

# 设置控制文件

control_files=(/u/oracle/dbs/ctr1olib.ctl #三个控制文件最好

/u/oracle/dbs/ctr2olib.ctl,#放在不同目录或

/u/oracle/dbs/ctr3olib.ctl)#磁盘上

db_block_size=2048 #可自行确定

db_name=olib #设置数据库名

:wq! 存盘退出

编辑建库SQL命令文件

$cd ./dbs

$cp crora7.sql crolib.sql #用原始的SQL文件编辑

$cp cr2ora7.sql cr2olib.sql #用原始的SQL文件编辑

$vi crolib.sql

set termout on

set echo on

spool/u/oracle/dbs/crolib.lst /*输出到文件crilib.lst*/

connect internal /*dba连接到internal*/

/*用参数文件initolib_0.ora启动数据库实例,但不安装实例*/

startup nomount pfile=/u/oracle/dbs/initolib_0.ora

create database"olib" /*数据库名*/

maxinstances 1 /*可同时打开数据库实例的最大值*/

maxlogfiles 16 /*可建的日志文件组的最大值*/

datafile /*指定用于SYSTEM表空间的数据文件*/

`/u/oracle/dbs/systolib.dbf' size 25M

logfile /*指定日志文件,最好放在不同磁盘上*/

`/u/oracle/dbs/log1olib.dbf' size 500k,

`/u/oralce/dbs/log2olib.dbf' size 500k,

`/u/oracle/dbs/log3olib.dbf' size 500k;

disconnect

spool off

<EOF:>

编辑建数据字典与表空间SQL命令文件

$vi cr2olib.sql

…/*由于文件较大,未录。需要者请与作者联系*/

开始建库

重新以ORACLE用户登录,让.profile文件起作用.

$cd ./dbs /*进入/dbs目录*/

$sqldba mode=line /*以行命令方式启动DBA工具*/

SQLDBA>@CROLIB.SQL /*执行建库SQL命令文件/

SQLDBA>@CR2OLIB.SQL /*执行建数据字典SQL命令文件*/

SQLDBA>EXIT

$

此时已建立数据库olib,并建用户sys/change_on_install和sys-tem/manager

如需创建其他用户可以用system用户进入SQLDBA后

SQLDBA>CREATE USER MYUSER IDENTIFIED BY MYPAS-WORD

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

QUOTA UNLIMITED ON USERS

QUOTA 5M ON SYSTEM

QUOTA 5M ON TEMP

;

再授予用户特权

SQLDBA>GRANT DBA TO MYUSER;

这样重建数据库的过程就全部完成,之后就可以建立表空间和自己设计的表进行开发或 应用了。

如想用原命令$dbstart启动新的数据库只要修改文件oratab即可。

$vi /etc/oratab

olib :/u/oracle:Y /*第一个参数为数据库名,

第二个参数为$ORACLE_HOME路径,

第三个参数为自定义$ORACLE_SID库名,即第

一个参数的存在情况是Yes.

*/

:wq! /*存盘退出*/

这样就可用$dbstart启动了。

返回

w w w. 1 6 3 1 6 4 .c n

返回总目录 上一页 目录页 下一页