ORACLE 10G 手动建库

环境:Oracle Enterprise Linux 5.8, Oracle 10g,必须提前安装好Oracle数据库软件。

 

1.设置环境变量

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=test
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/sbin:/opt/bin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID

 

2.手工创建如下目录

mkdir -p /u01/app/oracle/admin/test/cdump
mkdir -p /u01/app/oracle/admin/test/bdump
mkdir -p /u01/app/oracle/admin/test/udump
mkdir -p /u01/app/oracle/admin/test/adump
mkdir -p /u01/app/oracle/oradata/test

chmod -R 755 /u01
chown -R oracle:oinstall /u01

 

3. 创建最简单的initTEST.ora文件

cd $ORALE_HOME/dbs

cat init.ora | grep -v ^# | grep -v ^$ > initSID.ora


$ vi $ORACLE_HOME/dbs/inittest.ora

#以下为建库必需参数


control_files=(/u01/app/oracle/oradata/test/control01.ctl,/u01/app/oracle/oradata/test/control02.ctl,/u01/app/orac
le/oradata/test/control03.ctl)
undo_management = AUTO
undo_tablespace = UNDOTBS1
db_name = TEST
db_unique_name = TEST
db_block_size = 8192
sga_max_size = 320M
sga_target = 320M


#以下为一般建库需设置的参数,不设置就采用默认值


audit_file_dest = /u01/app/oracle/admin/test/adump        #不设置默认$ORACLE_HOME/rdbms/adump
background_dump_dest = /u01/app/oracle/admin/test/bdump   #不设置默认$ORACLE_HOME/rdbms/log
core_dump_dest = /u01/app/oracle/admin/test/cdump         #不设置默认$ORACLE_HOME/rdbms/dbs
user_dump_dest = /u01/app/oracle/admin/test/udump         #不设置默认$ORACLE_HOME/rdbms/log

 

4. 启动数据库到nomount状态

此时已经有可供启动的初始化参数文件了,将数据库启动到nomount状态。

SQL> startup nomount;

 

5. 创建spfile

实例启动以后立刻创建spfile,然后重启一次数据库,让数据库能够使用到spfile。

SQL> create spfile from pfile;

 

6.创建密码文件

用orapwd程序创建orapwTEST密码文件,如果记不清楚orapwd程序怎么用,直接敲orapwd然后回车,会告诉你语法是怎样的。

orapwd file=$ORACLE_HOME/dbs/orapwtest password=oracle entries=5

 

7. 要快速找到例句要查的是Administrator’s Guide这本文档中第二章 Creating an Oracle Database -> Creating the database -> Issue the CREATE DATABASE Statement,
这里有完整的一条SQL语句,copy出来,然后按照实际需求编辑相应的地方, 然后执行(NOTE:修改MAXLOGFILES,undo,default)。

具体如下:

[oracle@vrhtest dbs]$ vi createdb.sql


CREATE DATABASE test
    USER SYS IDENTIFIED BY oracle
    USER SYSTEM IDENTIFIED BY oracle
    LOGFILE GROUP 1 ('/u01/app/oracle/oradata/test/redo01.log') SIZE 100M,
            GROUP 2 ('/u01/app/oracle/oradata/test/redo02.log') SIZE 100M,
            GROUP 3 ('/u01/app/oracle/oradata/test/redo03.log') SIZE 100M
    MAXLOGFILES 30
    MAXLOGMEMBERS 5
    MAXLOGHISTORY 1
    MAXDATAFILES 200
    MAXINSTANCES 2
    CHARACTER SET ZHS16GBK
    NATIONAL CHARACTER SET AL16UTF16
    DATAFILE '/u01/app/oracle/oradata/test/system01.dbf' SIZE 500M REUSE EXTENT MANAGEMENT LOCAL
    SYSAUX DATAFILE '/u01/app/oracle/oradata/test/sysaux01.dbf' SIZE 500M REUSE
    DEFAULT TEMPORARY TABLESPACE tempts1
       TEMPFILE '/u01/app/oracle/oradata/test/temp01.dbf'
       SIZE 200M REUSE
    UNDO TABLESPACE undotbs1
       DATAFILE '/u01/app/oracle/oradata/test/undotbs1.dbf'
       SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
   
SQL> startup nomount
ORACLE instance started.

Total System Global Area  335544320 bytes
Fixed Size                  2020640 bytes
Variable Size             113248992 bytes
Database Buffers          218103808 bytes
Redo Buffers                2170880 bytes

SQL> @createdb.sql

Database created.

SQL>
   
8.创建缺省表空间

[oracle@vrhtest dbs]$ sqlplus / as sysdba

SQL> CREATE SMALLFILE TABLESPACE CLS DATAFILE '/u01/app/oracle/oradata/test/cls01.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

SQL> ALTER DATABASE DEFAULT TABLESPACE CLS;

 

9. 运行catalog.sql(建数据字典视图) 和 catproc.sql(建存储过程包)

只需要运行这两个SQL,都在$ORACLE_HOME/rdbms/admin中,创建必须的数据字典和内置的package等

SQL>spool /home/oracle/cat.log

SQL>@?/rdbms/admin/catalog.sql

SQL>@?/rdbms/admin/catproc.sql

 

10.创建SQL PLUS属性和帮助(可选)

connect system/oracle

@?/sqlplus/admin/pupbld.sql

@?/sqlplus/admin/help/hlpbld.sql helpus.sql

connect /as sysdba

@?/rdbms/admin/catblock.sql(建锁相关的视图)

@?/rdbms/admin/catoctk.sql (建密码工具包dbms_crypto_toolkit)

@?/rdbms/admin/owminst.plb(建工作空间管理相关对象,dbms_wm)

 

最终可以查看一些状态

 

select open_mode, name from v$database;

select current_scn, CHECKPOINT_CHANGE# from v$database;

select startup_time,status from v$instance;

 

 

参考:http://kuqlan.itpub.net/post/38575/527026

http://hi.baidu.com/edeed/item/b2a5a2cb7d88ea0fad092f89

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值