RAC Grows Up RAC 11gR2 (aka 12gR1) adds a number of features that transforms RAC clusters into database clouds Many features are geared towards enterprises but there are new features that any organization can take advantage of With today’s high power x86 and 11gR2 RAC it is entirely possible to replace many silo clusters with fewer 11gR2 “clouds” Many 11gR1 and older RAC commands are depreciated 11gR2 RAC New Features Brand New Installer Clusterware is now Grid Infrastructure ASM is now part of the Grid Infrastructure installation Voting and OCR disk are ASM diskgroup Raw devices are only supported for upgraded clusters Future Linux release may drop support for raw devices Plug and Play For Clusters Cluster is now a DNS service DHCP for server VIPs New tools are introduced old tools retired RAC 11gR2 Install Non Linear Installer Grid Plug and Play SSH Keys OCR/Voting Disks OCR/Voting Disks OCR/Voting disks can be ASM Diskgroup Raw devices are only supported for upgraded clusters Other options are NFS and certified clustered filesystems 3 disks for normal redundancy, 5 disks for high IPMI IPMI (cont) Intelligent Platform Management Interface Defines a cross vendor standard to monitor and manage hardware Dell, HP, IBM, Intel, AMD and dozens more IPMI in relation to RAC allows other nodes to manage the server regardless of the OS state ASM Roles Fix Common Problems Installer can create a script that can fix some problems Won’t install missing packages Finish Install After GUI finished is will ask to run the command oraInrootinst.sh and root.sh Cluster Startup Sequence Init starts Oracle High Availability Service Deamon (OHASD) OHASD starts cssdagent – starts cssd orarootagent – manages all root owned ohasd processes oraagent – manages all oracle owned ohsad resources cssdmonintor – monitors cssd and node health OHASD rootagent starts crsd – main deamon for managing cluster resources ctssd – time synchronization Diskmon ACFS – ASM cluster file system drivers Cluster Startup Sequence Oraagent starts – level 2 mdnsd – used for DNS lookups gipcd – inter-process and inter-node communication gpnpd – Grid Plug & Play deamon EVMD – event monitor ASM – resource for monitoring ASM instance CRSD – level 3 orarootagent oraagent CRSD rootagent – level 4 SCAN VIP(s) - Single Client Access Name Node VIPs – one per node ACFS Registry – For mounting ASM Cluster File System GNS VIP - optional SCAN SIMPLE CLIENT ACCESS NAME A single DNS entry that represents the cluster has a whole Clients no longer need to know the actual servers that are in a cluster THIN connections or connections not using a VIP are better protected against a node failure If using GNS SCAN must be in the domain managed by GNS DNS needs to be able to delegate resolution to GNS If not using GNS DNS should be configured to round robin up to 3 IPs for the SCAN name. Recommend use 11.2 client If using GNS 3 IPs will be requested from DHCP SCAN Listener Listener that is dependent on a SCAN VIP If the SCAN VIP moves to a different node in the cluster the listener will move with the VIP Depending on the number of nodes in a cluster a single node may have more than one SCAN VIP and listener remote_listener parameter should be set to a SCAN VIP for 11gR2 databases Simplify RAC Dataguard connections for clients Two new sqlnet parameters CONNECT_TIME = timeout in seconds RETRY_COUNT = number of tries In a single TNS entry enter both primary and standby servers SCAN address. If the connection is made to standby it will failover to primary. SCAN Load Balancing Client receives IP from DNS or GNS that resolves to SCAN VIP SCAN Listener bound to SCAN VIP redirects client to local listener that has the least load Client connects to the local listener on the node VIP Client needs to be able to connect to SCAN VIP and to the local node VIP and be able to resolve all names SCAN SCAN Listeners Overview Grid - Plug And Play Greatly simplifies the adding/removing and connecting to a cluster Basically run cluster verify script and then addNode.sh Configures cluster listener and ASM No longer use static IPs for VIPs GNS Grid Naming Service Handles name resolution for the cluster Requires DHCP for VIP addresses! DNS needs to delegate resolution for the cluster to GNS Use the GNS VIP not server or scan VIP Bind Example prodcluster.db.oracle.com NS gns.prodcluster.db.oracle.com gns.prodcluster.db.oracle.com. 10.90.51.20 When a client connects the cluster will provide the IP address As RAC servers are added DHCP assigns a VIP address, GNS is updated with the new server’s VIP address and now can route connects to the new server. No client connection strings are never changed Remove a node is basically reversing the process Client Connections With GNS ASM Changes ASM part of grid infrastructure – one less HOME to manage New GUI management tool – asmca Replaces DBCA for ASM management Create diskgroups, volumes, ACFS mounts Enhanced controls to manage ASM attributes SPFILE is stored in ASM diskgroup Cluster reads the diskgroup before ASM starts ASMCMD is greatly enhanced and mostly replaces sqlplus ASM roles can play a large role in managing ASM Diskgroups can be cluster resources ASM Changes (cont) New O/S aware cluster file system (ACFS) ASM disks can be used to create filesystem mounted by O/S Only supported on Redhat/Oracle Linux, other O/S support coming in the future If a file can natively support ASM then the file is not supported on ACFS! No data, control or redo files DirectIO is not available Take advantage of ASM performance over other filesystems ACFS is able to do snapshots Still able to access ASM diskgroups with FTP/HTTP via XMLDB Copy command can copy out and in of ASM (11.1.0.7) ASM Changes (cont) Intelligent placement of data ASM is able to put hot datafiles on the outer edge of the disk Can provide a 50% increase in I/O performance Compatible parameters for both ASM & RDBMS 11.2 Work best with the geometry of the disks are know JOBD – uses disks sectors for data placment LUN – logical sectoring number which may not have any relation to the physical layout of the lun on the disk Diskgroup should be 50% full for full benefit alter diskgroup data add template datafile_hot attributes (hot mirrorhot); ascmd lstmpl –l –G data ASM – Access Control Lists Set permissions at the ASM file level Set permissions for users and groups User is the oracle database software owner Only available for Linux and Unix Not so much for security as for separation of duties Files created in ASM are owned by DBUSER Create a separate OSDBA group for each database using a separate ORACLE_HOME. Need different groups for OSASM and OSDBA for ASM Compatible 11.2 diskgroup both for ASM and RDBMS ASM – Access Control Lists (cont) Disk attributes ACCESS_CONTROL.ENABLED = TRUE ACCESS_CONTROL.MASK has to be set Mask values 6 removes all 2 removes write 0 removes nothing Mask of 026 sets values of 640 read-write for owner, read for group and nothing for everyone else asmcmd> setattr –d data access_control_enabled true sql> alter diskgroup data set attribute ‘access_control.enabled’ = true; ASM Permissions ALTER DISKGROUP ADD USERGROUP … WITH MEMBER ALTER DISKGROUP DROP USERGROUP ALTER DISKGROUP MODIFY USERGROUP ADD MEMBER ALTER DISKGROUP MODIFY USERGROUP DROP MEMBER ALTER DISKGROUP ADD USER ALTER DISKGROUP DROP USER ALTER DISKGROUP SET PERMISSION ALTER DISKGROUP SET OWNERSHIP SELECT * FROM V$ASM_USER SELECT * FROM V$ASM_USERGROUP ALTER DISKGROUP ADD USERGROUP myfiles WITH MEMBER bill; ASM Roles OS groups control rights in ASM OSDBA – can access ASM files and set ACLs ASMOPER – can start/stop ASM OSASM – full ASM control Allow people to administer ASM without having sysdba rights to the databases ASM Commandline Tool ASM Commandline Tool (cont) Create diskgroups from ascmd Same syntax as sqlplus Create diskgroup mydata external redundancy DISK ‘ORCL:DISK1’ NAME mydata1, ‘ORCL:DISK2’ NAME mydata2; Create diskgroup from XML via asmcmd asmcmd> chkdg ASM Commandline Tool (cont) lsdg – list diskgroup information Very similar to select * from v$asm_diskgroup lsdsk – list disk information Same information found in select * from v$asm_disk Cluster Registry & Voting Disks Raw devices only supported for upgraded clusters Can move OCR and Voting disks to ASM diskgroup after upgrade ocrconfig add <diskgroup name> ocrcheck ocrconfig delete <raw device> crsctl query css votedisk crsctl add css votedisk <diskgroup name> crsctl delete css votedisk <raw device> Cluster Management crsctl in the grid infrastructure home manages almost every cluster command crs_* scripts are depreicated Depreciated Commands crs_stat crs_register crs_unregister crs_start crs_stop crs_getperm crs_profile crs_relocate crs_setperm crsctl check crsd crsctl check cssd crsctl check evmd crsctl debug log crsctl set css votedisk crsctl start resources crsctl stop resources Server Pools Create “mini” clusters inside of larger clusters for policy based databases Two default pools Free/Generic Free pool contains servers not assigned to another pool Generic pool is for running pre 11.2 databases and non policy managed databases Specify min/max nodes and priority Cluster manages the members of the pool based on load, availability, priority and min/max requirements Cluster will move servers from free and lower priority pools to meet the needs of the server pool Can create ACL on server pools for role based management Vote/OCR Disk Management Raw is supported for upgraded clusters but it is possible to migrate to ASM disks after 11.2 cluster upgrade Move vote disks to ASM crsctl query css votedisk crsctl replace votedisk +asm_disk_group Move OCR to ASM ocrconfig -add +new_disk_group ocrconfig -delete old_storage_location Troubleshooting Cluster Problems Golden Rule – Ensure time is synced across cluster Help with comparing log files Ensures nodes aren’t evicted due to time skew If NTP is not used Oracle will use Cluste Time Synchronization service Recommend to have cluster down if changing the time Logs are stored under GRID_HOME/log/hostname Main alert log Separate directory for each cluster process Diagnostic Script GRID_HOME/bin/diagcollection.pl Collects cluster and system logs for debugging Troubleshooting (cont) Modify time before node is evicted Default is 30 seconds crsctl set css miscount 45 On busy systems logs may not flush before node reboots Crsctl set css diagwait 13 – force Not set by default Requires cluster outage to set Adding A Node Much easier in 11gR2 Setup ssh keys for new host Run cluster verify tool cluvfy stage –pre crsint –n <new host> <-fixup> Fixes any problems cluvfy stage –pre nodeadd –n <new host> $ORACLE_HOME/oui/bin/addNode.sh –silent “CLUSTER_NEW_NODES=<new host>” “CLUSTER_NEW_VIRTUAL_HOSTNAMES=<new host vip>” Instance Caging Puts a cap on the number of CPUs a instance will use Set the cpu_count parameter Enable resource manager with CPU polices Oracle Joins The Cloud With 11gR2 it is now possible to create few larger clusters while being able to maintain performance, security and reassure customers concerns Increased utilization rates Lower administration costs Happy Management