Network Enhancements

This topic is no longer on Upgrade Exam as of 2020-01-25!


Improve performance by Compression

New Features in lists the following new features among others:

  • Larger Session Data Unit Sizes
  • Oracle Net supports large session data unit (SDU) sizes, with a new upper limit of 2 MB. The larger SDU size can be used to achieve better utilization of available network bandwidth in networks that have high bandwidth delay products and host resources, according to application characteristics.

    See Also:
    Oracle Database Net Services Administrator's Guide for information about configuring SDU
  • Advance Network Compression
  • Advanced Network Compression is another new feature that reduces the amount of data transmitted over the network. New parameters for the sqlnet.ora file enable compression and selection of the preferred compression level. Advanced Network Compression is available as part of Advanced Compression Option.

Setup Compression

Without compression, I ran the following tests:

SQL> set arraysize 1000
SQL> set timing on autotrace traceonly statistics
SQL> select * from dba_objects;

90931 rows selected.

Elapsed: 00:00:00.74

Statistics
----------------------------------------------------------
	  0  recursive calls
	  0  db block gets
       6698  consistent gets
	  0  physical reads
	  0  redo size
    3847666  bytes sent via SQL*Net to client
       1541  bytes received via SQL*Net from client
	 92  SQL*Net roundtrips to/from client
	  0  sorts (memory)
	  0  sorts (disk)
      90931  rows processed

SQL> /

90931 rows selected.

Elapsed: 00:00:00.64

Statistics
----------------------------------------------------------
	  0  recursive calls
	  0  db block gets
       6698  consistent gets
	  0  physical reads
	  0  redo size
    3847666  bytes sent via SQL*Net to client
       1541  bytes received via SQL*Net from client
	 92  SQL*Net roundtrips to/from client
	  0  sorts (memory)
	  0  sorts (disk)
      90931  rows processed

SQL> /

90931 rows selected.

Elapsed: 00:00:00.67

Statistics
----------------------------------------------------------
	  0  recursive calls
	  0  db block gets
       6698  consistent gets
	  0  physical reads
	  0  redo size
    3847666  bytes sent via SQL*Net to client
       1541  bytes received via SQL*Net from client
	 92  SQL*Net roundtrips to/from client
	  0  sorts (memory)
	  0  sorts (disk)
      90931  rows processed

In /opt/app/oracle/product/12.1.0/dbhome_1/network/admin/sqlnet.ora , the following lines were added:

sqlnet.compression=on
SQLNET.COMPRESSION_LEVELS=(low)
SQLNET.COMPRESSION_THRESHOLD=1024

Repeating the same test again, I get similar results:

SQL> connect sys@plum as sysdba
Enter password: 
Connected.
SQL> set arraysize 1000
SQL> set timing on autotrace traceonly statistics
SQL> select * from dba_objects;

90931 rows selected.

Elapsed: 00:00:00.69

Statistics
----------------------------------------------------------
	  0  recursive calls
	  0  db block gets
       6698  consistent gets
	  0  physical reads
	  0  redo size
    3847666  bytes sent via SQL*Net to client
       1541  bytes received via SQL*Net from client
	 92  SQL*Net roundtrips to/from client
	  0  sorts (memory)
	  0  sorts (disk)
      90931  rows processed

SQL> /

90931 rows selected.

Elapsed: 00:00:00.70

Statistics
----------------------------------------------------------
	  0  recursive calls
	  0  db block gets
       6698  consistent gets
	  0  physical reads
	  0  redo size
    3847666  bytes sent via SQL*Net to client
       1541  bytes received via SQL*Net from client
	 92  SQL*Net roundtrips to/from client
	  0  sorts (memory)
	  0  sorts (disk)
      90931  rows processed

SQL> /

90931 rows selected.

Elapsed: 00:00:00.71

Statistics
----------------------------------------------------------
	  0  recursive calls
	  0  db block gets
       6698  consistent gets
	  0  physical reads
	  0  redo size
    3847666  bytes sent via SQL*Net to client
       1541  bytes received via SQL*Net from client
	 92  SQL*Net roundtrips to/from client
	  0  sorts (memory)
	  0  sorts (disk)
      90931  rows processed

This is strange. I am connecting to the local host ( personal ) via SQL*Net because of the PDB.