The document describes setting up a two-node Oracle 12c RAC cluster on two Oracle Linux VMs hosted on Oracle VirtualBox. Key steps include:
1. Installing Oracle Linux on VirtualBox and preparing it for the Oracle installation. This includes installing VirtualBox additions, configuring storage and networks, and disabling unnecessary services.
2. Cloning the first node VM to create an identical second node and reconfiguring its storage, networking and hostname.
3. Configuring DNS and hosts files on both nodes to resolve virtual IPs, scan name, and establish connectivity.
4. Installing Oracle Grid Infrastructure for a cluster using the Oracle installer, configuring SCAN name, adding the second
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Andrejs Prokopjevs
This presentation covers the idea of logical hostname feature and its possible use case with E-Business Suite, why it is a must-have configuration for DR, how it can improve your test/dev instance cloning and lifecycle processes, especially in a cloud deployment, support overview by 11i/R12.0/R12.1, and why it is a very hot topic right now for R12.2. Additionally, we will describe possible advanced configuration scenarios like container based virtualization. The content is based on real client environment implementation experience.
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...Markus Michalewicz
This is the latest version of the Oracle RAC 12c (12.1.0.2) Operational Best Practices presentation as shown during IOUG / Collaborate15. As best practices are a result of true collaboration this will probably be the last version before OOW 2015.
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Andrejs Prokopjevs
This presentation covers the idea of logical hostname feature and its possible use case with E-Business Suite, why it is a must-have configuration for DR, how it can improve your test/dev instance cloning and lifecycle processes, especially in a cloud deployment, support overview by 11i/R12.0/R12.1, and why it is a very hot topic right now for R12.2. Additionally, we will describe possible advanced configuration scenarios like container based virtualization. The content is based on real client environment implementation experience.
Oracle RAC 12c (12.1.0.2) Operational Best Practices - A result of true colla...Markus Michalewicz
This is the latest version of the Oracle RAC 12c (12.1.0.2) Operational Best Practices presentation as shown during IOUG / Collaborate15. As best practices are a result of true collaboration this will probably be the last version before OOW 2015.
Talk by Brendan Gregg for USENIX LISA 2019: Linux Systems Performance. Abstract: "
Systems performance is an effective discipline for performance analysis and tuning, and can help you find performance wins for your applications and the kernel. However, most of us are not performance or kernel engineers, and have limited time to study this topic. This talk summarizes the topic for everyone, touring six important areas of Linux systems performance: observability tools, methodologies, benchmarking, profiling, tracing, and tuning. Included are recipes for Linux performance analysis and tuning (using vmstat, mpstat, iostat, etc), overviews of complex areas including profiling (perf_events) and tracing (Ftrace, bcc/BPF, and bpftrace/BPF), and much advice about what is and isn't important to learn. This talk is aimed at everyone: developers, operations, sysadmins, etc, and in any environment running Linux, bare metal or the cloud."
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
Logical dumps are becoming popular again. MySQL Shell parallel dump & load utility changed to way to deal with logical dumps, certainly when using instances in the cloud. MySQL 8.0 released also an awesome physical snapshot feature with CLONE.
In this session, I will show how to use these two ways of saving your data and how to use the generated backup to perform point-in-time recovery like a rockstar with MySQL 8.0 in 2022 !
Starting with 12c Release 1, Oracle introduced a completely new architecture concept for its database - the Container Database.
With this new architecture, new challenges came up but with the same breath a wide branch of new opportunities.
The presentation will address the capabilities to create fast and easy new (test) databases or clones for a running production database. Five different ways will be discussed.
- Using Local and Remote Cloning
- Using an Unplugged PDB (predefined master)
- Using Refreshable PDBs as a master for new (test) databases
- Snapshot Carousel
Another point of the agenda is the usage of the Snapshot features of ACFS and Direct NFS to speed up the creation process.
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...ScyllaDB
Unikernels have been demonstrated to deliver excellent performance in terms of throughput and latency, while providing high isolation. However they have also been shown to underperform in some types of workloads when compared to a generic OS like Linux. In this presentation, we demonstrate that certain types of workloads - web servers, microservices, and other stateless and/or serverless apps - can greatly benefit from OSv optimized networking stack and other features. We describe number of experiments where OSv outperforms Linux guest: most notably we note 1.6 throughput (req/s) and 0.6 latency improvement (at p99 percentile) when running nginx and 1.7 throughput (req/s) and 0.6 latency improvement (at p99 percentile) when running simple microservice implemented in Golang.
We also show that OSv' small kernel, low boot time and memory consumption allow for very high density when running server-less workloads. The experiment described in this presentation shows we can boot 1,800 OSv microVMs per second on AWS c5n.metal machine with 72 CPUs (25 boots/sec on single CPU) with guest boot time recorded as low as 8.98ms at p50 and 31.49ms at p99 percentile respectively.
Lastly we also demonstrate how to automate the build process of the OSv kernel tailored exactly to the specific app and/or VMM so that only the code and symbols needed are part of the kernel and nothing more. OSv is an open source project and can be found at https://github.com/cloudius-systems/osv.
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
Standard Edition High Availability (SEHA) is the latest addition to Oracle’s high availability solutions. This presentation explains the motivation for Standard Edition High Availability, how it is implemented and the way it works currently as well as what is planned for future improvements. It was first presented during Oracle Groundbreakers Yatra (OGYatra) Online in July 2020.
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Sandesh Rao
In this session, I will cover under-the-hood features that power Oracle Real Application Clusters (Oracle RAC) 19c specifically around Cache Fusion and Service management. Improvements in Oracle RAC helps in integration with features such as Multitenant and Data Guard. In fact, these features benefit immensely when used with Oracle RAC. Finally we will talk about changes to the broader Oracle RAC Family of Products stack and the algorithmic changes that helps quickly detect sick/dead nodes/instances and the reconfiguration improvements to ensure that the Oracle RAC Databases continue to function without any disruption
Oracle Flex ASM - What’s New and Best Practices by Jim WilliamsMarkus Michalewicz
Oracle Open World (OOW) 2014 Presentation by Jim Williams (Oracle ASM Product Manager) on Oracle Flex ASM - What's New and Best Practices. The presentation provides an overview of enhancements (What's New) in Oracle ASM 12c, especially with respect to Oracle Flex ASM, and provides best practices which can be applied in any environment (Flex or Standard ASM). This presentation has also more background information for some of the configuration recommendations that I made in my "Oracle RAC (12.1.0.2) Operational Best Practices" presentation.
Smart monitoring how does oracle rac manage resource, state ukoug19Anil Nair
An important requirement for HA and to provide scalability is to detect problems and resolve them quickly before the user sessions get affected. Oracle RAC along with its Family of Solutions work together cohesively to detect conditions such as "Un-responsive Instances", Network issues quickly and resolve them by either redirecting the work to other instances or redundant network paths
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
A presentation for developers, DBAs, and managers. This presentation was first presented in course of the AIOUG Maximum Availability Architecture (MAA)-focus month August 2021. The first reason might surprise you!
Session Description:
In this session, Ravi Described some use cases about harmonizing Ceph storage with Apache CloudStack for a CloudStack infrastructure setup. This includes using primary and secondary storage for CloudStack, synchronizing and rendering VM snapshots accessible across remote zones, fortifying storage for disaster recovery, and upholding client VM data backup.
Speaker Bio:
Ravichandran has 15+ years of technical expertise in Linux and Cloud solutions in Assistanz Networks Private Limited. Ravi is currently leading Business Development at Apache CloudStack consulting, Storage solutions and Stackbill CMP product.
---------------------------------------------
On Friday 18th August, the Apache CloudStack India User Group 2023 took place in Bangalore, seeing CloudStack enthusiasts, experts, and industry leaders from across the country, discuss the open-source project. The meetup served as a vibrant platform to delve into the depths of Apache CloudStack, share insights, and forge new connections.
How Netflix Tunes EC2 Instances for PerformanceBrendan Gregg
CMP325 talk for AWS re:Invent 2017, by Brendan Gregg. "
At Netflix we make the best use of AWS EC2 instance types and features to create a high performance cloud, achieving near bare metal speed for our workloads. This session will summarize the configuration, tuning, and activities for delivering the fastest possible EC2 instances, and will help other EC2 users improve performance, reduce latency outliers, and make better use of EC2 features. We'll show how we choose EC2 instance types, how we choose between EC2 Xen modes: HVM, PV, and PVHVM, and the importance of EC2 features such SR-IOV for bare-metal performance. SR-IOV is used by EC2 enhanced networking, and recently for the new i3 instance type for enhanced disk performance as well. We'll also cover kernel tuning and observability tools, from basic to advanced. Advanced performance analysis includes the use of Java and Node.js flame graphs, and the new EC2 Performance Monitoring Counter (PMC) feature released this year."
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
At the end of the year 2020, Oracle released 21c on its Cloud infrastructure. The on-premises version will follow later this year. As with every new Oracle version, the Data Pump utility gets new features or enhancements for existing features.
This presentation gives an overview of the enhancements of Data Pump and Transportable Tablespaces. The following list is an excerpt of the points I will talk about
- Simultaneous use of EXCLUDE and INCLUDE
- Parallelized import of metadata during a TTS import operation
- Checksum support for dump files
- Direct access to Oracle Cloud Object Store for exports and imports
Talk by Brendan Gregg for USENIX LISA 2019: Linux Systems Performance. Abstract: "
Systems performance is an effective discipline for performance analysis and tuning, and can help you find performance wins for your applications and the kernel. However, most of us are not performance or kernel engineers, and have limited time to study this topic. This talk summarizes the topic for everyone, touring six important areas of Linux systems performance: observability tools, methodologies, benchmarking, profiling, tracing, and tuning. Included are recipes for Linux performance analysis and tuning (using vmstat, mpstat, iostat, etc), overviews of complex areas including profiling (perf_events) and tracing (Ftrace, bcc/BPF, and bpftrace/BPF), and much advice about what is and isn't important to learn. This talk is aimed at everyone: developers, operations, sysadmins, etc, and in any environment running Linux, bare metal or the cloud."
FOSDEM 2022 MySQL Devroom: MySQL 8.0 - Logical Backups, Snapshots and Point-...Frederic Descamps
Logical dumps are becoming popular again. MySQL Shell parallel dump & load utility changed to way to deal with logical dumps, certainly when using instances in the cloud. MySQL 8.0 released also an awesome physical snapshot feature with CLONE.
In this session, I will show how to use these two ways of saving your data and how to use the generated backup to perform point-in-time recovery like a rockstar with MySQL 8.0 in 2022 !
Starting with 12c Release 1, Oracle introduced a completely new architecture concept for its database - the Container Database.
With this new architecture, new challenges came up but with the same breath a wide branch of new opportunities.
The presentation will address the capabilities to create fast and easy new (test) databases or clones for a running production database. Five different ways will be discussed.
- Using Local and Remote Cloning
- Using an Unplugged PDB (predefined master)
- Using Refreshable PDBs as a master for new (test) databases
- Snapshot Carousel
Another point of the agenda is the usage of the Snapshot features of ACFS and Direct NFS to speed up the creation process.
OSv Unikernel — Optimizing Guest OS to Run Stateless and Serverless Apps in t...ScyllaDB
Unikernels have been demonstrated to deliver excellent performance in terms of throughput and latency, while providing high isolation. However they have also been shown to underperform in some types of workloads when compared to a generic OS like Linux. In this presentation, we demonstrate that certain types of workloads - web servers, microservices, and other stateless and/or serverless apps - can greatly benefit from OSv optimized networking stack and other features. We describe number of experiments where OSv outperforms Linux guest: most notably we note 1.6 throughput (req/s) and 0.6 latency improvement (at p99 percentile) when running nginx and 1.7 throughput (req/s) and 0.6 latency improvement (at p99 percentile) when running simple microservice implemented in Golang.
We also show that OSv' small kernel, low boot time and memory consumption allow for very high density when running server-less workloads. The experiment described in this presentation shows we can boot 1,800 OSv microVMs per second on AWS c5n.metal machine with 72 CPUs (25 boots/sec on single CPU) with guest boot time recorded as low as 8.98ms at p50 and 31.49ms at p99 percentile respectively.
Lastly we also demonstrate how to automate the build process of the OSv kernel tailored exactly to the specific app and/or VMM so that only the code and symbols needed are part of the kernel and nothing more. OSv is an open source project and can be found at https://github.com/cloudius-systems/osv.
Standard Edition High Availability (SEHA) - The Why, What & HowMarkus Michalewicz
Standard Edition High Availability (SEHA) is the latest addition to Oracle’s high availability solutions. This presentation explains the motivation for Standard Edition High Availability, how it is implemented and the way it works currently as well as what is planned for future improvements. It was first presented during Oracle Groundbreakers Yatra (OGYatra) Online in July 2020.
Oracle Real Application Clusters 19c- Best Practices and Internals- EMEA Tour...Sandesh Rao
In this session, I will cover under-the-hood features that power Oracle Real Application Clusters (Oracle RAC) 19c specifically around Cache Fusion and Service management. Improvements in Oracle RAC helps in integration with features such as Multitenant and Data Guard. In fact, these features benefit immensely when used with Oracle RAC. Finally we will talk about changes to the broader Oracle RAC Family of Products stack and the algorithmic changes that helps quickly detect sick/dead nodes/instances and the reconfiguration improvements to ensure that the Oracle RAC Databases continue to function without any disruption
Oracle Flex ASM - What’s New and Best Practices by Jim WilliamsMarkus Michalewicz
Oracle Open World (OOW) 2014 Presentation by Jim Williams (Oracle ASM Product Manager) on Oracle Flex ASM - What's New and Best Practices. The presentation provides an overview of enhancements (What's New) in Oracle ASM 12c, especially with respect to Oracle Flex ASM, and provides best practices which can be applied in any environment (Flex or Standard ASM). This presentation has also more background information for some of the configuration recommendations that I made in my "Oracle RAC (12.1.0.2) Operational Best Practices" presentation.
Smart monitoring how does oracle rac manage resource, state ukoug19Anil Nair
An important requirement for HA and to provide scalability is to detect problems and resolve them quickly before the user sessions get affected. Oracle RAC along with its Family of Solutions work together cohesively to detect conditions such as "Un-responsive Instances", Network issues quickly and resolve them by either redirecting the work to other instances or redundant network paths
The Top 5 Reasons to Deploy Your Applications on Oracle RACMarkus Michalewicz
A presentation for developers, DBAs, and managers. This presentation was first presented in course of the AIOUG Maximum Availability Architecture (MAA)-focus month August 2021. The first reason might surprise you!
Session Description:
In this session, Ravi Described some use cases about harmonizing Ceph storage with Apache CloudStack for a CloudStack infrastructure setup. This includes using primary and secondary storage for CloudStack, synchronizing and rendering VM snapshots accessible across remote zones, fortifying storage for disaster recovery, and upholding client VM data backup.
Speaker Bio:
Ravichandran has 15+ years of technical expertise in Linux and Cloud solutions in Assistanz Networks Private Limited. Ravi is currently leading Business Development at Apache CloudStack consulting, Storage solutions and Stackbill CMP product.
---------------------------------------------
On Friday 18th August, the Apache CloudStack India User Group 2023 took place in Bangalore, seeing CloudStack enthusiasts, experts, and industry leaders from across the country, discuss the open-source project. The meetup served as a vibrant platform to delve into the depths of Apache CloudStack, share insights, and forge new connections.
How Netflix Tunes EC2 Instances for PerformanceBrendan Gregg
CMP325 talk for AWS re:Invent 2017, by Brendan Gregg. "
At Netflix we make the best use of AWS EC2 instance types and features to create a high performance cloud, achieving near bare metal speed for our workloads. This session will summarize the configuration, tuning, and activities for delivering the fastest possible EC2 instances, and will help other EC2 users improve performance, reduce latency outliers, and make better use of EC2 features. We'll show how we choose EC2 instance types, how we choose between EC2 Xen modes: HVM, PV, and PVHVM, and the importance of EC2 features such SR-IOV for bare-metal performance. SR-IOV is used by EC2 enhanced networking, and recently for the new i3 instance type for enhanced disk performance as well. We'll also cover kernel tuning and observability tools, from basic to advanced. Advanced performance analysis includes the use of Java and Node.js flame graphs, and the new EC2 Performance Monitoring Counter (PMC) feature released this year."
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
At the end of the year 2020, Oracle released 21c on its Cloud infrastructure. The on-premises version will follow later this year. As with every new Oracle version, the Data Pump utility gets new features or enhancements for existing features.
This presentation gives an overview of the enhancements of Data Pump and Transportable Tablespaces. The following list is an excerpt of the points I will talk about
- Simultaneous use of EXCLUDE and INCLUDE
- Parallelized import of metadata during a TTS import operation
- Checksum support for dump files
- Direct access to Oracle Cloud Object Store for exports and imports
A presentation about new features and enhancements related to indexes and indexing in Oracle 12c.
See also the related post: http://db-oriented.com/2015/07/03/indexes-and-indexing-in-oracle-12c
Oracle 12c New Features For Better PerformanceZohar Elkayam
Oracle 12cR1 and 12cR2 came with some great features for better performance and scaling. In this session we will talk about some of the new features that might improve performance greatly: Optimizer changes, adaptive plans improvements, changes to statistics gathering and we'll get to know Oracle 12cR2 new sharding option
On the agenda:
- Oracle Database In Memory (Column Store)
- Oracle Sharding (12.2.0.1)
- Optimizer changes in 12c
- Statistics changes in 12c.
Presented first at ilOUG - Israel Oracle User Group meetup in February 2017.
[including promised hidden slide.. :) ]
This presentation talks about the different ways of getting SQL Monitoring reports, reading them correctly, common issues with SQL Monitoring reports - and plenty of Oracle 12c-specific improvements!
Big Data in Container; Hadoop Spark in Docker and MesosHeiko Loewe
3 examples for Big Data analytics containerized:
1. The installation with Docker and Weave for small and medium,
2. Hadoop on Mesos w/ Appache Myriad
3. Spark on Mesos
Imagine this: You wake up one day in a world without technology – all the computers on the planet just disappeared. First of all, you’d wake up late because your smartphone alarm no longer exists.
With the rise of cloud computing and the death of the Xserve, learn how you can deploy your WebObjects applications on a Linode private virtual server.
DataStax | DSE: Bring Your Own Spark (with Enterprise Security) (Artem Aliev)...DataStax
Connecting Apache Spark to C* is easy, thanks to DataStax Spark Cassandra Connector. But what about Security?
The DSE bring Enterprise security and Kerberos support to C*. Latest Hadoop distribution has Spark support and also support Kerberos. So now you can add a Cassandra to you Hadoop infrastructure with integrated security and build reliable speed level and streaming applications by combining data from both worlds.
This presentation will show all that fun around security configurations
1. DSE client with SSL and Kerberos
2. Connect from Hadoop Spark to DSE
3. Connect DSE Spark to HDFS sources.
4. And all above even with Widows DC :)
About the Speaker
Artem Aliev Software Developer, DataStax
Artem Aliev is a software developer in the DataStax Analytics team. He works on integrating C* database with analytics solution like Spark and Hive.
https://bit.ly/BabeSideDoll4u Babeside is a company that specializes in creating handcrafted reborn dolls. These dolls are designed to be incredibly lifelike, with realistic skin tones and hair, and they have become increasingly popular among collectors and those who use them for therapeutic purposes. At Babeside, we believe that our reborn dolls can provide comfort and healing to anyone who needs it.
The Healing Power of Babeside's Handcrafted Creations
Our reborn dolls are more than just beautiful pieces of art - they can also help alleviate stress, anxiety, depression, and other mental health conditions. Studies have shown that holding or cuddling a soft object like a stuffed animal or a reborn doll can release oxytocin, which is often referred to as the "love hormone." This hormone helps us feel calm and relaxed, reducing feelings of stress and anxiety.
In addition to their physical benefits, reborn dolls can also offer emotional support. For many people, having something to care for and nurture can bring a sense of purpose and fulfillment. Reborn dolls can also serve as a reminder of happy memories or loved ones who have passed away.
Welcome to the Program Your Destiny course. In this course, we will be learning the technology of personal transformation, neuroassociative conditioning (NAC) as pioneered by Tony Robbins. NAC is used to deprogram negative neuroassociations that are causing approach avoidance and instead reprogram yourself with positive neuroassociations that lead to being approach automatic. In doing so, you change your destiny, moving towards unlocking the hypersocial self within, the true self free from fear and operating from a place of personal power and love.
3. Agenda
• Target and Resources
• Session 1
– Install Oracle Linux on Virtual Box
– Prepare it for Oracle Installation
– Clone a second node and make it work
• Session 2 or maybe a Session 3
– IP planning and Configure DNS
– Install Grid Infrastructure
– Install Oracle RDBMS and Create Database
– Verifying & Exploring RAC
• New topic volunteering opportunities
4. Target
• To build up a two-node RAC based on Oracle 12c hosted by
Oracle Linux 6.5 and virtualized by Oracle VirtualBox
racnd1 racnd2
Private network
public network
ASM1
orcl1
orcl2
ASM2
Cluster SCAN:orcl-scan
Service:orcl
Virtual network
192.168.1.20192.168.1.10
192.168.1.30/31/32
192.168.1.21192.168.1.11
-- VirtualBox
-- No NTP
-- Simple Storage
Solution
5. Resources
• somewhereRACLab
– GridAndORA: contains Oracle 12c database and Grid
Infrastructure installation disks
– OraLinux: Oracle Unbreakable Enterprise Linux 6.5
– VirtualBox: Oracle VirtualBox installer for windows
– RAC2NodesExample: a completed installation
• somewhereVMWare ImagesRAC12C
– Two nodes RAC built in VMWare workstation.
– More complex with iSCSI as shared storage, NTP setup
and OpenFiler as NTP Server and host of shared
storage
7. Session 1
– Install Oracle Linux on Virtual Box
– Install client additions
– Prepare it for Oracle Installation
– Prepare shared storage
– Clone a second node and make it work
• Remove clone of shared disks
• Define shared disks
• Reconfigure network interfaces
8. Prepare directories and resources
– Make directory d:VboxVms and d:R12cResource
– Copy oracleLinux6.5_V41362-01 to
d:R12cResource; copy all files under
somewhereRACLabGridAndORA to
d:R12cResource
– Extract all the zip files in d:R12cResource. You will
have database for RDBMS and grid for grid
infrastructure
9. Install Oracle Linux on Virtual Box
• Start VirtualBox.
• Change default machine folder to D:VBVMs
• New to create new virtual machine
10. Install Oracle Linux
• Memory size: 2560mb
• Hard drive: create a virtual hard drive now:
VDI, Dynamically allocated,30GB
• Network: first two as host-only adapter, third
one as NAT. Make all enabled
12. Install Oracle Linux
• Skip media checking
• Name it as racnd1
• Network:
– Eth0: auto connect, manual ip 192.168.1.10/255.255.255.0
– Eth 1:auto connect, manual ip 192.168.2.10/255.255.255.0
– Eth2: not auto connect, DHCP
• Install as desktop so that x-windows server be installed. Check
HA is you like.
13. Install VirtualBox client additions
• After rebooting, logon with root.
• Enabled eth2 and connect to internet
– yum install gcc kernel-uek-devel-3.8.13-16.2.1.el16uek.x86_64
– Reboot
• DevicesInsert Gest Additions… run and let it finish. Eject the
CD.
• Mouse cursor is no longer captured
• Shared folder should be supported now
14. Prepare Oracle Installation
• Enable eth2
• yum install oracle-rdbms-server-12cR1-preinstall
– this will download all the dependencies that are
required by oracle installation. Create oracle user,
oinstall group, dba group. Log file is at /var/log/oracle-
rdbms-server-12cR1-preinstall/results/orakernel.log
• Verify users and groups are created
– ls /etc/passwd ls /etc/group
• passwd oracle
15. Prepare Oracle Installation
• Make oracle base
– mkdir -p /u01/app/oracle
– chown -R oracle:oinstall /u01
• Define variable
– vi /home/oracle/.bash_profile
• export ORACLE_BASE= /u01/app/oracle
16. Prepare Shared Storage
• shutdown now –h
• Configure racnd1’s storage to have two shared
disks:ASM1 and ASM2
– mkdir D:VBVMsSharedDisks
– Create new disk under SATA controller
– VDI, Fixed size, 6GB
18. Prepare Shared Storage
• fdisk –l to verify sdb and sdc are available
• Create partition on new disks
– fdisk /dev/sdb
• n,p,1,use default, use default,w
– fdisk /dev/sdc
• n,p,1,use default, use default,w
– fdisk –l to verify
19. Prepare Shared Storage
• Make persistent storage reference
– echo options=-g >/etc/scsi_id.config
– less /etc/scsi_id.config to confirm
– prepare /etc/udev/rules.d/99-ora-asm-devices.rules by running
the following scripts:
i=1
cmd="/sbin/scsi_id -g -u -d"
for disk in sdb sdc ; do
cat <<EOF >> /etc/udev/rules.d/99-ora-asm-devices.rules
KERNEL=="sd?1", BUS=="scsi", PROGRAM=="$cmd /dev/$parent",
RESULT=="`scsi_id -g -u -d /dev/$disk`", NAME="asm-disk$i",
OWNER="oracle", GROUP="dba", MODE="0660"
EOF
i=$(($i+1))
done
20. Prepare shared storage
• Refresh udev
– /sbin/partprobe /dev/sdb1 /dev/sdc1
– /sbin/udevadm test block/sdb/sdb1
– /sbin/udevadm test /block/sdb/sdc1
– /sbin/udevadm control --reload-rules
– /sbin/start_udev
– ls /dev/asm* should be able to see the two disks
21. Disable Features/Services
• Disable selinux
– Edit /etc/sysconfig/selinux
• selinux=disabled
• Disable NTP so that OUI will decide to use Cluster
Time Synchronization Service (CTSS) which is part
of Oracle Clusterware.
– mv /etc/ntp.conf /etc/ntp.conf.orig
• Disable firewall
– /etc/rc.d/init.d/iptables status
– /etc/rc.d/init.d/iptables stop
– chkconfig iptables off
22. Clone an VM
• Now we’ve got an VM that is almost all prepared
for Oracle installation
• Clone it so that we will save time on preparing
the second node.
– Machine/clone… full clone. This will take a while
– Name it racnd2 with MAC address reinitialized
– Reconfigure storage
• Remove newly cloned and add shared disks
• Remove the newly cloned disks permanently from Virtual
Media Manager
23. Clone an VM
• Power on and configure the network
– Remove the ones cloned from racnd1
• System eth0,1,2
– Auto eth3: manual 192.168.1.20/255.255.255.0
– Auto eth4:manual 192.168.2.20/255.255.255.0
– Auto eth5: not connecting automatically, DHCP
– Change hostname to be racnd2
• /etc/sysconfig/network
– HOSTNAME=racnd2
– rm /etc/udev/rules.d/70-persistent-net.rules
• Reboot to automatically regenerate the rule file
– Verify the shared storage is still available
• Ls /dev/asm*
24. Session2
– IP planning
– Configure DNS
– Install Grid Infrastructure
– Install Oracle RDBMS and Create Database
– Verification: get the feet wet on RAC
25. IP Planning
• racnd1
– 192.168.1.10 racnd1
– 192.168.2.10 racnd1-priv
– 192.168.1.11 racnd1-vip
• racnd2
– 192.168.1.20 racnd2
– 192.168.2.20 racnd2-priv
– 192.168.1.21 racnd2-vip
Single client access name:
orcl-scan
• 192.168.1.30 orcl-scan
• 192.168.1.31 orcl-scan
• 192.168.1.32 orcl-scan
• Virtual IP addresses must be in same network as public ip addresses. They are
used by cluster ware to implement its failover mechanism. E.g. in tnsnames.ora
• Private IP is for cluster’s internal communications(cache fusion, interconnect).
• Public IP is normal IP address. DBAs use them to access the server
• SCAN is a single service name known by clients. A name that represents the
cluster.
26. Configure DNS
• Make racnd1 as DNS server
– Enable internet by enabling eth2
– yum install bind-libs bind bind-utils
– /etc/named.conf
• gedit /etc/named.conf
• Replace the content with the content in the embedded
object
• Save and close
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 127.0.0.1;192.168.1.10; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "localdomain." IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa." IN {
type master;
file "1.168.192.in-addr.arpa";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
27. Configure DNS
• Make racnd1 DNS server – continued
– gedit /var/named/localdomain.zone
• Fill it with the content in the embedded object.
– Gedit /var/named/1.168.192.in-addr.arpa
• Fill it with the content in the embedded object
$TTL 86400
@ IN SOA localhost root.localhost (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS localhost
localhost IN A 127.0.0.1
racnd1 IN A 192.168.1.10
racnd2 IN A 192.168.1.20
racnd1-priv IN A 192.168.2.10
racnd2-priv IN A 192.168.2.20
racnd1-vip IN A 192.168.1.11
racnd2-vip IN A 192.168.1.21
orcl-scan IN A 192.168.1.30
orcl-scan IN A 192.168.1.31
orcl-scan IN A 192.168.1.32
$TTL 1H
@ IN SOA racnd1.localdomain. root.racnd1.localdomain. ( 2
3H
1H
1W
1H )
1.168.192.in-addr.arpa. IN NS localdomain.
10 IN PTR racnd1.localdomain.
20 IN PTR racnd2.localdomain.
11 IN PTR racnd1-vip.localdomain.
21 IN PTR racnd2-vip.localdomain.
30 IN PTR orcl-scan.localdomain.
31 IN PTR orcl-scan.localdomain.
32 IN PTR orcl-scan.localdomain.
28. Configure DNS
• Make racnd1 as DNS server – continued
– Start DNS
• Service named start
– Start it automatically
• chkconfig named on
• Make both racnd1 and racnd2 to use DNS
– Edit the adapter of 192.168.1 network
to have 192.168.1.10 as their name server.
30. Test SSH
• Query package
– rpm -qa --queryformat "%{NAME}-%{VERSION}-
%{RELEASE} (%{ARCH})n"| grep ssh
• On racnd1, as oracle
– ssh racnd2
• On racnd2, as oracle
– ssh racnd1
• Make sure ssh is working. If not, correct it.
31. Install Grid Infrastructure
• Configure the shared folders
– In VirtualBox racnd1’s setting dialog, add
D:R12cResource
– Reboot the racnd1, logon as oracle
– su – and mount the shared folder
• Mkdir –p /media/ R12cResource
• mount -t vboxsf R12cResource /media/R12cResource
• Exit
– cd /media/R12cResource/grid
– ./runInstaller
32. Install Grid Infrastructure
• Skip software update
• Install and configure oracle Grid Infrastructure for a cluster
• Configure a standard cluster
• Typical installation—otherwise has to be familiar with GNS
the first
• SCAN name: orcl-scan
• Add racnd2
• Setup SSH connectivity
– Provide password,setup then test
• Identify network interfaces to make sure private and public
networks are correctly associated with corresponding
network
37. Install Grid Infrastructure
• Accept default inventory directory definition
• Automatically run configuration scripts
• Fix the cvuqdisk-1.0.9-1 and check again.
• agree to Run fix-up scripts
• Ignore other (two) warning on prerequisite
checks
• Review summary and install.
– Slow process
– Tail –f /u01/app/oraInventory/logs/installActionsyyyy-
mm-dd_xx-xx-xxPM.log
38. Install Grid Infrastructure
• Simple verification
– Ps –ef|grep asm
– export ORACLE_SID=ASM1; export
ORACLE_HOME=/u01/app/12.1.0/grid
– cd /u01/app/12.1.0/grid/bin
– ./asmca to view ASM instances and the disk group
– crsctl stat res –t to view cluster component status
39. Install Oracle 12c RDBMS and create database
On racnd1
– cd /media/R12cResource/database
– ./runInstaller
– Do not provide email and skip software update
– Create and configure database
– Server class
– Oracle RAC database installation
– Admin managed
– Choose all the nodes
– Typical install
47. Connect to a cluster
• This can be done on any machine that is not part of the
cluster, but should be in same network as cluster’s public
network
– From a third VW if your resource is enough
– From VM’s host if an Oracle client is installed
– From one of node with cluster instance name: orcl. This is
simplest method, but you have to believe it is working as if you
connect from third computer
• I adopt method 2
– http://www.oracle.com/technetwork/topics/winx64soft-
089540.html
• instantclient-basiclite-windows.x64-12.1.0.1.0
• instantclient-sqlplus-windows.x64-12.1.0.1.0
• Unzip them to same folder
48. Configure host network
• Go to property of VirtualBox Host-Only Network in network
connections
• Bring up the IPv4’s properties
– Change IP to be 192.168.1.1, DNS to be 192.168.1.10
– In DNS, add localdomain as DNS suffix
– Test the network by
• ping 192.168.1.10
• Ping racnd1.localdomain
• Ping racnd1
• Ping orcl-scan
– Verify SCAN is running
• ./svrctl status scan
• ./svrctl status scan_listener
49. Connect from host
• Using basic connection descriptor
– sqlplus scott/tiger@192.168.1.30/orcl
– sqlplus scott/tiger@orcl-scan/orcl
– But accessing to individual instance will fail
because local listener is not accessible directly
remotely. It has to go through SCAN listener the
first. The SCAN listener pick one with less work
load to serve the client
• sqlplus scott/tiger@192.168.1.10/orcl1
• sqlplus scott/tiger@192.168.1.10/orcl
50. Failover is not working?
• Start one node, connect to it from client. Then start second
node.
• Now shutdown first node, querying database will return end
of file error
• Restart first node, and re-issue query will be reported not
connected to oracle.
51. Transparent Application Failover
• Applications and users are automatically and
transparently reconnected to another system,
applications and queries continue
uninterrupted, and the login context is
maintained. But transaction will be aborted
and transaction management has to be done
inside application.
52. Configure TAF
• It’s through client side configuration. I guess the SCAN is only
meaningful here in term of new connections can still connect
to same database as long as one instance is still running.
• tnsnames.ora
raclab =
(DESCRIPTION =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = PRECONNECT)
(BACKUP=192.168.1.21)
)
)
)
53. Test Failover 1
• sqlplus sys@rablab as sysdba
– Check instance that is serving
• On racnd1, abort service
srvctl status database -d orcl
srvctl stop instance -d orcl -i orcl1 -o abort
• Rerun the query. Check which node is serving. It should
failover to racnd2
• Start the node racnd1, then shutdown node racnd2
srvctl start instance -d orcl -i orcl1
srvctl stop instance -d orcl -i orcl2 -o abort
• Rerun the query, check which node is serving. It should
go back to racnd1
COLUMN instance_name FORMAT a13
COLUMN host_name FORMAT a9
COLUMN failover_method FORMAT a15
COLUMN failed_over FORMAT a11
SELECT DISTINCT
v.instance_name AS instance_name,
v.host_name AS host_name,
s.failover_type AS failover_type,
s.failover_method AS failover_method,
s.failed_over AS failed_over
FROM v$instance v, v$session s
WHERE s.username = 'SYS';
54. Test Failover 2
• Configure another TNS name orcllab without
failover enabled
• Create test package under scott
• Run this script to retrieve result from a slow
query
select * from table(AMATest.f_SlowResponse (restSecond =>
1));
• Non-failover connection, returns no row
• Failover connection returns rows normally but
using longer time
CREATE OR REPLACE PACKAGE AMATest
IS
Type recRow is Record
(
f1 varchar2(30),
f2 number
);
TYPE RecTable IS TABLE OF recRow;
FUNCTION f_SlowResponse(restSecond int)
return AMATest.RecTable PIPELINED DETERMINISTIC;
END AMATest;
/
CREATE OR REPLACE PACKAGE BODY AMATest
is
/*
example:
select * from table(AMATest.f_SlowResponse (restSecond => 2));
*/
FUNCTION f_SlowResponse(restSecond int)
return AMATest.RecTable PIPELINED DETERMINISTIC
is
begin
FOR aRec IN (select ename,deptno from scott.emp)
LOOP
pipe ROW(aRec);
dbms_lock.sleep(restSecond);
END LOOP;
return;
end;
end AMATest;
/
orcllab =
(DESCRIPTION =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.30)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
Unlike traditional Unix systems, where the device nodes in the /dev directory have been a static set of files, the Linux udev device manager dynamically provides only the nodes for the devices actually present on a system.
udev supports persistent device naming, which does not depend on, for example, the order in which the devices are plugged into the system. The default udev setup provides persistent names for storage devices. Any hard disk is recognized by its unique filesystem id, the name of the disk and the physical location on the hardware it is connected to.