当前位置:主页 > 数据库 > Oracle >

Oracle 19c RAC 手工建库的搭建过程

时间:2023-01-05 11:09:50 | 栏目:Oracle | 点击:

数据库环境:

数据库版本(RU):  19.10

GRID_HOME:       /u01/app/19.0.0/grid
ORACLE_HOME:     /u01/app/oracle/product/19.0.0/db_1
DB_NAME:      orcl

1.创建adump目录(每个节点执行)

mkdir -p /u01/app/oracle/admin/orcl/adump

2.修改$ORACLE_HOME/bin/oracle文件权限(每个节点执行)

/u01/app/19.0.0/grid/bin/setasmgidwrap o=/u01/app/oracle/product/19.0.0/db_1/bin/oracle

3.创建密码文件,添加数据库到集群资源中

/u01/app/oracle/product/19.0.0/db_1/bin/srvctl add database -d orcl -pwfile +DG_DATA/ORCL/orapworcl -o \ /u01/app/oracle/product/19.0.0/db_1 -n orcl -a "DG_DATA"  (此处与上面为同一行)
/u01/app/oracle/product/19.0.0/db_1/bin/srvctl add instance -d orcl -i orcl1 -n ora19c-rac1
/u01/app/oracle/product/19.0.0/db_1/bin/srvctl add instance -d orcl -i orcl2 -n ora19c-rac2
/u01/app/oracle/product/19.0.0/db_1/bin/srvctl disable database -d orcl
/u01/app/oracle/product/19.0.0/db_1/bin/orapwd file=+DG_DATA/ORCL/orapworcl force=y format=12 dbuniquename=orcl password=Oracle321#

4.编辑临时初始化参数文件init.ora(根据实际需要添加需要调整的参数)

vi /home/oracle/init.ora

db_block_size=8192
open_cursors=300
db_name="orcl"
control_files=("+DG_DATA/ORCL/control01.ctl", "+DG_DATA/ORCL/control02.ctl")
compatible=19.0.0
diagnostic_dest=/u01/app/oracle
nls_language="AMERICAN"
nls_territory="AMERICA"
processes=500
sga_target=1398m
audit_file_dest="/u01/app/oracle/admin/orcl/adump"
audit_trail=db
remote_login_passwordfile=exclusive
pga_aggregate_target=467m
undo_tablespace=UNDOTBS1
family:dw_helper.instance_mode=read-only
orcl1.instance_number=1
orcl2.instance_number=2
orcl1.thread=1
orcl2.thread=2
orcl1.undo_tablespace=UNDOTBS1
orcl2.undo_tablespace=UNDOTBS2

5.启动实例到nomount状态,创建数据库(根据实际需要设置文件大小,和日志组数量与大小)

sqlplus / as sysdba
startup nomount pfile="/home/oracle/init.ora";
CREATE DATABASE "orcl"
MAXINSTANCES 32
MAXLOGHISTORY 1
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 1024
DATAFILE '+DG_DATA/ORCL/system01.dbf' SIZE 700M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '+DG_DATA/ORCL/sysaux01.dbf' SIZE 550M REUSE AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE '+DG_DATA/ORCL/temp01.dbf' SIZE 20M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE '+DG_DATA/ORCL/undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('+DG_DATA/ORCL/redo01.log') SIZE 300M,
GROUP 2 ('+DG_DATA/ORCL/redo02.log') SIZE 300M
USER SYS IDENTIFIED BY "Oracle321#" USER SYSTEM IDENTIFIED BY "Oracle321#";

6.创建UNDOTBS2和USERS表空间,并设置USERS表空间为数据库默认表空间

CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE '+DG_DATA/ORCL/undotbs02.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED;
CREATE SMALLFILE TABLESPACE "USERS" LOGGING DATAFILE '+DG_DATA/ORCL/users01.dbf' SIZE 5M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DEFAULT TABLESPACE "USERS";

7.创建数据字典 vi createCatalog.sql

set echo on
spool /home/oracle/CreateDBCatalog.log append
@/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/catalog.sql;
@/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/catproc.sql;
@/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/catoctk.sql;
@/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/owminst.plb;
connect "SYSTEM"/"Oracle321#"
@/u01/app/oracle/product/19.0.0/db_1/sqlplus/admin/pupbld.sql;
connect "SYS"/"Oracle321#" as SYSDBA
@/u01/app/oracle/product/19.0.0/db_1/sqlplus/admin/pupdel.sql;
connect "SYSTEM"/"Oracle321#"
spool off
set echo on
spool /home/oracle/sqlPlusHelp.log append
@/u01/app/oracle/product/19.0.0/db_1/sqlplus/admin/help/hlpbld.sql helpus.sql;
spool off
@createCatalog.sql

8.创建cluster数据字典

set echo on
spool /home/oracle/CreateClustDBViews.log append
@/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/catclust.sql;
spool off

9.执行datapatch ,添加thread 2日志组并启用thread 2 (根据实际需要设置日志组数量与大小)

SET VERIFY OFF
spool /home/oracle/postDBCreation.log append
host /u01/app/oracle/product/19.0.0/db_1/OPatch/datapatch -skip_upgrade_check
ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 3 ('+DG_DATA/ORCL/redo03.log') SIZE 300M, GROUP 4 ('+DG_DATA/ORCL/redo04.log') SIZE 300M;
ALTER DATABASE ENABLE PUBLIC THREAD 2;
host echo cluster_database=true >>/home/oracle/init.ora;
connect "SYS"/"Oracle321#" as SYSDBA
set echo on
create spfile='+DG_DATA/ORCL/spfileorcl.ora' FROM pfile='/home/oracle/init.ora';
connect "SYS"/"Oracle321#" as SYSDBA
select 'utlrp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual;
@/u01/app/oracle/product/19.0.0/db_1/rdbms/admin/utlrp.sql;
select 'utlrp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual;
select comp_id, status from dba_registry;
shutdown immediate;
host /u01/app/oracle/product/19.0.0/db_1/bin/srvctl enable database -d orcl;
host /u01/app/oracle/product/19.0.0/db_1/bin/srvctl start database -d orcl;
spool off
exit;

10.添加数据库实例信息到/etc/oratab文件中

vi /etc/oratab
orcl1:/u01/app/oracle/product/19.0.0/db_1:N   ##节点1添加
orcl2:/u01/app/oracle/product/19.0.0/db_1:N   ##节点2添加

您可能感兴趣的文章:

相关文章