Oracle Grid Infrastructure Tips

Da Emigar.
Jump to navigation Jump to search

Grid Infratructure 12c

Oracle Listener aggiuntivi

come grid:

cp -p $ORACLE_HOME/crs/demo/coldfailover/act_listener.pl $ORACLE_HOME/crs/public/
crsctl

Gestire applicazione generica

1) creare un indirizzo IP Virtuale:

[root@server ~]# appvipcfg create -network=1 -ip=172.16.1.4 -vipname=app.miaapp01.vip -user root
[root@server ~]# crsctl start res app.miaapp01.vip
[root@server ~]# crsctl modify resource "app.miaapp01.vip" -attr "AUTO_START=1"
[root@server ~]# crsctl modify resource app.miaapp01.vip -attr "ACL='owner:root:rwx,pgrp:root:r-x,other::r--,group:oinstall:r-x,user:grid:r-x'"

2) creare risorsa listener (con home grid)

[grid@server ~]$ crsctl add resource app.LISTENER_${SID}.lsnr -type generic_application -attr \
 "ACTION_SCRIPT='%CRS_HOME%/crs/public/act_listener_${sid}.sh',
  START_PROGRAM='%CRS_HOME%/crs/public/act_listener_${sid}.sh start',
  STOP_PROGRAM='%CRS_HOME%/crs/public/act_listener_${sid}.sh stop',
  CLEAN_PROGRAM='%CRS_HOME%/crs/public/act_listener_${sid}.sh clean',
  CHECK_PROGRAMS='%CRS_HOME%/crs/public/act_listener_${sid}.sh check',
  ENVIRONMENT_VARS='_USR_ORA_HOME=/app/grid/product/12.1.0/grid,_USR_ORA_LSNR=LISTENER_${SID}',
  PLACEMENT=restricted,
  HOSTING_MEMBERS='node1 node2',
  CHECK_INTERVAL=30,
  RESTART_ATTEMPTS=2,
  START_DEPENDENCIES='pullup(app.database-${sid}.vip,app.DATABASE_${sid}.db) hard(app.database-${sid}.vip,app.DATABASE_${sid}.db)',
  STOP_DEPENDENCIES='hard(shutdown:app.database-${sid}.vip,app.DATABASE_${sid}.db)'"
  crsctl modify resource "app.LISTENER_${SID}.lsnr" -attr "AUTO_START=1"
  crsctl setperm resource app.LISTENER_${SID}.lsnr -u user:root:r-x,user:oracle:r-x

Per visualizzare la configurazione:

  crsctl status resource app.LISTENER_${SID}.lsnr -f


3) creare risorsa listener (con home rdbms)

4) crea risorsa database

[oracle@server ~]$ crsctl add resource app.DATABASE_${sid}.db -type generic_application -attr \
 "ACTION_SCRIPT='%CRS_HOME%/crs/public/act_database_${sid}.sh',
  START_PROGRAM='%CRS_HOME%/crs/public/act_database_${sid}.sh start',
  STOP_PROGRAM='%CRS_HOME%/crs/public/act_database_${sid}.sh stop',
  CLEAN_PROGRAM='%CRS_HOME%/crs/public/act_database_${sid}.sh clean',
  CHECK_PROGRAMS='%CRS_HOME%/crs/public/act_database_${sid}.sh check',
  ENVIRONMENT_VARS='_USR_ORA_HOME=/app/oracle/product/11.2.0/dbhome_1,_USR_ORA_SID=${sid}',
  PLACEMENT=restricted,
  HOSTING_MEMBERS='node1 node2',
  CHECK_INTERVAL=30,
  SCRIPT_TIMEOUT=120,
  RESTART_ATTEMPTS=2,
  AUTO_START=1"

impostare poi le dipendenze:

 crsctl modify resource app.DATABASE_${sid}.db -attr "START_DEPENDENCIES=pullup(app.database-${sid}.vip) hard(app.database-${sid}.vip)"
 crsctl modify resource app.DATABASE_${sid}.db -attr "STOP_DEPENDENCIES=hard(app.database-${sid}.vip)"

Oracle ASM Cluster Filesystem

Per creare un cluster filesystem (testato con GI 12.1.0.2):

grid@server:~$ echo 'ALTER DISKGROUP DATA ADD VOLUME MIOVOL01 SIZE 10G;' | sqlplus '/ as sysasm'

in alternativa si può fare da asmcmd:

grid@server:~$ asmcmd volcreate -G DATA -s 10G MIOVOL01

Formattare il device:

grid@server:~$ mkfs -t acfs -n "MIOVOL01" /dev/asm/miovol01-21

Da utente root:

root@server:~# srvctl add volume -volume MIOVOL01 -diskgroup DATA -device /dev/asm/miovol01-21
root@server:~# /sbin/acfsutil registry -a -n node1,node2 /dev/asm/miovol01-21 /MIOVOL01
root@server:~# /bin/mount -t acfs /dev/asm/miovol01-21 /MIOVOL01

Per resize, da utente grid (ma funziona anche da root):

grid@server:~$ acfsutil info fs /MIOVOL01
grid@server:~$ acfsutil size +1024M /MIOVOL01

Per creare volumi più grandi di 4Gb:

 grid@server:~$ echo "alter diskgroup datap set ATTRIBUTE 'compatible.advm' = '11.2.0.4.0';" | sqlplus '/ as sysasm'