网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库执行计划的一些基本.
.Linux 指令大全(3).
.ORACLE常用傻瓜问题1000问(之八).
.ORACLE OLAP函数语法的总结.
.ORACLE建库过程与操作.
.10g创建数据库时00603,27504错误.
.ORACLE在HP_UX下的系列问题处理(.
.oracle 10G RAC之VIP探讨(2).
.Oracle数据库中的表连接方式及使.
.ORACLE在HP-UX下的系列问题处理(.
.PROC++批量导入导出ORACLE数据.
.QMAIL下的主要配置文件有哪些.
.Oracle 数据对象分析.
.局域网通过LINUX主机上网手记.
.Oracle SQL精妙SQL语句讲解.
.调用linux日期函数,实现每天自动.
.AIX 5L上Oracle双机的实现.
.优化调整Oracle 8i数据库系统.
.ORACLE 锁.
.Oracle DBA数据库日常维护完全手.

在UNIX环境下创建第二个数据库实例

发表日期:2008-2-9



  前言
  -----------------------------------------------------------------------
  以下介绍一种方法在UNIX环境下创建第二个数据库实例(基于Oracle7,ORACLE8环境下,处理基本相同)。为了更好的理解以下步骤,推荐阅读以下资料
  --ORACLE治理员指南:第二章(创建数据库)
  --SQL语言参考手册:创建数据库命令部分
  设置UNIX环境
  -----------------------------------------------------------------------
  在创建数据库实例时,ORACLE会检查UNIX环境变量,确定要创建什么实例。
  因此,必须在创建第二个数据库实例前设置好你的数据库实例名字;即设置好以下变量:
  ORACLE_SID - 设为你的新的ORACLE实例的名字
  ORACLE_HOME - 设置为ORACLE安装的完全路径
  PATH - 必须包含$ORACLE_HOME/bin这个搜索路径
  可以在UNIX SHELL环境下,用以下命令设置:
  对于sh(bash):ORACLE_SID XXX;eXPort ORACLE_SID
  对于csh :setenv ORACLE_SID XXX
  检查变量是否正确,用以下命令:
  echo $ORACLE_SID(回车)
  系统将显示新的ORACLE_SID环境变量。
  警告:不设置新的ORACLE_SID,直接执行以下步骤,将会覆盖掉你原有的数据库实例及其数据、数据文件!请慎重、仔细!
  
  创建第二个数据库实例
  -----------------------------------------------------------------------
  
  这种方法是在SQL*DBA下,通过输入CREATE DATABASE命令来实现。
  这种方法比较灵活,例如:你可以指定MAXDATAFILES(最大数据文件数)参数,可以指定SYSTEM表空间使用多个数据文件,等等。当然,手工操作,失误的可能性就相对大一些。在添加时,不会自动创建LOG来记录你所指定的创建参数。
  具体步骤:
  1. 设置UNIX环境变量(具体步骤方法如上所述)。假设新的SID为"SID2"。
  2. 为新的实例创建一个新的INITSID2.ORA文件,可以通过COPY一份标准的INIT文件来实现
  % cp $ORACLE_HOME/dbs/init.ora $ORACLE_HOME/dbs/initSID2.ora
  3. 修改initSID2.ora,将db_name参数改为新的SID名称;
  原语句:db_name=DEFAULT 新语句: db_name=SID2
  4. 用命令行方式启动SQLDBA:
  svrmgrl
  5. 连接上新的实例,用NOMOUNT参数启动实例:
  SVRMGR> connect internal
  Connected.
  SVRMGR> startup nomount
  ORACLE instance started.
  SVRMGR>
  6. 参阅SQL语法手册中"CREATE DATABASE"的命令,编写创建命令。
  语法:
  CREATE DATABASE [database]
  [CONTROLFILE REUSE]
  [LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec] ...]
  [MAXLOGFILES integer ]
  [MAXLOGMEMBERS integer]
  [MAXLOGHISTORY integer]
  [DATAFILE filespec [, filespec] ...]
  [MAXDATAFILES integer]
  [MAXINSTANCES integer]
  [ARCHIVELOG NOARCHIVELOG]
  [EXCLUSIVE]
  [CHARACTER SET charset]
  例如:
  SVRMGR> create database SID2
  2> logfile group 1 ('oracle_home/dbs/log1SID2.dbf') size 500K,
  3> group 2 ('oracle_home/dbs/log2SID2.dbf') size 500K
  4> datafile 'oracle_home/dbs/dbsSID2.dbf' size 20M
  5> maxdatafiles 50;
  7. 执行完成以上语句后,马上巡行$ORACLE_HOME/rdbms/admin目录下的catalog.sql 脚本。这个脚本必须用INTERNAL用户或者SYS用户来执行。
  注重:假如安装了一些其他产品,catproc.sql脚本也必须要执行。建议都 执行一下。
  SVRMGR>@$ORACLE_HOME/rdbms/admin/catalog.sql
  SVRMGR>@$ORACLE_HOME/rdbms/admin/catproc.sql
  8. 执行完成后,SYSTEM表空间和SYSTEM回滚段都已经存在了。
然而,在其他表空间创建之前,必须先在SYSEM表空间上创建并激活第二回滚段。
  创建回滚段的语法如下:
  CREATE ROLLBACK SEGMENT 回滚段名称
  TABLESPACE SYSTEM
  STORAGE (...);
  激活回滚段的语法如下:
  ALTER ROLLBACK SEGMENT 回滚段名称 ONLINE;
  9. 至此数据库实例创建已经基本完成,你需要再创建一些用户表空间来使用。这就要根据你的实际应用自行决定了。
  10. 修改/etc/oratab文件,添加上新的实例的记录。这个文件用来在启动主机时自动启动数据库。
  以上步骤可以完成创建一个数据库实例的过程。此外,你也可以利用ORACLE提供的一些工具来实现,例如:在ORACLE 8i下的$ORACLE_HOME/bin/dbassist.
上一篇:Oracle 数据库系统使用经验六则 人气:469
下一篇:簇的使用 人气:574
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