当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

Oracle rac安装过程详解(八)


  创建数据库 
  
  可以运行dbca用图形界面来创建,也可以用命令行来创建. 
  因为以前没有创建过集群下的数据库,因此我用图形界面来创建脚本,修改后用命令行来创建. 
  
  先确认ORACM和GSD已经启动: 
  $ ps -ef | grep oracm 
  root 3056 1 0 10:50 pts/1 00:00:00 oracm 
  root 3057 3056 0 10:50 pts/1 00:00:00 oracm 
  root 3059 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3060 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3061 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3062 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3063 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3064 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3065 3057 0 10:50 pts/1 00:00:00 oracm 
  root 3338 3057 0 11:36 pts/1 00:00:00 oracm 
  root 3362 3057 0 11:36 pts/1 00:00:00 oracm 
  oracle 3482 2932 0 11:38 pts/1 00:00:00 grep oracm 
  
  $ gsdctl stat 
  GSD is running on the local node 
  
  然后运行dbca启动数据库配置助手. 
  
  在欢迎画面中,选择Oracle cluster database, 然后一路继续就可以了. 
  
  在最后的总结画面上,可以选择创建数据库,也可以选择创建脚本.我选择了创建脚本. 
  
  手工修改脚本为自己想要的样子,然后跟非集群环境一样手工创建数据库.数据文件使用本地管理,不用数据字典管理.并创建缺省的撤消表空间(undo tablespace)和临时表空间. 
  
  注意: 
  根据我的经验,SGA太小,在创建数据字典的时候会失败,因此SGA可以大一些.但因为是集群,需要启动多个instance,所以在数据字典创建完以后,即catalog.sql,catproc.sql,catclust.sql运行完以后,需要将SGA改小一点. 
  
  
  修改init.ora文件,并拷贝到$ORACLE_HOME/dbs下,改名字为initrac.ora. 
  我是一个instance对应一个listener.也可以一个listener响应多个instnce. 
  
  其余参数可以自己根据自己的情况进行设置,以下是cluster的参数: 
  
  undo_management=AUTO 
  undo_retention=10800 
  
  cluster_database=true 
  cluster_database_instances=5 
  rac1.instance_name=rac1 
  rac1.instance_number=1 
  rac1.local_listener=lsnr1 
  rac1.thread=1 
  rac1.undo_tablespace=UNDOTBS1 
  rac2.instance_name=rac2 
  rac2.instance_number=2 
  rac2.local_listener=lsnr2 
  rac2.thread=2 
  rac2.undo_tablespace=UNDOTBS2 
  rac3.instance_name=rac3 
  rac3.instance_number=3 
  rac3.local_listener=lsnr3 
  rac3.thread=3 
  rac3.undo_tablespace=UNDOTBS3 
  
  如果要多个instance都由一个listener来响应,则改以下两行: 
  rac2.local_listener=lsnr1 
  rac3.local_listener=lsnr1 
  
  注意: 
  尽管数据库名字叫rac,但启动的实例名字不能叫rac.我将ORACLE_SID分别设置成了rac1,rac2,rac3. 
  
  然后启动第一个实例,创建数据库: 
  
  $ export ORACLE_SID=rac1 
  $ sqlplus /nolog 
  SQL*Plus: Release 9.2.0.4.0???j? - Production on Fri Nov 21 13:43:22 2003 
  
  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. 
  
  SQL> conn / as sysdba; 
  Connected to an idle instance. 
  SQL> startup pfile=/u01/app/oracle/product/9.2.0.4.0/dbs/initrac.ora; 
  ORACLE instance started. 
  
  Total System Global Area 38867968 bytes 
  Fixed Size 451584 bytes 
  Variable Size 33554432 bytes 
  Database Buffers 4194304 bytes 
  Redo Buffers 667648 bytes 
  Database mounted. 
  Database opened. 
  SQL> 
  
  创建数据库的命令: 
  CREATE DATABASE rac 
  MAXINSTANCES 32 
  MAXLOGHISTORY 100 
  MAXLOGFILES 192 
  MAXLOGMEMBERS 3 
  MAXDATAFILES 1024 
  DATAFILE '/u02/oradata/rac/rac/system01.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE 1000M 
  EXTENT MANAGEMENT LOCAL 
  DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '/u02/oradata/rac/rac/temp01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE 1000M 
  UNDO TABLESPACE "UNDOTBS1" DATAFILE '/u02/oradata/rac/rac/undotbs01.dbf' SIZE 50M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE 1000M 
  CHARACTER SET ZHS16GBK 
  LOGFILE GROUP 1 ('/u02/oradata/rac/rac/redo01.log') SIZE 10M REUSE, 
  GROUP 2 ('/u02/oradata/rac/rac/redo02.log') SIZE 10M REUSE, 
  GROUP 3 ('/u02/oradata/rac/rac/redo03.log') SIZE 10M REUSE; 
  
  然后创建数据字典. 
  
  以sysdba身份运行: 
  SQL> @?/rdbms/admin/catalog.sql; 
  SQL> @?/rdbms/admin/catproc.sql; 
  SQL> @?/rdbms/admin/catclust.sql; 
  
  以system身份运行: 
  SQL> @?/sqlplus/admin/pupbld.sql;
相关内容
赞助商链接