如何手工创建Oracle数据库

日期: 2008-06-14 来源:TechTarget中国

  今天,我在测试机器上来了个误操作rm * backup/*,把正在运行的数据库中的数据文件全部删除了,真是郁闷!还好这个是给我们新人们测试玩的,要不然就死定了!在此也做一个提醒,身为DBA,要永远记住什么慎用或者禁止使用rm命令,万不得以的情况下,使用时在敲enter也要看了又看、慎重又慎重才行!好了,费话不说了,下面请看我的过程。


  Red Hat Enterprise 3 + Oracle 10g Release 2
  $su – oracle


  1、设置系统环境变量


  ORACLE_HOME=/opt/oracle/product/10.2
  ORACLE_BASE=/opt/oracle
  ORACLE_SID=dbtest
  ……


  2、系统规划


  实例名称ORACLE_SID=dbtest


  数据库名称DB_NAME=dbtest


  3、手工创建如下目录


  /opt/oracle/admin/dbtest/cdump
  /opt/oracle/admin/dbtest/bdump
  /opt/oracle/admin/dbtest/udump
  /opt/oracle/admin/dbtest/pfile
  /opt/oracle/oradata/dbtest/
  /opt/oracle/oradata/dbtest/archive


  4、建立密码文件


  orapwd file=/opt/oracle/product/10.2/dbs/orapwd_dbtest password=superman


  5、修改参数文件


  格式:/opt/oracle/product/10.2/dbs/init.ora


  实例:/opt/oracle/product/10.2/dbs/initdbtest.ora


  内容如下:




dbtest.__db_cache_size=331350016 
dbtest.__java_pool_size=4194304
dbtest.__large_pool_size=8388608
dbtest.__shared_pool_size=138412032
dbtest.__streams_pool_size=0
*._kgl_large_heap_warning_threshold=8388608
*.audit_file_dest=’/opt/oracle/admin/dbtest/adump’
*.background_dump_dest=’/opt/oracle/admin/dbtest/bdump’
*.compatible=’10.2.0.1.0’
*.control_files=’/opt/oracle/oradata/dbtest/control01.ctl’,
  ’/opt/oracle/oradata/dbtest/control02.ctl’,
  ’/opt/oracle/oradata/dbtest/control03.ctl’ 
*.core_dump_dest=’/opt/oracle/admin/dbtest/cdump’
*.db_2k_cache_size=33554432
*.db_block_size=8192
*.db_domain=’’
*.db_file_multiblock_read_count=128
*.db_files=4000
*.db_name=’dbtest’
*.db_recovery_file_dest_size=4294967296
*.db_recovery_file_dest=’’
*.log_archive_dest=’/opt/oracle/oradata/dbtest/archive’
*.log_checkpoints_to_alert=FALSE
*.open_cursors=300
*.parallel_&#101xecution_message_size=65535
*.parallel_max_servers=128
*.pga_aggregate_target=209715200
*.processes=150
*.recyclebin=’OFF’
*.remote_login_passwordfile=’EXCLUSIVE’
*.replication_dependency_tracking=FALSE
*.session_cached_cursors=100
*.sga_target=500m
*.shared_pool_size=100m
*.undo_management=’AUTO’
*.undo_retention=0
*.undo_tablespace=’UNDOTS’
*.user_dump_dest=’/opt/oracle/admin/dbtest/udump’
*.workarea_size_policy=’AUTO’
_allow_resetlogs_corruption=true


  可将此文件复制到:/opt/oracle/admin/dbtest/pfile/init.ora


  6、登陆oracle


  > sqlplus “/ as sysdba”


  7、启动实例


  SQL> startup nomount pfile=/opt/oracle/admin/dbtest/pfile/init.ora


  8、创建数据库的脚本
  





create DATABASE dbtest
LOGFILE
GROUP 1 (’/opt/oracle/oradata/dbtest/redo01.log’,


’/opt/oracle/oradata/dbtest/redo01_1.log’) size 100m reuse,
GROUP 2 (’/opt/oracle/oradata/dbtest/redo02.log’,


’/opt/oracle/oradata/dbtest/redo02_1.log’) size 100m reuse,
GROUP 3 (’/opt/oracle/oradata/dbtest/redo03.log’,


’/opt/oracle/oradata/dbtest/redo03_1.log’) size 100m reuse
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXLOGHISTORY 200
MAXDATAFILES 500
MAXINSTANCES 5
ARCHIVELOG
charACTER SET UTF8
NATIONAL charACTER SET UTF8
DATAFILE ’/opt/oracle/oradata/dbtest/system01.dbf’ SIZE 1000M EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE ’/opt/oracle/oradata/dbtest/sysaux01.dbf’ SIZE 1000M
UNDO TABLESPACE UNDOTS DATAFILE ’/opt/oracle/oradata/dbtest/undo.dbf’ SIZE 500M
DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE


’/opt/oracle/oradata/dbtest/temp.dbf’ SIZE 500M


  
  9、运行如下文件(安装下面的先后顺序)


  /opt/oracle/product/10.2/rdbms/admin/catalog.sql
  /opt/oracle/product/10.2/rdbms/admin/catproc.sql


  10、创建相关表空间与用户


  create TABLESPACE USERS DATAFILE ’/opt/oracle/oradata/dbtest/users01.dbf’ SIZE 1000M;—数据表空间
  create TABLESPACE INDX DATAFILE ’/opt/oracle/oradata/dbtest/indx01.dbf’ SIZE 1000M;—在建立索引的时候把此表空间作为存储空间,即单独用一个表空间来存储索引,这是个好习惯,虽然我们没有办法建立一个默认的索引表空间!
  create USER test IDENTIFIED BY test DEFAULT TABLESPACE users ;—测试用户
  GRANT CONNECT,RESOURCE TO test;


  11、一点注意的地方


  1>相关文件的目录要设置正确,有数据文件,控制文件,参数文件等,还有就是它们的位置要与控制文件中指定的要一致。


  2>init.ora中的undo_tablespace的名字必须要与create database的相同,包括大小写等注意。否则很麻烦,报的错误你都不知道是不是在忽悠你!总之,一句话,控制文件中的内容要和init文件中的内容以及要和实际文件的实际情况要相同。


  3>分析数据库出错可以到/opt/oracle/admin/dbtest/bdump/alert_dbtest.log中查找。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