ALLOW_LEGACY_RECO_PROTOCOL [message #689754] |
Tue, 16 April 2024 05:05 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
John Watson
Messages: 8964 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 #689769 is a reply to message #689768] |
Wed, 17 April 2024 02:49 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
John Watson
Messages: 8964 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 Go to previous message](/forum/theme/orafaq/images/up.png) |
![](/forum/images/custom_avatars/71848.jpg) |
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
|
|
|