Last weekend used some Java Procedures in the database to read and parse files. When granting the permissions (done by the dbms_java package)

EXEC DBMS_JAVA.GRANT_PERMISSION( 'testdeveloper', 'SYS:java.io.FilePermission','/mnt/myhome/tesfiles/', 'read' );

I got this error:

ORA-29532: Java call terminated by uncaught Java exception:
oracle.aurora.vm.IdNotFoundException: -1 is not the number of a user or role
ORA-06512: at "SYS.DBMS_JAVA", line 313
ORA-06512: at line 1

Solution for this: just write the schema name in uppercase!Smile

EXEC DBMS_JAVA.GRANT_PERMISSION('TESTDEVELOPER','SYS:java.io.FilePermission','/mnt/myhome/tesfiles/', 'read' )

 

I was testing around with the Oracle Enterprise Manager, in the Console i found that the listener can't be configured error-message "Compute dynamic property takes too long". Reason was that the TNS_ADMIN (Windows, TWO_TASK Unix/Linux??)was set so that just one specific TNSNAMES.ORA file in "c:\oracle" could be used.

When configuring the listener the  listener.ora file was also placed in "c:\oracle", and EM could not handle the file in another directory than the default home. 

Solution was to delete TNS_ADMIN and put the listener file back to the home-directory, you could also recreate thel listener i think.

 

joomla

 

 

I wanted to update some sites from Joomla 1.x to 1.5.x, so i looked for the official migrator, i did not want to use any 3rd party extension for this important task. I really spent a lot lot of time looking for it in the extension-directory.... but the official migrator is not in the extension-directory Yell. It can be downloaded here.

email

Sind years i have a simple Emai-check in my Toolbox. It is a simple PL/SQL function within a package. Two weeks ago i came about this regexp-page. There you can find a regexp that implements the RFC 2822 standard, or an more practical approach of it.  Since a time regular expressions are supported in PL/SQL, so i implemented it in my little email-check. I don't understand a lot of regexp and the regexp did not work out of the box, so a colleague helped me to correct and implement it for PL/SQL. The problem was a missing ^ at the start and the ?: in the regexp. The results are excellent! The regexp checks all official domains that are longer than 2 characters and also checks if the other domain are not longer than 2 characters. Give it a try!

Here is my code:

-- %author          Manfred Hofbauer (fairtec.at)
-- {*}CreateDate:   07.05.2006
-- {*}purpose:      function checks for an valid email (contains @ and ....)
-- %version         0.3
-- {*}ChangeHistory
-- {*}When          Who                     Version       purpose
-- {*}07.05.2006    Manfred Hofbauer        0.1           created
-- {*}03.12.2007    Manfred Hofbauer        0.2           changed to regexp
-- {*}05.12.2007    Manfred Hofbauer        0.3           returns number to be usable in SQL
-- %param           pEmail                  String that shall be checked for an valid email
-- %return          true or false (1=TRUE 0=False)
-- %raises
CREATE OR REPLACE FUNCTION isValidEmail (pEmail IN VARCHAR2) RETURN NUMBER IS

cEmailRegexp CONSTANT VARCHAR2(1000) := '^[a-z0-9!#$%&''*+/=?^_`{|}~-]+(\.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+([A-Z]{2}|arpa|biz|com|info|intww|name|net|org|pro|aero|asia|cat|coop|edu|gov|jobs|mil|mobi|museum|pro|tel|travel|post)$';

BEGIN
IF REGEXP_LIKE(pEmail,cEmailRegexp,'i') THEN
RETURN 1;
ELSE
RETURN 0;
END IF;

-- !!!!DONT FORGET YOUR ERROR-HANDLING HERE!!!!
END isValidEmail;
/


rackplanner

  

In the future i will be using a PowerEdge Server of Dell, and because I don't want to have such a loud piece of hardware at home, i was lookingdelllogo for a server-housing possibility. A lot of them ask how many power-consumption this server has, and guess what... there is nothing in the technical details about the consumption.

But i found the following great rack-planner. This tool is for planning how your 19'' rack will look like, what power heat will be produced and last but not least what power will be consumed. You choose a rack, choose a server, edit the server tell how much RAM HD, if it will be idle most time or most time used what processor etc....

Really nice tool, here is the link to the rackplanner

oralogo_small

 

Last week i got following error-stack when trying to open the Enterpris-Manager:

503 Service Unavailable
Servlet error: Service is not initialized correctly. Verify that the repository connection information provided is correct.
conn.ConnectionService verifyRepositoryEx.818 - Invalid Connection Pool. ERROR = ORA-00376

When digging deeper into the error-logs i found the problem that a datafile was not online.

ORA-01110: Datendatei 5: 'C:\ORACLEHOMES\ORADATA\EMREP\MGMT.DBF'
ORA-06512: in "SYSMAN.MGMT_USER", Zeile 10174
ORA-06512: in "SYSMAN.SETEMUSERCONTEXT", Zeile 10
ORA-06512: in Zeile 1

