Histogram endpoint date values to ‘human readable’ date format

Let’s get an endpoint_value for a hight-balanced histogram which represents a date:

select table_name, column_name, endpoint_number, endpoint_value, endpoint_actual_value
from dba_tab_histograms where table_name='BSLN_BASELINES' and column_name='LAST_COMPUTE_DATE'
order by endpoint_number;

Endpoint values for dates will be shown as followed: ‘2457594.23701157’.

The number in front of the dot is the day’s since ’01 JAN -4712′, this is retrievable with the Julian format element ‘J’:

select to_char(to_timestamp('2457594', 'J'), 'DD MON YYYY') endpoint_actual_value from dual; -- 24 JUL 2016
select to_char(to_timestamp('1', 'J'), 'DD MON SYYYY') endpoint_actual_value from dual; -- 01 JAN -4712
select to_char(to_timestamp('5373484', 'J'), 'DD MON YYYY') endpoint_actual_value from dual; -- 31 DEC 9999

The number after the dot is the faction of the day: .5 is noon, 0.25 is six ‘o clock in the morning:

select to_char(trunc(sysdate) + 0.25, 'HH24:MI:SS') endpoint_actual_value from dual; -- 06:00:00
select to_char(trunc(sysdate) + 0.23701157, 'HH24:MI:SS') endpoint_actual_value from dual; -- 05:41:18
select to_char(trunc(sysdate) + 0.87305213, 'HH24:MI:SS') endpoint_actual_value from dual; -- 20:57:12

Continue reading

ORA-28040: No matching authentication protocol – SQLNET.ALLOWED_LOGON_VERSION_SERVER

&tldr; in sqlnet.ora :

# the minimum allowed client version to connect to the databases from this home
# set this to accept lower versions of the autentication protocol
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11
 
# if you have a database link to a lower version of an Oracle
# set this to that lower version to talk the same authentication protocol
# 12a => 12.1.0.2
# SQLNET.ALLOWED_LOGON_VERSION_CLIENT=12a

# 12a for Oracle Database 12c release 12.1.0.2 or later
# 12 for the critical patch updates CPUOct2012 and later Oracle Database 11g
# 11 for Oracle Database 11g
# 10 for Oracle Database 10g
# 9 for Oracle9i
# 8 for Oracle8i

Ah, an old client is trying to connect to Oracle 12c (presumably)… ;)
Also “ORA-03134: Connections to this server version are no longer supported” can occur.

This actually implies that the authentication protocols use between client and server do not match. In Oracle 12c, the authentication protocol uses SHA-2 encryption algorithm by default, where older clients use SHA-1. So when an older client is used with defaults, the server will not accept the connection.

The best option would be upgrading the client, but when older dll’s are used (like ojdbc14.jar and you can not change this), this is a problem. The database instance can be told to accept older clients and use the older SHA-1 encryption algorithm.

SQLNET.ALLOWED_LOGON_VERSION_SERVER

Continue reading

Measuring MREADTIM system statistic, alternative way

[Why this post: GATHER_SYSTEM_STATS does not gather MREADTIM information from Direct Path Reads]

Oracle can be tuned in a lot of parts and places. One of these is when Oracle is going to choose between reading an index or doing a full table scan.

In this blog I’m not going into depth about all this, but one of the ‘parameters’ here is setting the MREADTIM system statistic to a ‘real life’ value. This value will tell Oracle how fast reading multiple blocks from disk is with all the overhead in between. How many multiple blocks is, is defined by the multi block read count (MBRC) setting. Together with SREADTIM, IOSEEKTIM and MBRC this will have influence in the execution path Oracle will choose.

Continue reading

Data Guard 12c: Warning: standby redo logs not configured for thread 1, Insufficient SRLs

Well, I have configured some 30 ‘Data Guards’ by now, but I never came across this warning, it seems it’s new in 12c:

DGMGRL> validate database cdb1dgsara

  Database Role:     Physical standby database
  Primary Database:  cdb1dgkara

  Ready for Switchover:  Yes
  Ready for Failover:    Yes (Primary Running)

  Future Log File Groups Configuration:
    Thread #  Online Redo Log Groups  Standby Redo Log Groups Status
              (cdb1dgkara)            (cdb1dgsara)
    1         3                       2                       Insufficient SRLs
    Warning: standby redo logs not configured for thread 1 on cdb1dgsara

