首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 开发技术 >> 正文

详细介绍手工创建oracle数据库

  一直就想把这篇文章加进来,只可以一直没有时间。刚好今天给我在测试机器上来了个误操作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_execution_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中查找。

【责编:John】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Oracle频道相关导航