REHL 7 and Oracle Linux 7 was not released when Oracle database 126.96.36.199 came out, so the installer does give some issues in the pre-requisites and when installing the software. I advice to do a software only installation first, because of an issue that you will need to fix with a patch after software installation, but before creating a database.
These issues popped-up when I was installing a 188.8.131.52 database on RHEL7 (not a Certified product combination!), but the solutions given for 184.108.40.206 worked for it as well:
- elfutils-libelf-devel package missing;
- compat-libstdc++ package missing;
- pdksh package missing;
- “Error in invoking target ‘agent nmhs’ of makefile” when installing.
- This one also counts for installing Oracle Fusion Middleware.
Yes, APEX uses a lot of cursors and if you dive into APEX tuning docs, this is also explained in the Application Express (APEX) Performance Tuning and Scalability Factors (Doc ID 1418234.1):
“(…) APEX applications (and mod_plsql applications, for that matter) do not reuse session cursors. This is the nature of the architecture (…)”.
So the Oracle database will get a lot of open cursors to handle. Sometimes you will read it can be fixed by raising the APEX/ORDS listener “jdbc.MaxLimit”. It’s probably a bit low by default for production systems and it can be raised to 25 or 50 or something whatever your need is, but that will not fix the ORA-01000. Continue reading
Official Oracle support notice: “There is no way to disable ADG, just prevent its usage by ensuring the physical standby database is always mounted when Media Recovery (MRP) runs“.
I think it’s to easy to get Active Data Guard running. If you accidentally open your standby database (first) and get Data Guard up and running, you automagically have made your standby database read only mode and have the Active Data Guard enabled.
There is a ‘underscore’ parameter which can be set to disable ADG. This means that a standby database can not be opened and keeps being in mount mode; yeah!
Unfortunately it’s an ‘underscore’ parameter and Oracle support does NOT(!) advices it to use it: Doc ID 2269239.1:
NOTE: Hidden parameter “_query_on_physical” is NOT an option to prevent Active Data Guard usage. It should NOT be used at all in any version of the Oracle Database. It is unsupported to be set unless Oracle Support advises it for diagnostic reasons. Continue reading
I recently upgraded by OVM to 3.4.3(.1511), but now my Oracle Enterprise Linux 6.9 PVM guests won’t start up any more. They don’t finish the ‘Starting automount’ in the boot / startup screen. It does not fail, it just won’t continue.
There is nothing special in the /etc/fstab I guess… : Continue reading
for part 1, click here…
In this blog post I will describe a few cases with extended (distance) Oracle clusters using examples with different storage, controller, failgroup configurations and where you have data blocks you left when failure happens. Continue reading
for part 2, click here…
First of all, both terms ‘extended’ and ‘stretched’ are used on blogs, in documentation and logfiles. I will use ‘extended’ in this one. Also, voting files are files, not disks. Oracle will store the file(s) on one of the disks within the specified diskgroup, preferable in different failgroups. Also people talk about a ‘RAC’ cluster, but an Oracle cluster can exist without RAC. RAC is the database option to run the database in a cluster on Oracle clusterware.
Sorry, no images in this blog post… only text.
When is an Oracle cluster an extended/stretched cluster?
It’s not distance. Oracle does not know if it’s in the same or different racks or buildings, divided by roads or rivers… There is no setting ‘extended=Y’ in Oracle that it knows about being extended.
It’s the way _you_ design the storage for Oracle clusterware and ASM.
My point of view, extended is; When there is mirroring of blocks on disks and these mirrored blocks are on disks in different storage locations. Continue reading
Yes, enabling the Oracle 12c direct NFS client on Windows and it is documented, but I didn’t get changed on Oracle Support (I have send an improvement request for Doc ID 1468114.1)…
One needs to run ‘%ORACLE_HOME%\bin\enable_dnfs.bat’ now, which does NOT copy the ‘oranfsodm12.dll’ over the ‘oraodm12.dll’, but it copies the ‘oranfsodm12.dll’ to the ‘%ORACLE_HOME%\rdbms\lib\odm\’ directory!
After the file has been copied and Oracle is restarted, the [Oracle instance running with ODM: Oracle Direct NFS ODM Library Version 3.0] line in the alert.log is shown!
Enabling Direct NFS Client – documentation
Oracle Database Installation Guide for Microsoft Windows – Oracle Database Postinstallation Tasks – 220.127.116.11 Enabling Direct NFS Client: http://docs.oracle.com/database/121/NTDBI/postcfg.htm#CHDFGFDC
ps. on Windows the supported ‘nfs_version’ is still NFSv3 :(
When queries, with a lot of data being send or received, like in ETL or data (up)loads (a la swingbench), suddenly get disconnected, it might be a network issue. There might be no error, or sometimes an ORA-12592…
Application Level Gateway (ALG)
Ok, I added a new disk (well old actually, but new for the machine) to my Oracle VM server. It discovered it (or do it manually) and I wanted to create a new repository on it. Unfortunately it came with the following error:
Server error: 'The backing device /dev/mapper/3500a075109146bee is not allowed to contain partitions'
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