oracle8手动创建数据库,关于手动创建数据库

本文详细介绍了在CentOS4.5上手动创建Oracle9i数据库环境的步骤,包括设置环境变量、创建初始化参数文件、准备目录结构、运行创建数据库脚本以及执行数据字典视图构建脚本。关键步骤包括定义ORACLE_BASE、ORACLE_HOME、ORACLE_SID等环境变量,创建口令文件,以及使用CREATEDATABASESQL语句。文章强调了过程中需要注意的文件夹设置和错误排查方法。
摘要由CSDN通过智能技术生成

一:如何手工创建数据库

Oracle运行环境:CentOs4.5

Oracle版本:oracle9i

创建前提:oracle软件已经安装

1:确定数据库的名字

2:设置环境变量,可以建立一个文件,然后利用. ./mynewdb.env执行

例:

ORACLE_BASE=/U01

ORACLE_HOME=$ORACLE_BASE/oracle

ORACLE_SID=mynewdb;

ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

PATH=$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_NLS33 PATH

LD_LIBRARY_PATH

9e9bc7aa24b5c3df1ea635803e6aca37.png

参数的说明:

ORACLE_BASE:

Specifies the directory at the top of the Oracle software. Example:

/u01/app/oracle

ORACLE_HOME:

Specifies the directory where the Oracle software is installed. The

OFArecommended value is $ORACLE_BASE/product/release. Example:

/u01/app/oracle/product/9.2                                        //安装Oracle产品的总目录,因为Oracle有很多软件

ORACLE_SID:

Specifies the instance name and must be unique for Oracle instances running

on

the same machine                                                  //可以参考我的另一篇日记什么是sid?

ORA_NLS33:

Required when creating a database with a character set other than US7ASCII.

Example:

$ORACLE_HOME/ocommon/nls/admin/data   //字符集的时候需要用

PATH:

Specifies the directories that the operating system searches to find

executables, such as

SQL*Plus.

The Oracle9iexecutables are located in $ORACLE_HOME/binand needs to be

added

to the PATHvariable.

LD_LIBRARY_PATH:Specifies

the directories for the operating system and Oracle library

//Linux名,该环境变量主要用于指定查找共享库(库)时除了默认之外的其他路径。(该在默认路径之前查找)

3:建立初始化参数,可以利用已经存在的initSID.ora文件创建新的初始化文件,利用strings语句,例如:

strings

initSID.ora > initmynewdb.ora;

$vi initnewmydb.ora

(全局替换用:%s/xxx/yyy/g,或者去除其中的*.用:%s/*\.//g)

注意记得创建其中使用到的目录。cp –R xxx/ yyy,进入单个目录rm –f *

4:准备相对应的目录,否则在建立数据库的时候会出错

现在/u01/oradata下建立相对应的文件夹

mkdir mynewdb;

cd mynewdb;

mkdir archive;

d7ffa92cf56fe4f28b2279a48004cbe5.png

在/u01/admin下

拷贝整个admin

cp –R denver/

mynewdb

注意要删除目录下原来残留的一些,进入单个目录rm –f *

注意:要在dbs目录下准备口令文件

orapwd

file=orapwmynewdb password=oracle entries=10;

5:运行create database脚本

SPOOL

dbcreate.log;

CREATE DATABASE

mynewdb

USER SYS IDENTIFIED BY oracle

USER SYSTEM IDENTIFIED BY oracle

CONTROLFILE REUSE

ARCHIVELOG

LOGFILE

GROUP 1

('/u01/oradata/mynewdb/redo01.log') SIZE 100M,

GROUP 2

('/u01/oradata/mynewdb/redo02.log') SIZE 100M,

GROUP 3

('/u01/oradata/mynewdb/redo03.log') SIZE 100M

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 100

MAXINSTANCES 1

CHARACTER SET UTF8

NATIONAL CHARACTER SET AL16UTF16

DATAFILE '/u01/oradata/mynewdb/system01.dbf'

SIZE 325M REUSE

EXTENT MANAGEMENT LOCAL

DEFAULT TEMPORARY TABLESPACE tempts1

TEMPFILE

'/u01/oradata/mynewdb/temp01.dbf'

SIZE 20M REUSE

UNDO TABLESPACE UNDOTBS1

DATAFILE

'/u01/oradata/mynewdb/undotbs01.dbf'

SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K

MAXSIZE UNLIMITED;

SPOOL OFF;附:如果文件已存在,不加reuse会报ORA-27038:所创建的文件已存在

查看错误在/U01/admin/mynewdb/bdump/alert_mynewdb.log

运行:tail –f

alert_mynewdb.log;

5:Run Scripts to

Build Data Dictionary Views

@?/rdbms/admin/catalog.sql

@?/rdbms/admin/catproc.sql

@?/sqlplus/admin/pupbld.sql

附:@表示Run的意思,?表示是ORACLE_HOME的位置,他是个变量,应该是会随着ORACLE_HOME的变化而变化的,原文如图:

0a2fb3bcc97b862ee78d8eec73be348d.png

官方文档关于catalog.sql和catproc.sql的解释,这两个是必须安装的

catalog.sql:

Creates the data dictionary and public synonyms for

many of its views

GrantsPUBLICaccess to the synonyms

catproc.sql:

Runs all scripts required for, or used with PL/SQL

建议:执行脚本前可以SPOOL log1.log记录信息,因为执行脚本时可能会出错,查找错误可以直接在log1.log下/error查看是否有错误信息,或者cat log1.log | grep err | more;

总结:手工建立数据库过程中主要遇到的问题是对应的文件夹要设置对,还有相应的文件注意不要忘了在dbs目录下建立口令文件orapwSID,还有关于CREATE DATABASE这条sql语句,我是参考官方文档上的例子的,关于创建的语法官方文档上都有说明,而且写的也很详尽,除了这些,没遇到什么大的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值