Skip to content

Category Archives: Oracle

Authomatic statistics gathering

Oracle 10g has a feature where it gathers optimizer statistics automatically at night. This is done through a scheduled job called GATHER_STATS_JOB. If you want to disable this, you have to issue :

EXEC dbms_scheduler.disable(’GATHER_STATS_JOB’);

To enable it again :

EXEC dbms_scheduler.enable(’GATHER_STATS_JOB’);

The following query shows when this job was run :

SELECT * [...]

NLS_LANG settings

To get the language setting of the current session :

SELECT USERENV (’language’) FROM DUAL;

This returns the database character set, not the user’s though.
The NLS settings can be found in the following list, in this order. If a value is specified in NLS_SESSION_PARAMETERS, it has preference over a value in NLS_INSTANCE_PARAMETERS.

NLS_SESSION_PARAMETERS
NLS_INSTANCE_PARAMETERS
NLS_DATABASE_PARAMETERS

TNS_ADMIN

By default Oracle expects tnsnames.ora to be in the $ORACLE_HOME\network\admin directory. This is not always the most convenient place, especially because that directory is usually owned by the oracle user.
To get around this, you can set the TNS_ADMIN variable. This points to the directory where you have put your own copy of tnsnames.ora . Like [...]

Killing an Oracle session

Every time you log into Oracle, you create a session. This is an easy way to kill these Oracle sessions, thanks to this article.
First, select the session ID and serial number as such :

SELECT s.sid, s.serial#, s.osuser, s.program
FROM v$session s;

The osuser and program field can be used to identify [...]