5 Replies Latest reply on Mar 16, 2015 9:30 AM by JohnWatson2

    Fast intra-CDB db link

    JohnWatson2

      Various Oracle University course materials use the phrase "fast intra-CDB db link" to describe database links between pluggable containers residing in the same CDB. They also state that "...because the link communication does not leave the instance, the link is very fast". I can find no other reference to this "fast intra-CDB db link" concept and my own tests appear to show that database links between containers work in exactly the same way that they do in a non-CDB environment: contacting the listener to estabish a session, and then sending data each way over TCP. So just the same as a loop-back db link in a non-CDB environment.

       

      Can anyone point me to any doc describing how this "fast intra-CDB db link" works? Or confirm that it does or does not exist?

       

      Thank you for any insight.

        • 1. Re: Fast intra-CDB db link

           

          Various Oracle University course materials use the phrase "fast intra-CDB db link" to describe database links between pluggable containers residing in the same CDB. They also state that "...because the link communication does not leave the instance, the link is very fast". I can find no other reference to this "fast intra-CDB db link" concept and my own tests appear to show that database links between containers work in exactly the same way that they do in a non-CDB environment: contacting the listener to estabish a session, and then sending data each way over TCP. So just the same as a loop-back db link in a non-CDB environment.

           

          Can anyone point me to any doc describing how this "fast intra-CDB db link" works? Or confirm that it does or does not exist?

          I assume you are referring to 'Fast Inter-Pluggable Database (PDB) Database Link' As shown on this Oracle architecture doc?

           

          http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/poster/OUTPUT_poster/pdf/Multitenant%20Architecture.…

           

          You may be disappointed to learn that all that is really happening is that Oracle just uses IPC by default for links created between two PDBs.

           

          IPC (Inter-process communication) is a feature of the OS and has been available for decades. You can configure Oracle to use IPC protocol since the early versions of Oracle.

           

          Here is the doc describing how to use IPC for 11g:

          http://docs.oracle.com/cd/B28359_01/gateways.111/b31286/config.htm

          7.4.2.2 IPC Example

          An Oracle database accesses the gateway using Oracle Net and the IPC protocol adapter. The syntax of the connect descriptor entry in tnsnames.ora is:

          . . .

          .Just search the doc for IPC and read all about it.

           

          For 12c Oracle will use IPC for links between PDBs. That eliminates the need for the DBA to actually configure IPC.

           

          No magic - nothing new except the term Oracle created to describe something that you could always configure yourself.

          1 person found this helpful
          • 2. Re: Fast intra-CDB db link
            JohnWatson2

            Thank you for replying. A query of v$session_connect_info.network_service_banner suggests that sessions connected over a database link use TCP, if that is the protocol defined in the link. The listener logs and tracing appear to show this as well. If you have a reference (other than that poster, which is indeed included in some of the Oracle Uni material that I'm asked to teach from time to time) describing this putative use of IPC, I woud be interested to know.

            However, if the "fast intra-CDB link" is supposed to be an automatic switch to IPC, that is a good enough pointer for further research and thank you for that. If I find evidence that it does actually work that way, I'll update this topic accordingly.

            --

            John Watson

            Oracle Certified Master DBA

            • 3. Re: Fast intra-CDB db link
              Arturo Gutierrez

              Hello,

              I recently opened an entry in this forum just to ask the same thing.

               

              Optimize Database Links between PDBs on the same CDB

               

              Take a look.

              But IPC was not possible to do in CDB/PDB env.

               

              Regards

              Arturo

              1 person found this helpful
              • 4. Re: Fast intra-CDB db link

                Hmm - I've never tried it but an obvious test would be to DISABLE TCP and see what happens.

                 

                IPC does NOT use TCP so the hypothesis would be that IPC-specific tasks would continue as expected.

                 

                Oracle certainly executes on standalone machines that aren't connected to any network but I've never tested created IPC connections or database links in that environment.

                 


                • 5. Re: Fast intra-CDB db link
                  JohnWatson2

                  Thank you both for replying. Im going to close this topic with this conclusion (which is of course only my impression of how it works):

                   

                  Links over TCP function exactly the same way in CDB and non-CDB. This appeared to be confirmed by observing network traffic. If the link were implemented over IPC, it might be faster and this is probably what Oracle Uni means when they refer a fast intra-CDB link.