RAC安装之数据库创建
作者:八神 | 分类: 大话技术 | 标签: 大话技术 | 日期:2008-04-12
手工创建RAC数据库其实和普通数据库没有太大区别,需要注意几点:
1.需要为各个接点额外创建undo tablespace,redo group
2.需要为各个接点激活日志thread
3.create database的时候cluster_database参数设置为false,创建成功后在改为true,让各个接点mount
–创建数据库
SQL> CREATE DATABASE asmrac
2 USER SYS IDENTIFIED BY a35baba
3 USER SYSTEM IDENTIFIED BY a35baba
4 controlfile reuse
5 LOGFILE
6 GROUP 1 (’+DATATOMB/redo_1_1_1.log’,'+DATATOMB/redo_1_2_1.log’) SIZE 512M REUSE,
7 GROUP 2 (’+DATATOMB/redo_2_1_1.log’,'+DATATOMB/redo_2_2_1.log’) SIZE 512M REUSE,
8 GROUP 3 (’+DATATOMB/redo_3_1_1.log’,'+DATATOMB/redo_3_2_1.log’) SIZE 512M REUSE,
9 GROUP 4 (’+DATATOMB/redo_4_1_1.log’,'+DATATOMB/redo_4_2_1.log’) SIZE 512M REUSE
10 MAXLOGFILES 64
11 MAXLOGMEMBERS 5
12 MAXLOGHISTORY 1000
13 MAXDATAFILES 3000
14 MAXINSTANCES 8
15 ARCHIVELOG
16 CHARACTER SET US7ASCII
17 NATIONAL CHARACTER SET UTF8
18 DATAFILE ‘+DATATOMB/system01.dbf’ SIZE 2048M REUSE
19 SYSAUX DATAFILE ‘+DATATOMB/sysaux01.dbf’ SIZE 2048M REUSE
20 EXTENT MANAGEMENT LOCAL
21 DEFAULT TEMPORARY TABLESPACE temp1
22 TEMPFILE ‘+DATATOMB/temp01.dbf’ SIZE 16384M REUSE
23 UNDO TABLESPACE undotbs1
24 DATAFILE ‘+DATATOMB/undotbs01.dbf’ SIZE 16384M REUSE;
Database created.
–为其他接点添加日志组
SQL> alter database add logfile
2 instance ‘asmrac2′
3 GROUP 5 (’+DATATOMB/redo_1_1_2.log’,'+DATATOMB/redo_1_2_2.log’) SIZE 512M REUSE,
4 GROUP 6 (’+DATATOMB/redo_2_1_2.log’,'+DATATOMB/redo_2_2_2.log’) SIZE 512M REUSE,
5 GROUP 7 (’+DATATOMB/redo_3_1_2.log’,'+DATATOMB/redo_3_2_2.log’) SIZE 512M REUSE,
6 GROUP 8 (’+DATATOMB/redo_4_1_2.log’,'+DATATOMB/redo_4_2_2.log’) SIZE 512M REUSE;
Database altered.
SQL> alter database add logfile
2 instance ‘asmrac3′
3 GROUP 9 (’+DATATOMB/redo_1_1_3.log’,'+DATATOMB/redo_1_2_3.log’) SIZE 512M REUSE,
4 GROUP 10 (’+DATATOMB/redo_2_1_3.log’,'+DATATOMB/redo_2_2_3.log’) SIZE 512M REUSE,
5 GROUP 11 (’+DATATOMB/redo_3_1_3.log’,'+DATATOMB/redo_3_2_3.log’) SIZE 512M REUSE,
6 GROUP 12 (’+DATATOMB/redo_4_1_3.log’,'+DATATOMB/redo_4_2_3.log’) SIZE 512M REUSE;
Database altered.
SQL> alter database add logfile
2 instance ‘asmrac4′
3 GROUP 13 (’+DATATOMB/redo_1_1_4.log’,'+DATATOMB/redo_1_2_4.log’) SIZE 512M REUSE,
4 GROUP 14 (’+DATATOMB/redo_2_1_4.log’,'+DATATOMB/redo_2_2_4.log’) SIZE 512M REUSE,
5 GROUP 15 (’+DATATOMB/redo_3_1_4.log’,'+DATATOMB/redo_3_2_4.log’) SIZE 512M REUSE,
6 GROUP 16 (’+DATATOMB/redo_4_1_4.log’,'+DATATOMB/redo_4_2_4.log’) SIZE 512M REUSE;
Database altered.
–为其他接点添加UNDO表空间
SQL> CREATE undo TABLESPACE undotbs2 DATAFILE
2 ‘+DATATOMB/undotbs2.dbf’ SIZE 16384M
3 AUTOEXTEND OFF
4 EXTENT MANAGEMENT LOCAL
5 BLOCKSIZE 16k;
Tablespace created.
SQL> CREATE undo TABLESPACE undotbs3 DATAFILE
2 ‘+DATATOMB/undotbs3.dbf’ SIZE 16384M
3 AUTOEXTEND OFF
4 EXTENT MANAGEMENT LOCAL
5 BLOCKSIZE 16k;
Tablespace created.
SQL> CREATE undo TABLESPACE undotbs4 DATAFILE
2 ‘+DATATOMB/undotbs4.dbf’ SIZE 16384M
3 AUTOEXTEND OFF
4 EXTENT MANAGEMENT LOCAL
5 BLOCKSIZE 16k;
Tablespace created.
–激活其他接点日志
SQL> alter database enable thread 2;
Database altered.
SQL> alter database enable thread 3;
Database altered.
SQL> alter database enable thread 4;
Database altered.
–建立内部视图
spool CreateDBCatalog.log
@$ORACLE_HOME/rdbms/admin/catalog.sql;
@$ORACLE_HOME/rdbms/admin/catexp7.sql;
@$ORACLE_HOME/rdbms/admin/catblock.sql;
@$ORACLE_HOME/rdbms/admin/catproc.sql;
@$ORACLE_HOME/rdbms/admin/catoctk.sql;
@$ORACLE_HOME/rdbms/admin/owminst.plb;
@$ORACLE_HOME/sqlplus/admin/plustrce.sql;
connect SYSTEM/manager
@$ORACLE_HOME/sqlplus/admin/pupbld.sql;
connect SYSTEM/manager
set echo on
@$ORACLE_HOME/sqlplus/admin/help/hlpbld.sql helpus.sql;
spool off
spool off
exit;
现在可以关闭数据库,设置cluster_database=true,到各个接点启动实例
[root@hack3 ~]# su - oracle
hack3:/home/oracle>$sqlplus “/ as sysdba”
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Apr 12 19:07:30 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 5251268608 bytes
Fixed Size 2028088 bytes
Variable Size 939527624 bytes
Database Buffers 4294967296 bytes
Redo Buffers 14745600 bytes
Database mounted.
Database opened.
SQL> create table t as select * from dba_objects;
Table created.
SQL> exit;
–换另外的接点
hack4:/opt/oracle/products/10.2.0/db/dbs>$ sqlplus “/ as sysdba”
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Apr 12 19:08:03 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup;
ORACLE instance started.
Total System Global Area 5251268608 bytes
Fixed Size 2028088 bytes
Variable Size 939527624 bytes
Database Buffers 4294967296 bytes
Redo Buffers 14745600 bytes
Database mounted.
Database opened.
SQL> select count(*) from t;
COUNT(*)
———-
9950
SQL> drop table t;
Table dropped.
SQL>
至此,大功告成



想了解一下,你们现在做RAC,都用什么Clusterware,使用OS 还是DB?
你们的数据中心里面以什么的OS比较多,IBM AIX,还是SUN Solaris ?
kylix @ May 29, 2008 |
我对RAC了解,由于公司没有要求,从来没有架设过,不知你们那有没有好的文档,发给我看一下。
多谢。
kylix @ May 29, 2008 |
my mail addr: kylix@mic.com.tw
kylix @ May 30, 2008 |