OUTBOUND_DBLINK_PROTOCOLS  specifies the network protocols allowed for communicating for outbound/outgoing database links in the database. It is introduced in Oracle 12.2 release.

Possible values - { ALL | NONE | [ TCP | [, ] | TCPS | [, ] | IPC ] }

By default, the value is set to ALL. i.e User can fetch data using db_link.

For better understanding, let-s check the below example.

With OUTBOUND_DBLINK_PROTOCOLS=ALL

SQL> show parameter outbound

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
outbound_dblink_protocols            string      ALL


SQL> create public database link TESTLINK connect to system identified by oracle using 'D2ULASIT';

Database link created.

SQL> select sysdate from [email protected];

SYSDATE
---------
10-SEP-17

So with this default setting, db_links are working fine as usual.

Now let-s alter this and set it to NONE:

With OUTBOUND_DBLINK_PROTOCOLS= NONE

-- This can be altered dynamically

SQL> alter system set outbound_dblink_protocols=NONE scope=both;

System altered.

SQL>  show parameter outbound

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
outbound_dblink_protocols            string      NONE


Now i tried to access the previously created db_link:

SQL> select sysdate from [email protected];

select sysdate from [email protected]
                         *
ERROR at line 1:
ORA-25431: Connection with protocol tcp is disallowed by the
outbound_dblink_protocols parameter.


it is not allowed as expected. What about creating a new DB_LINK.

SQL> create public database link TESTLINK2 connect to system identified by oracle using 'D2ULASIT';
create public database link TESTLINK2 connect to system identified by oracle using 'D2ULASIT'
*
ERROR at line 1:
ORA-25431: Connection with protocol tcp is disallowed by the
outbound_dblink_protocols parameter.

Well create database link also not allowed.

Conclusion:

We can say, this parameter is introduced as a security feature in Oracle 12.2 release. This will control the outbound database_link access.

 

 

 

 

 

 

 

 

 

 

 

 

 

oracle 12.2.oracle 12csecurity ORACLE 12C