oracle操作2

创建一个Oracle   数据库    
     
   
  -由于Oracle是大型的关系型数据库系统(RDBMS),所以在创建数据库时需要设置许多环境参数,有时候这些设置环境的准备工作会让人觉得很繁琐,问题出得也很多,但也正是Oracle公司给出了让用户能灵活的设置数据库环境参数的做法,使得Oracle变得很灵活和高效,能适应不同档次的机器、操作系统。(这里只给出了最基本的步骤,因为在实际中有许多细节,如参数文件的设置等...)    
   
  计划和组织创建数据库是DBA应该关心的。  
   
   
  创建数据库的步骤(Unix平台):  
   
  准备创建数据库    
   
  通过表空间组织数据库内容    
  设计数据库机构以减少数据竞争和碎片    
  为数据库创建准备操作系统环境    
  拷贝并编辑参数文件    
  启动例程    
  执行SQL脚本create   database    
  通过生成两个以上的Redo   log文件和控制文件来保证数据库的安全    
  定义数据字典和视图来监视数据库    
  定义和创建回退段来保证读一致性    
     
   
  实际的创建数据库的步骤:    
   
  决定数据库结构  
          Oracle   数据库被分成称为表空间的逻辑单元,一个表空间可以包含多个物理数据文件。一般情况一个Oracel数据库应建立至少以下几个表空间:  
  APP_DATA(主要的数据表存放)  
  TEMP(临时数据表存放)  
  APP_INDX(索引存放)  
  RBS(回退段存放)  
   
  设计文件存放在系统的位置  
   
   
  创建参数文件  
  参数文件一般是一个init<sid>.ora文件,存放在$ORACLE_HOME/dbs/下,Oracle有一个sample例子,你可以拷贝它,然后编辑里面的参数,例子里的参数都有详细说明,其中必须指定的有  
  DB_NAME  
  CONTROL_FILE  
  INIT_SQL_FILES  
  LOG_ARCHIVE_DEST  
  LOG_ARCHIVE_FORMAT  
  USER_DUMP_DEST  
  BACKGROUND_DUMP_DEST  
   
  决定一个唯一的例程名称  
  使用适当的系统操作命令设置Oracle例程名  
  Unix下是:         $ORACLE_SID=sidname  
   
  启动例程到NOMOUNT状态  
  调用SQL*DBA,以internal连进Oracle  
  $sqldba   lmode=y  
  SQLDBA>connect   internal  
  connected  
   
  创建数据库  
  启动例程并创建数据库  
  SQLDBA>startup   nomount  
  SQLDBA>create   database   test    
                  2>datafile   'system.dbs'   size   10M  
                  3>logfile   '/u01/oracle/testdb/log1.rdo'   size   500K,  
                  4>logfile   '/u02/oracle/testdb/logl2.rdo'   size   500K   ;  
   
  创建数据字典  
  执行一系列的SQL脚本  
  SQLDBA>@?/rdbms/admin/catalog                           --创建常用的数据字典  
  SQLDBA>@?/rdbms/admin/expview.sql         --创建用于运行export和import工具所需的试图  
   
  还有其他sql脚本....,不一一列举  
   
   
  必要时,增加另外的Redo   log文件和control文件    
  创建表空间  
  SQLDBA>create   tablespace   class   datafile   '/u01/ORACLE/testdb/class01.dbf   size   300M;  
  SQLDBA>create   tablespace   classinx   datafile   '/u01/ORACLE/testdb/classinx1.dbf   size   200M;  
  SQLDBA>create   tablespace   rbs   datafile   '/u01/ORACLE/testdb/rbs01.dbf   size   100M;  
  SQLDBA>create   tablespace   temp   datafile   '/u01/ORACLE/testdb/class01.dbf   size   100M;  
   
   
  创建回退段  
  SQLDBA>create   rollback   segment   rbl   tablespace   rbs   ;  
   
   
  以上的是在Unix下用命令行方式建立数据库的方法,当然,你也可以用SQL*DBA或Server   manager等Oracle   提供的界面工具来交互的建立数据库。  
   
     
   
  在NT下,通常是通过各种工具来建立数据库  
   
  在Oracle   8i中,提供了多种工具,简化了以上烦琐的步骤  
  这些工具有:  
  Oracle   Database   Configuration   Assistant    
  Instance   Manager    
  Server   Manager    
  Oracle   Administration   Assistant   for   Windows   NT    
  Data   Management   Wizards   等。  
    

