Last week I had to perform an installation of Oracle 11g on a Windows Server 2008 R2 machine. When I tried to install a 11g database with the -silent
and -responsefile
options, I received the following error:
[SEVERE] - Email Address Not Specified
Obviously, I needed to specify an e-mail address for My Oracle Support. Lets have a look in the responsefile:
Read the rest of this entry
Today I had to import some data from a CSV file into a table on a MySQL server.
So here is how to do it:
LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, filed2, field3);
Source
Of course, you will need to have access to the machine where the database is running. As an alternative, I am sure there are developer tools that can enter the data remotely.
Out of curiosity, I decided to run the IOzone tests I performed with a RAID 10 (see this post) on a RAID-Z and compare it to the RAID 5 of the hardware RAID controller. For this test, I am using IOzone and two older HP DL380 G2 servers.
Read the rest of this entry
As I am currently fiddling around with Oracle Solaris and the related technologies, I wanted to see how the ZFS file system compares to a hardware RAID Controller. The ZFS file system allows you to configure different RAID levels such as RAID 0, 1, 10, 5, 6. In this post, I want to test the RAID 10 performance of ZFS against the performance with the HP RAID Controller (also in a RAID 10 configuration) over 4 disks.
Read the rest of this entry
I keep this post mainly for my own reference, since I needed to do this multiple times already.
Edit the file sqldeveloper.conf in the bin/
directory of your SQL Developer installation and add the following lines to change the language to English:
AddVMOption -Duser.language=en
AddVMOption -Duser.country=US
Source
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
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
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
Today I wondered how my newly purchased Virtual Server performs under load. I am currently using lighttpd as a webserver and MySQL as the database for WordPress. I already knew that MySQL features the Query Cache, which stores the result of issued queries in memory (Oracle’s equivalent of this would be the Result Cache in Oracle 11g). I wondered how much this feature could improve performance on a normal WordPress blog.
I quickly wrote a small Java program to query my website (source code available here: TestWebPerfo.java) and retrieve the performance metrics from the HTML source code. I then ran it 500 times to get my metrics without the Query Cache turned on. Average time for building the website: 0.115 seconds.
Read the rest of this entry
Having security in mind, I had some concerns granting all privileges to the WordPress MySQL user (see the instructions from WordPress):
GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername" [..]
After all, with these privileges the WordPress user would be able to access other databases on this server and do whatever he likes. WordPress has become very popular and is a known target for exploits and the like (as a quick search on milw0rm.com will confirm). I didn’t like that idea.
So here is what I did:
GRANT SELECT, INSERT, UPDATE, CREATE, DELETE ON wordpress.* TO 'wordpress' IDENTIFIED BY 'mypass';
This works fine so far and I don’t think my WordPress installation needs more privileges. Note that the ALTER and DROP statements are missing from my list, which could interfere with future updates. But we’ll see…