关于手动创建数据库

一:如何手工创建数据库

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

 

 

参数的说明:

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;

在/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的变化而变化的,原文如图:

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

catalog.sql:

Creates the data dictionary and public synonyms for many of its views 

Grants PUBLIC access 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语句,我是参考官方文档上的例子的,关于创建的语法官方文档上都有说明,而且写的也很详尽,除了这些,没遇到什么大的问题。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29840459/viewspace-1442158/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29840459/viewspace-1442158/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值