I was asking our admin, and he tried a new file-backup that locked the datafile while oracle was trying to write to it.
So it went in "recover" mode.
Solution for this issue:

Select the files in recover-mode    : select file#,name,status,enabled from V$datafile;
recover them                                  : recover datafile 'XXX';
set them online                               : alter database datafile 'XXX' online;

Undecided If you get an "Io exception: The Network Adapter could not establish the connection" error try if the DNS works correctly.
In my case a nslookup to the host-adress NSLOOKUP TESTSERVER was possible and returned the IP-adress.
But in the other direction it did not work NSLOOKUP 123.123.123.123 the problem was a misconfiguration on one of our DNS-Server.

centos2A project i heared a short time ago is CENTOS. Centos is a recompiled Redhat Enterprise Edition.The difference is that CENTOS is free and Redhat Enterprise is just for paying subscribers. You can read more about this project at the project-homepage.

Sometimes it happens, that there are no more notifications from the Enterprise Manager.
This occurs often after problems on the database (out of space in the os...).
The notifications are one of the most important features of the Enterprise-Manager, you are warned if the space is too low or if something takes too much cpu, if the backup has succeeded and a lot of other things.

The sending of the notifications is done by jobs that are defined in the sysman schema.
To repair this jobs, just delete and resubmit them.
This can be done by logging in as "sysman" user, and executing following procedures:

    connect sysman/yoursysmanpassword@yourdatabase
    exec emd_maintenance.remove_em_dbms_jobs;
    exec emd_maintenance.submit_em_dbms_jobs;


Have you ever been in the situation to test a piece of code in Oracle and you don't have the required data.  With the WITH-clause it is now possible to create the testdata without a lot of effort to create other tables. Look Cool at this statement:

WITH myTestTab AS (
     SELECT 'Roger' FIRST_NAME,
            'Testo' SURE_NAME,
            TO_DATE('01.01.1970','DD.MM.YYYY')  DAY_OF_BIRTH FROM DUAL UNION
     SELECT 'Hoger' FIRST_NAME,
            'Aloah' SURE_NAME,
            TO_DATE('01.01.1980','DD.MM.YYYY')  DAY_OF_BIRTH FROM DUAL UNION
     SELECT 'Noger' FIRST_NAME,
            'Tarum' SURE_NAME,
            TO_DATE('01.01.1975','DD.MM.YYYY')  DAY_OF_BIRTH FROM DUAL UNION
     SELECT 'Doger' FIRST_NAME,
            'Herdo' SURE_NAME,
            TO_DATE('01.01.1985','DD.MM.YYYY')  DAY_OF_BIRTH FROM DUAL
     )

     SELECT *
         FROM myTestTab
            WHERE DAY_OF_BIRTH BETWEEN TO_DATE('01.01.1969','DD.MM.YYYY')
                                   AND TO_DATE('01.01.1976','DD.MM.YYYY')

The Blue section is the definition of the "virtual" table and the red section is the select-statement that accesses this "virtual" table.

You can easy simulate a table the table can also be named like the 'real' table where you have no Test-Data available.  You want the Oracle-Documentation for this clause? I can't help you, i looked a lot in the whole documentation and got a lot of hits, but mostly they are about another with-clause (for materialized views) Frown. If somebody finds the docu for that, please let me know!

debian3

 

 

Today i had time enough to finish the installation on debian. I started the Oracle-Installer and it started as used on windows, but it got stuck when recompiling SQLNet and the Database itself. The error was "Error in invoking target..." After looking in Metalink, it seems to be a problem of a wrong compilier. After looking in the web for such problems i found the hint that the following packages have to be installed: 

      • autoconf
  • automake
  • binutils
  • bzip2
  • doxygen
  • gcc
  • less
  • libc6-dev
  • make
  • perl-doc
  • unzip

there were some packages (i did not write them down Yell) that were not installed, and after retrying.... IT WORKED!

The installation finished without any problem, database started up and the Enterprise-Manager Console also worked  without any problems...

debian2

 

Installation of Gnome worked fine.... but how can i access this desktop remote? I decided to use VNC, because i already worked with it. So i installed the package "tightvncserver" with "aptitude install tightvncserver" and started it with vncserver. As VNC-Client i tried to use the tightvnc-client, but it was much slower than the ultra-vnc, i don't know exactly why, sometimes  misconfiguration. The next problem was that i got a console but no gnome-desktop. I forgot to configure the vncserver. I had to edit the file  /root/.vnc/xstartup disabled x-windows and added gnome. Now it looks like this:

xrdb $HOME/.Xresources xsetroot -solid grey
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
exec gnome-session &

For KDE your file would look like this:

xrdb $HOME/.Xresources
xsetroot -solid grey
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
startkde &

After starting with "vncserver" i was able to access the remote machine by my Windows-XP UltraVnc-client.

The next step was to get the linux installation package from the oracle-site. There are a lot of HOWTOS available on the net, i used this one. After successfully configuring my Debian i was starting the OracleInstaller...

Note: