Our solution to ORA-12571

After a database update from 10.2.0.1.0 to 10.2.0.5 on Windows Server 2003, we encountered the ORA-12571 error when starting the Application Server. In the log files, the error showed up as an SQLException:

java.sql.SQLException: Io exception: Connection reset by peer: socket write error

I then used TNSPing to validate the connection to the database and I basically received this result:

OK
OK
OK
ORA-12571: TNS:PACKET WRITER FAILURE

This means that there is a problem with the TNS Listener. I checked the listener log ($ORACLE_HOME\network\log\listener_name.log) for errors and saw this:

Read the rest of this entry

Apply Patchset to Oracle 10gR2

One of the regularly recurring tasks is to apply a Patchset to a database. This post contains the basic steps required to apply Patchset 10.2.0.5 to an unpatched Oracle 10g Database (10.2.0.1). I am using this post mainly for my own reference, so please do not expect an extensive step-by-step guide. Note that you need Oracle Support (formerly Metalink) to access and download the patches.

Before we begin, I must state that I provide these instructions based on my experiences with database upgrades and these are by no means complete. When applying a Patchset, always refer to the patch_note.html provided in the installation media. This means you can use my steps only as a coarse guide. These steps can also be used to create your own “Upgrade Checklist”.

Read the rest of this entry

PGA Cache Hit Percentage

This week and next week I am participating in an Oracle Architecture and Internals training at Trivadis in Berne. Today, we received an overview of Oracle (Editions, Licensing, Support) and took a first look into the Oracle Architecture. This first chunk of information included Parameters, Memory and Process Structures. While looking at the PGA structures, I noticed a graph showing “PGA Cache Hit Percentage” in relation to the sizing of the PGA.

The term “PGA Cache Hit Percentage” does not make sense, since there is no cache in the PGA. According to my training material, the PGA consists of the following structures:

Read the rest of this entry

Solaris 10: OpenCSW

In my first post, I took the first steps in Solaris 10 and created a basic environment for anyone with Linux experience. Now, in Solaris I really miss the possibility to add packages via a repository. So in this post, I will set up the OpenCSW (Open Community SoftWare) repository, so people with Linux background can easily add new packages in a familiar way. This post includes all steps from the OpenCSW site.

Read the rest of this entry

First steps in Solaris 10

Although I already have some experience with Linux (Debian, Red Hat), the first steps with my brand new Solaris 10 installation turned out to be a little bit harder than expected. This was due to the minimalistic shell (SH) and problems while installing the SSH server. So here are my notes for those trying to get into Solaris. The first part includes the steps necessary to install the BASH shell. In the second part, installation of the SSH daemon is shown.


Setup: Solaris 10 Update 9, No remote services enabled, POSIX C locale, Core System Installation

Read the rest of this entry

Oracle NLS_LANG bug

When you want to use the Oracle Client for 10g on Windows and your computer uses the Swiss German Region and Language options, you will stumble across the following error when trying to connect to a database with Enterprise Manager:

Error occurred at recursive SQL level 1

Now what? It turns out that this is Oracle Bug 4598613: ORA-2248 from 10.2/10.1.0.5 client with NLS_LANG set to territory SWITZERLAND. Metalink has this to say:

ORA-604 / ORA-2248 occurs when NLS_LANG is set to 
FRENCH_SWITZERLAND.WE8ISO8859P15 on the client side , 
or a similar string using territory SWITZERLAND.
eg: GERMAN_SWITZERLAND

Solution

Set your NLS_LANG to something else than GERMAN_SWITZERLAND. For example:

set NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252

To make the change persistent, edit the following Registry key:

My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_%ClientHomeName%\NLS_LANG

Hello world

My name is Simon Krenger, I am a Technical Account Manager (TAM) at Red Hat. I advise our customers in using Kubernetes, Containers, Linux and Open Source.

Elsewhere

  1. GitHub
  2. LinkedIn
  3. GitLab