創建數據庫 
  
  可以運行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;