Hang on, standby redo logs not configured? I have 4 groups! Continue reading

Oracle 12c installation will fail: Error in invoking target ‘irman ioracle’

During the installation of Oracle 12c (12.1) I encountered the following error:

Error in invoking target 'irman ioracle' of makefile
    '/u01/app/oracle/product/12.1.0/dbhome_1/rdbms/lib/ins_rdbms.mk'.
See '/u01/app/oraInventory/logs/installActions2015(...).log' for details.

Inside the logfile the following error is encountered:

INFO: collect2: ld terminated with signal 9 [Killed]

According to metalink doc 2040972.1 this is due to less memory available (in a VM environment). Continue reading

ORA-28547 with Instant Client and Amazon Cloud Web Services

Connecting with the Oracle Instant Client 11g to Amazon Cloud Web Services (amazonaws.com) can result in the next error:

ORA-28547: connection to server failed, probable Oracle Net admin error

I found that while pinging the host, it was not able to resolve it, but connecting with SQL Developer (4.1.0.17) was possible! Strange…

I downloaded the Oracle Instant Client 12c (12.1.0.2) and that works. It seems the Oracle Instant Client 11g (11.2.0.4) is not able to connect to Amazon Web Services…

Happy connecting!

Booting Oracle VM / Linux (ISOs) with UEFI ‘bios’ does not work

It seems Oracle VM (<=3.3.1 *) and Oracle Linux (<= 5.10/6.6 *) both install ISOs and installed OS’s are not capable of booting when UEFI on the bare-metal hardware is used. I have seen two configurations now where this happened, one using a USB HDD drive capable providing a ISO to boot from as CD/DVD (Zalman ZM-VE300)  and one HP iLO4 (http and local ISO) ‘remote’ booting. Continue reading

Direct NFS, configuring and network considerations in practise

Oracle Direct NFS (dNFS for short) is an NFS Client functionality integrated directly in the Oracle database software, optimizing the I/O (multi)path to your NFS storage without the overhead of the OS client/kernel software.

In this blog post I’ll describe network considerations, configurations and problems I have encountered during set-ups I have done.

dNFS uses two kinds of NFS mounts, the OS mount of NFS (also referred to as kernel NFS of kNFS) and, of course, Oracle’s database NFS mount, Direct NFS or dNFS.

According to [Direct NFS: FAQ (Doc ID 954425.1)] and [How to configure DNFS to use multiple IPs (Doc ID 1552831.1)], an kNFS mount is needed, although Oracle also claims it will also work on platforms that don’t natively support NFS, e.g. Windows… [Oracle Database 11g Direct NFS Client White Paper] (I don’t know how yet…).

Because dNFS implements multipath I/O internally, these is no need for bonding the interfaces to storage via active-backup or Link Aggregation. However, it’s good practice to bond the OS kNFS connection:

1 - eth0 -\
           - bond0 - OS / kNFS
2 - eth1 -/
3 - eth2 --------- - dNFS path 1
4 - eth3 --------- - dNFS path 2

Above schematic shows [How to configure DNFS to use multiple IPs (Doc ID 1552831.1)]:
“A good solution could be to use bonded NICs (…) to perform the mount and then use unbonded NICs via dNFS for the performance critical path.” Continue reading

Update / install Oracle Linux 6.4 corrupts console in Oracle VM 3.x

After updating Oracle Linux 6.3 to 6.4 or installing 6.4 from scratch will give a corrupt (blank) VNC remote console when launching the console from Oracle VM Manager:

oracle_vm_3_oel_6.4_console

As discussed in https://oss.oracle.com/ol6/docs/RELEASE-NOTES-U4-en.html#idp513536 and Oracle Support note ‘Corrupted VNC console in PVM guests running Oracle Linux 6.4 on Oracle VM’ (Doc ID 1537278.1), this issue is addressed in ‘X Window System Does Not Run in a PVHVM guest’.

Uninstalling the xorg-x11-drv-cirrus guest driver solves the issue

If you uninstall the xorg-x11-cirrus driver from the guest OS, it will solve this issue.

# rpm -ev --nodeps xorg-x11-drv-cirrus

Reboot the guest OS after uninstalling.

Happy Launching!