Home » RDBMS Server » Server Administration » ALLOW_LEGACY_RECO_PROTOCOL (DB 23.x)
ALLOW_LEGACY_RECO_PROTOCOL [message #689754] Tue, 16 April 2024 05:05 Go to next message
John Watson
Messages: 8938
Registered: January 2010
Location: Global Village
Senior Member
I'm trying to catch up on some 23c new features and came across this parameter ALLOW_LEGACY_RECO_PROTOCOL, default TRUE. The only doc I can find for it is in the DB Reference,

https://docs.oracle.com/en/database/oracle/oracle-database/23/refrn/ALLOW_LEGACY_RECO_PROTOCOL.html

which implies that Uncle Oracle has a new (and presumably better) way for managing distributed transactions, that can be enabled only if all the DBs are release 23. I've read all the way through the sections in the admin guide on distributed transactions, and I don't see anything new: the same 2PC mechanism as before. Has anyone come across this? And know what this "upgraded recovery protocol" is?

I'm asking only out of curiosity, appreciate any insight.


Re: ALLOW_LEGACY_RECO_PROTOCOL [message #689768 is a reply to message #689754] Wed, 17 April 2024 01:49 Go to previous messageGo to next message
Alien
Messages: 292
Registered: June 1999
Senior Member
Hi John,

I presume this has to do with the new raft replication: https://blogs.oracle.com/database/post/raft-replication-in-distributed-23c

Regards,

Arian
Re: ALLOW_LEGACY_RECO_PROTOCOL [message #689769 is a reply to message #689768] Wed, 17 April 2024 02:49 Go to previous messageGo to next message
John Watson
Messages: 8938
Registered: January 2010
Location: Global Village
Senior Member
Thank you for replying, I had not thought that it might be to do with raft.

From the Admin guide chapters on distributed databases,

https://docs.oracle.com/en/database/oracle/oracle-database/23/admin/distributed-database-concepts.html

we have:
Quote:
31.1.1.3 Distributed Databases Versus Replicated Databases
The terms distributed database system and database replication are related, yet distinct.

In a pure (that is, not replicated) distributed database, the system manages a single copy of all data and supporting database objects. Typically, distributed database applications use distributed transactions to access both local and remote data and modify the global database in real-time.
All the discussion is about guaranteeing ACID compliance across a distributed database by means of the with the 2PC commit or rolback process. Raft, as described in the article you referenced, seems to me to be very different: it is about "convergence" of replicated data sets. A critical sentence (which he has copied straight from the docs) may be
Quote:
The application of DML change records to followers, however, is done asynchronously to minimize the impact on transaction latency.
I think this means that at any one moment, the replicated sets will be out of sync (and potentially seen to be out if sync) with each other but over time they will achieve a degree of consistency. To a relational engineer the whole raft concept, if I have it correctly, is anathema. Ted Codd would be spinning in his grave. However a transaction should never be lost, as could certainly happen with Adv Replication or Streams conflict resolution (I don't know how GoldenGate handles conflict resolution).

Perhaps this parameter is part of raft, which would mean that the documentalists have misunderstood it and described it in the wrong place. Quite possible.
Re: ALLOW_LEGACY_RECO_PROTOCOL [message #689796 is a reply to message #689769] Wed, 24 April 2024 02:28 Go to previous message
Alien
Messages: 292
Registered: June 1999
Senior Member
Hi John,

You're probably right that it is another change. In the link, there is a reference to an update of the security. So probably it is not related to raft.
I think poor Ted has plenty reasons to be spinning- with null friction.

Regards,

Arian
Previous Topic: Grants of Select Privilege Thru Stored Procedure
Next Topic: Traditional auditing: how to query existing audits?
Goto Forum:
  


Current Time: Sun Jun 23 15:55:29 CDT 2024