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
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
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.
[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.
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
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
During the installation of Oracle 12c (12.1) I encountered the following error:
Error in invoking target 'irman ioracle' of makefile
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
Linux and Windows…
Quick Reference To Patch Numbers For Database PSU, SPU(CPU) And Bundle Patches [ID 1454618.1]
This document is replaced by Note 2118136.2:
Download Reference for Oracle Database/GI PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases [ID 2118136.2]
Oracle Database, Networking and Grid Agent Patches for Microsoft Platforms [ID 161549.1]