手动创建数据库(简单版)10G

 

 尝试了DBCA的傻瓜式的创建数据库,想理解一下创建数据库时,DBCA干了什么呢??那就手工吧^_^
我这个过程比较简单,而且是非归档模式的

1.首先设置相应的Oralce环境变量,我创建的数据库名字是test
export ORACLE_BASE=/opt/ora10g
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=test
注意这个是我的目录位置,用时要改

2. 创建需要的诊断目录,这些目录都是ORACLE进程遇到错误或用户手动TRACE时需要的。
mkdir -p $ORACLE_BASE/admin/test/adump
mkdir -p $ORACLE_BASE/admin/test/bdump
mkdir -p $ORACLE_BASE/admin/test/cdump
mkdir -p $ORACLE_BASE/admin/test/udump
mkdir -p $ORACLE_BASE/admin/test/pfile
创建oracle的数据文件目录
mkdir -p $ORACLE_BASE/oradata/test

3. 创建ORACLE的参数文件$ORACLE_HOME/dbs/inittest.ora ,我把用DBCA创建的spfile的内容输出到了inittest.ora里,
算是偷懒把,内容如下:

test.__db_cache_size=79691776
test.__java_pool_size=4194304
test.__large_pool_size=4194304
test.__shared_pool_size=75497472
test.__streams_pool_size=0
audit_file_dest='/opt/ora10g/admin/test/adump'
background_dump_dest='/opt/ora10g/admin/test/bdump'
compatible='10.2.0.1.0'
control_files='/opt/ora10g/oradata/test/control01.ctl','/opt/ora10g/oradata/test/control02.ctl','/opt/ora10g/oradata/test/control03.ctl'
core_dump_dest='/opt/ora10g/admin/test/cdump'
db_block_size=8192
db_domain=''
db_file_multiblock_read_count=16
db_name='test'
db_recovery_file_dest='/opt/ora10g/flash_recovery_area'
db_recovery_file_dest_size=2147483648
dispatchers='(PROTOCOL=TCP) (SERVICE=testXDB)'
job_queue_processes=10
nls_language='ENGLISH'
open_cursors=300
pga_aggregate_target=16777216
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_target=167772160
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_dump_dest='/opt/ora10g/admin/test/udump'

4.创建密码文件
[oracle@GG ~]$ orapwd file=$ORACLE_HOME/dbs/orapwtest password=oracle entries=5

5.创建oracle的建库脚本 createdb.sql,内容如下:
spool createdb.log;
create database test
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE
'/opt/ora10g/oradata/test/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/opt/ora10g/oradata/test/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/opt/ora10g/oradata/test/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/opt/ora10g/oradata/test/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/opt/ora10g/oradata/test/redo1.dbf') size 10m,
GROUP 2 ('/opt/ora10g/oradata/test/redo2.dbf') size 10m,
GROUP 3 ('/opt/ora10g/oradata/test/redo3.dbf') size 10m;
spool off;

6.数据库创建完成后,再创建ORACLE的数据字典。(“?”就是$ORACLE_HOME
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/sqlplus/admin/pupbld.sql

7、卸载数据库。至于这步不可缺少,如果你对刚才创建的数据库不满意,kill it。
卸载数据库的条件(1)受限模式restrict(2)挂载数据库mount
conn / as sysdba

select * from global_name; --看看是不是刚才创建的数据库名字
shutdown immediate
startup restrict mount;
drop database;
rm -R $ORACLE_BASE/admin/test
rm -R $ORACLE_BASE/oradata/test
注意:用这种方式删除数据库只删除控制文件,数据文件和重做日志文件,但不删除文件夹、注册项、
     有关数据库的配置文件,如果以前进行过冷备份的话就可以进行恢复

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值