ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux 下的手动建库

Linux 下的手动建库

原创 Linux操作系统 作者:jquery 时间:2010-06-21 00:58:23 0 删除 编辑

Linux 下的手动建库:

当时场景: 当前服务器没有显卡,传统的DBCA向导失效;

好处:对于初学者,通过手动建库过程,帮助理解oracle 的体系结构

必备知识点:

1:oracle的目录结构下的重要文件的含义:

$ORACLE_BASE/oradata/ $ORACLE_SID: .ctl .dbf .log

$ORACLE_BASE/admin/$ORACLE_SID: {a,b,c,d,u}dump

$ORACLE_HOME/dbs/ : spfile pfile orapw

$ORACLE_HOME/bin tool(oracle 一些相关的工具)

$ORACLE_HOME/rdbms sql 和plssql(创建数据字典和一些pl/sql)

(如果这个不太明白,就先学习linux 系统下的oracle数据库的正确安装)

2:pfile和spfile 的一些知识

pfile :

oracle8i以前用的,可以用vi进行编辑,修改其内容后,数据库下次启动时生效

位于:$ORACLE_HOME/dbs/

可以用来作为spfile的备份

习惯于: init$ORACLE_SID.ora的命名

spfile;

9i 后的数据库引入的

位于服务器上,并由服务器自动维护,不能手动的vi编辑,是二进制文件,能动 态的调整很多参数的值

能用于 rman数据备份

习惯于: spfile$ORACLE_SID.ora的命名

手动建库的过程:

1:假设ORACLE_ID=bill,vim 一个 initbill.ora的数据库启动文件:


compatible=10.2.0.1.0

db_name=bill

instance_name=bill

sga_max_size=500m

sga_target=300m

undo_tablespace=undotbsa

undo_management=auto

job_queue_processes=10

background_dump_dest=/u01/app/oracle/admin/bill/bdump

core_dump_dest=/u01/app/oracle/admin/bill/cdump

user_dump_dest=/u01/app/oracle/admin/bill/udump

control_files='/u01/app/oracle/oradata/bill/control01.ctl', '/u01/app/oracle/oradata/bill/control02.ctl', '/u01/app/oracle/oradata/bill/control03.ctl'


注意:上述用到的{b,c,u}dump目录必须先建立好,undo_tablespace表空间名就是下创建库脚本中的要对应一致


按如下方式执行:

2:建立密码文件:

orapwd file=/u01/app/oracle/product/10.2.0/db_1/dbs/orapwbill password=oracle force=y

3:新建一个建库脚本文件:create_billdatabase.sql

create database bill

maxinstances 2

maxdatafiles 200

maxlogfiles 32

maxlogmembers 5

maxloghistory 290

user sys identified by oracle

user system identified by oracle

character set utf8

national character set al16utf16

datafile '/u01/app/oracle/oradata/bill/system01.dbf' size 300m

sysaux datafile '/u01/app/oracle/oradata/bill/sysaux01.dbf' size 200m

undo tablespace undotbsa datafile '/u01/app/oracle/oradata/bill/undotabsa.dbf' size 100m

default temporary tablespace temp tempfile '/u01/app/oracle/oradata/bill/temp01.dbf' size 100m

logfile

group 1 '/u01/app/oracle/oradata/bill/redo01.log' size 100m,

group 2 '/u01/app/oracle/oradata/bill/redo02.log' size 100m;



手动写好pfile和create_billdatabase.sql文件后:

1:指定ORACLE_SID :

export ORACLE_SID=bill

2:加载instance (指定pfile文件)

startup nomount pfile=”/u01/app/oracle/product/10.2.0/db_1/dbs/initbill.ora”;

如果这步不明白,学习数据库起动过程

3:运行建库脚本:

@?/create_billdatabase.sql

4:

以sys用户运行以下两个脚本:( 创建数据字典和一些pl/sql)

@?/rdbms/admin/catalog

@?/rdbms/admin/catproc

conn system/oracle 以system用户运行以下面这个脚本

@?/sqlplus/admin/pupbld ----屏蔽登录时候错误提醒

调试过程遇到问题

1:报错: 数据库已经为mount 状态了,但是却无法正常关闭

可以用shutdown abort强制关闭

2:只要instance能正常起启动,建库脚本中的问题都可以在alert_$ORACLE_SID.log中找到相应的信息,根据这些信息对脚本进行修改


最后,刚学手动建库这项过程,写的这些脚本可能会一些地方不太明白,但没太大关系,

但一定要有耐心,对问题进行思考,直到把数据库创建成功;因为它能帮助我们深入理解数据库的体系结构


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

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-06-21

  • 博文量
    1
  • 访问量
    2709