手工创建数据库的全部脚本及说明    
   
     
  系统环境:    
  1、操作系统:Windows   2000   Server,机器内存128M  
  2、数据库: Oracle   8i   R2   (8.1.6)   for   NT   企业版  
  3、安装路径:D:/ORACLE  
   
  建库步骤:    
  1、手工创建相关目录  
  D:/Oracle/admin/test  
  D:/Oracle/admin/test/adhoc  
  D:/Oracle/admin/test/bdump  
  D:/Oracle/admin/test/cdump  
  D:/Oracle/admin/test/create  
  D:/Oracle/admin/test/exp  
  D:/Oracle/admin/test/pfile  
  D:/Oracle/admin/test/udump  
   
  D:/Oracle/oradata/test  
  D:/Oracle/oradata/test/archive  
   
  2、手工创建初始化启动参数文件:D:/Oracle/admin/test/pfile/inittest.ora,内容:  
   
  3、手工创建D:/Oracle/Ora81/DATABASE/inittest.ora文件,  
   
        内容:IFILE='D:/Oracle/admin/test/pfile/inittest.ora'  
   
  4、使用orapwd.exe命令,创建D:/Oracle/Ora81/DATABASE/PWDtest.ora  
   
        命令:D:/Oracle/Ora81/bin/orapwd   file=D:/Oracle/Ora81/DATABASE/PWDtest.ora   password=ORACLE   entries=5  
   
   
  5、通过oradim.exe命令,在服务里生成一个新的实例管理服务,启动方式为手工  
        set   ORACLE_SID=test  
        D:/Oracle/Ora81/bin/oradim   -new   -sid   test   -startmode   manual   -pfile   "D:/Oracle/admin/test/pfile/inittest.ora"  
   
  6、生成各种数据库对象  
  D:/>svrmgrl  
   
  --创建数据库  
  connect   INTERNAL/oracle  
  startup   nomount   pfile="D:/Oracle/admin/test/pfile/inittest.ora"  
  CREATE   DATABASE   test  
  LOGFILE   'D:/Oracle/oradata/test/redo01.log'   SIZE   2048K,  
          'D:/Oracle/oradata/test/redo02.log'   SIZE   2048K,  
          'D:/Oracle/oradata/test/redo03.log'   SIZE   2048K  
  MAXLOGFILES   32  
  MAXLOGMEMBERS   2  
  MAXLOGHISTORY   1  
  DATAFILE   'D:/Oracle/oradata/test/system01.dbf'   SIZE   58M     REUSE   AUTOEXTEND   ON   NEXT   640K  
  MAXDATAFILES   254  
  MAXINSTANCES   1  
  CHARACTER   SET   ZHS16GBK  
  NATIONAL   CHARACTER   SET   ZHS16GBK;  
   
  控制文件、日志文件在上面语句执行时生成  
   
   
  connect   INTERNAL/oracle  
  --修改系统表空间  
  ALTER   TABLESPACE   SYSTEM   DEFAULT   STORAGE   (   INITIAL   64K   NEXT   64K   MINEXTENTS   1   MAXEXTENTS   UNLIMITED   PCTINCREASE   50);  
  ALTER   TABLESPACE   SYSTEM   MINIMUM   EXTENT   64K;  
   
  --创建回滚表空间  
  CREATE   TABLESPACE   RBS   DATAFILE   'D:/Oracle/oradata/test/rbs01.dbf'   SIZE   256M   REUSE  
  AUTOEXTEND   ON   NEXT   5120K  
  MINIMUM   EXTENT   512K  
  DEFAULT   STORAGE   (   INITIAL   512K   NEXT   512K   MINEXTENTS   8   MAXEXTENTS   4096);  
   
  --创建用户表空间  
  CREATE   TABLESPACE   USERS   DATAFILE   'D:/Oracle/oradata/test/users01.dbf'   SIZE   128M   REUSE  
  AUTOEXTEND   ON   NEXT   1280K  
  MINIMUM   EXTENT   128K  
  DEFAULT   STORAGE   (   INITIAL   128K   NEXT   128K   MINEXTENTS   1   MAXEXTENTS   4096   PCTINCREASE   0);  
   
  --创建临时表空间  
  CREATE   TABLESPACE   TEMP   DATAFILE   'D:/Oracle/oradata/test/temp01.dbf'   SIZE   32M   REUSE  
  AUTOEXTEND   ON   NEXT   640K  
  MINIMUM   EXTENT   64K  
  DEFAULT   STORAGE   (   INITIAL   64K   NEXT   64K   MINEXTENTS   1   MAXEXTENTS   UNLIMITED   PCTINCREASE   0)   TEMPORARY;  
   
  --创建工具表空间  
  CREATE   TABLESPACE   TOOLS   DATAFILE   'D:/Oracle/oradata/test/tools01.dbf'   SIZE   64M   REUSE  
  AUTOEXTEND   ON   NEXT   320K  
  MINIMUM   EXTENT   32K  
  DEFAULT   STORAGE   (   INITIAL   32K   NEXT   32K   MINEXTENTS   1   MAXEXTENTS   4096   PCTINCREASE   0);  
   
  --创建索引表空间  
  CREATE   TABLESPACE   INDX   DATAFILE   'D:/Oracle/oradata/test/indx01.dbf'   SIZE   32M   REUSE  
  AUTOEXTEND   ON   NEXT   1280K  
  MINIMUM   EXTENT   128K  
  DEFAULT   STORAGE   (   INITIAL   128K   NEXT   128K   MINEXTENTS   1   MAXEXTENTS   4096   PCTINCREASE   0);  
   
  --创建回滚段  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS0   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS1   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS2   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS3   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS4   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS5   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS6   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS7   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS8   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS9   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS10   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS11   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS12   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS13   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS14   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS15   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS16   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS17   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS18   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS19   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS20   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS21   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS22   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS23   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
  CREATE   PUBLIC   ROLLBACK   SEGMENT   RBS24   TABLESPACE   RBS   STORAGE   (   OPTIMAL   4096K   );  
   
  --使回滚段在线  
  ALTER   ROLLBACK   SEGMENT   "RBS0"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS1"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS2"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS3"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS4"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS5"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS6"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS7"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS8"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS9"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS10"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS11"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS12"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS13"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS14"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS15"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS16"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS17"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS18"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS19"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS20"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS21"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS22"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS23"   ONLINE;  
  ALTER   ROLLBACK   SEGMENT   "RBS24"   ONLINE;  
   
  --修改sys用户的临时表空间为TEMP  
  alter   user   sys   temporary   tablespace   TEMP;  
   
  --创建数据字典表  
  @D:/Oracle/Ora81/Rdbms/admin/catalog.sql;  
  @D:/Oracle/Ora81/Rdbms/admin/catexp7.sql  
  @D:/Oracle/Ora81/Rdbms/admin/catproc.sql  
  @D:/Oracle/Ora81/Rdbms/admin/caths.sql  
   
  connect   system/manager  
  @D:/Oracle/Ora81/sqlplus/admin/pupbld.sql  
   
  connect   internal/oracle  
  @D:/Oracle/Ora81/Rdbms/admin/catrep.sql  
  exit  
   
  --生成SQL*Plus帮助系统  
  sqlplus   SYSTEM/manager  
  @D:/Oracle/Ora81/sqlplus/admin/help/helpbld.sql   helpus.sql  
  exit  
   
  --修改system用户默认表空间和临时表空间  
  svrmgrl  
  connect   internal/oracle  
  alter   user   system   default   tablespace   TOOLS;  
  alter   user   system   temporary   tablespace   TEMP;  
  exit  
   
  7、将test实例启动服务设置成自动启动方式  
  D:/Oracle/Ora81/bin/oradim   -edit   -sid   test   -startmode   auto 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值