In the latest version of Oracle Database (11g Release 2), there's a new option called Real Application Clusters (RAC) One Node. What is "One Node", and how does it differ from regular RAC?
Mogens Norgaard used to joke about "single node RAC" but now it actually exists!
Basically, One Node is running a RAC database on a single server, rather than across a cluster of servers. There is an Oracle white paper on the topic. Find it here. The money quote is:
"Oracle RAC One Node enables:
• Better server consolidation
• Enhanced protection from failures
• Greater flexibility and workload management
• Better online maintenance
In addition it allows customers to virtualize database storage, standardize their database
environment, and, should the need arise, upgrade to a full multi-node Oracle RAC
database without downtime or disruption."
Related
I have two virtual servers and I installed Oracle 19c on only one server, and I need to install another Oracle database on the second server and I need to make clustering in the database between the two servers. How to do this? Is this available using Windows Cluster?
You can not use windows cluster to deploy oracle RAC. You should oracle's own software (Oracle Cluster ware) to do it.
2.To deploy oracle RAC:
a.If you installed database as a single instance,at first you should convert it to RAC and then through oracle addnode procedure, add the second node to cluster.
b.If your installation is a RAC you should do the prerequisite on the second node and using oracle addnode script, add the second node. in recent versions of oracle addnode has a graphical interface also.
Does Anybody have prior experience to set up Oracle Exadata Active-Active Cluster across OCI regions yet? If yes, can you share possible best practices and guiding principles if possible.
The goal is to set up an Active-Active Oracle Exadata cluster across two OCI regions, so customer can readily access other region if one region goes down. It has to be spontaneous without any downtime. It should not be read only Passive site and if required other site can be used (R & W mode ) at any given point. The requirement is, NOT to waste infra as Passive or Stand by, instead it is expected to use all infra as Active serving customers.
The goal is to set up an Active-Active Oracle Exadata cluster across two OCI regions, so customer can readily access both regions simultaneously at the same time. It has to be spontaneous without any downtime.
Usually, It is known that Dataguard and Goldengate can be used, but I am looking for specific implementation best practices and architectural principles considering App Middle tier accessing DB cluster spontaneously.
Your mentioned that "The goal is to set up an Active-Active Oracle Exadata cluster across two OCI regions, so customer can readily access other region if one region goes down. It has to be spontaneous without any downtime."
The terminology Active-Active or Active-Standby is used from database semantics rather than for an Exadata Cluster(DB System/VM Cluster). So i am going to take the question as that the goal here is to design a DR solution for Exadata database which has stringent RTO goals and you want a solution which is automatic/spontaneous without downtime .
Active Dataguard : OCI/DBAAS allows customers to configure a cross region dataguard . Dataguard(standby) databases are an exact (block to block) copy of the Primary database . Dataguard can be configured in Active dataguard mode which means that the standby database is opened in a Read Only mode . This essentially means that queries (Selects) could be offloaded to the standby database .
a. With proper planning and execution, Oracle Data Guard and Active Data Guard role transitions can effectively minimize downtime and ensure that the database environment is restored with minimal impact on the business.
b. A failover is used when the primary database is deemed lost or unrecoverable, or the expected time to repair exceeds the required recovery time objective (RTO). During a failover the primary database is taken offline at one site and a standby database is brought online as the primary database. Failover can be completely automated using Data Guard Fast-Start Failover or it can be a manual, administrator-driven process . Fast-Start Failover eliminates the uncertainty inherent in a process that requires manual intervention, assuming similar measures have been taken to automate the failover of the application tier to the new primary database. Fast-Start Failover automatically executes a database failover within seconds of an outage being detected and can complete in seconds.
Please note OCI/DBAAS has not implemented fast start failover yet meaning that this cannot be done via console or DBAAS API's .
Please take a look at https://www.doag.org/formes/pubfiles/5256791/2013-DB-Larry_Carpenter-Session_Keynote__Best_Practices_for_Data_Availability_and_Disaster_Protection-Praesentation.pdf (Page level 38 for more details on Fast start failover )
Goldengate
Using goldengate customers can configure Active-Active primary-standby wherein both primary and standby are open in Read write mode . Please note that goldengate replication differs from dataguard replication in the sense that Goldengate standby is not an exact block to block copy of the Primary . There could also be restrictions around specific object datatypes which goldengate can support .
For more details on configuring goldengate to maintain a live standby database and failover best practices , please refer to
https://docs.oracle.com/en/middleware/goldengate/core/19.1/admin/configuring-oracle-goldengate-maintain-live-standby-database.html#GUID-6CE0810E-A681-4CCA-9BC8-539E8A364FD3
https://www.oracle.com/technetwork/database/availability/8399-goldengate-dataguard-1888654.pdf
Please note there is no current offering yet for Goldengate in OCI/DBAAS meaning no console/DBAAS API's for configuring / setting up goldengate standby .
Need to ask a basic question regarding the shared storage mechanism in the RAC environment. I have been through documentations but need someone to confirm the following:
In my scenario, the database is Oracle 11g on Windows 2008 R2. The question is that how will all the nodes participating in the Cluster be connected to the shared storage? Is it through LAN or is it possible to have physical storage in one of the nodes participating in the cluster while other nodes are connected to that node via LAN? The simple question is that where will this shared storage reside?
Many Thanks
The storage will need to be visible to all the nodes, this can be done in various ways. If you are starting on rac its probably a good idea to look through some of the tutorials at oracle-base
Currently our db Oracle 11g R2 enterprise db, has only 1 node and none RAC, and we are getting a new machine, I would like to RAC the old and new node together. (please do not move me to other site, I want to saty in stack over flow).
start with installing the GRID software and configure the cluster. Next install the rdbms software. The installer will detect the cluster and give the choice to install the RAC enabled software on both nodes.
If the software is installed, switch the database to use the new installed RAC enabled ORACLE_HOME. When the database is using the RAC software you can add log groups for the new to create thread. When the logs for the new thread are in place, enable the new thread and start the instance on the new node.
This all assumes that all datafiles are on storage that is shared between both nodes. Of course there are some more details but this is roughly the procedure.
I think the best aproach is to create a one node cluster using the new machine. Export data from old machine to new machine. Add old machine as a cluster node.
Do the old and new machine have the same specs. I think load balancing will be a problemen when specs are different. I don't think it's supported to have different CPU types. Check HW prerequisits
How do I fragment a table so that it is distributed over multiple oracle 9i servers.
Oracle horizontal scability feature is called RAC (Real Application Clusters). It allows a cluster of servers to act as a single database. It is a share-everything architecture: all servers have access to the full database that resides on shared disks.
In other words, you wouldn't "fragment" a table accross multiple servers in Oracle. You can look into partitioning, which allows you to partition a table accross several tablespaces.
Partitioning is an Entreprise Edition feature, RAC is an option of the Entreprise Edition.