Friday, February 13, 2009

RDBMS_SERVER_DN

Property

Description

Parameter type

X.500 Distinguished Name

Default value

There is no default value.

Modifiable

No

Range of values

All X.500 Distinguished Name format values

RDBMS_SERVER_DN specifies the Distinguished Name (DN) of the Oracle server. It is used for retrieving Enterprise Roles from an enterprise directory service.

If you do not want to use a directory for enterprise user and privilege management, but prefer to use SSL authentication alone, do not set this parameter.

Note:

1. Query for the current value of the parameter

select name, value, isdefault, isses_modifiable, issys_modifiable,

isinstance_modifiable, isdeprecated, description

from v$parameter

where upper(name) = 'RDBMS_SERVER_DN';

NAME

VALUE

IS

DEFAULT

ISSES_

MODIFIABLE

ISSYS_

MODIFIABLE

ISINSTANCE_

MODIFIABLE

IS

DEPRECATED

DESCRIPTION

rdbms_server_dn

TRUE

FALSE

FALSE

FALSE

FALSE

RDBMS's Distinguished Name

Oracle initializatoin parameters

Monday, February 9, 2009

V$OSSTAT

V$OSSTAT displays system utilization statistics from the operating system. One row is returned for each system statistic.

Column

Datatype

Description

STAT_NAME

VARCHAR2(64)

Name of the statistic (see table below)

VALUE

NUMBER

Instantaneous statistic value

OSSTAT_ID

NUMBER

Statistic ID

COMMENTS

VARCHAR2(64)

Any additional OS-specific clarifications for the statistic

CUMULATIVE

VARCHAR2(3)

Indicates whether the statistic is cumulative (that is, accumulates over time) (YES) or not (NO)

V$OSSTAT Statistics

Statistic Name

Description

NUM_CPUS

Number of CPUs or processors available

IDLE_TIME

Number of hundredths of a second that a processor has been idle, totalled over all processors

BUSY_TIME

Number of hundredths of a second that a processor has been busy executing user or kernel code, totalled over all processors

USER_TIME

Number of hundredths of a second that a processor has been busy executing user code, totalled over all processors

SYS_TIME

Number of hundredths of a second that a processor has been busy executing kernel code, totalled over all processors

IOWAIT_TIME

Number of hundredths of a second that a processor has been waiting for I/O to complete, totalled over all processors

NICE_TIME

Number of hundredths of a second that a processor has been busy executing low-priority user code, totalled over all processors

AVG_IDLE_TIME

Number of hundredths of a second that a processor has been idle, averaged over all processors

AVG_BUSY_TIME

Number of hundredths of a second that a processor has been busy executing user or kernel code, averaged over all processors

AVG_USER_TIME

Number of hundredths of a second that a processor has been busy executing user code, averaged over all processors

AVG_SYS_TIME

Number of hundredths of a second that a processor has been busy executing kernel code, averaged over all processors

AVG_IOWAIT_TIME

Number of hundredths of a second that a processor has been waiting for I/O to complete, averaged over all processors

AVG_NICE_TIME

Number of hundredths of a second that a processor has been busy executing low-priority user code, averaged over all processors

OS_CPU_WAIT_TIME

Total number of hundredths of a second that processes have been in a ready state, waiting to be selected by the operating system scheduler to run

RSRC_MGR_CPU_WAIT_TIME

Total number of hundredths of a second that Oracle processes have been in a ready state, waiting for CPU to be available for their consumer group in the currently active resource plan

VM_PAGE_IN_BYTES

Total number of bytes of data that have been paged in due to virtual memory paging

VM_PAGE_OUT_BYTES

Total number of bytes of data that have been paged out due to virtual memory paging

PHYSICAL_MEMORY_BYTES

Total number of bytes of physical memory

LOAD

Current number of processes that are either running or in the ready state, waiting to be selected by the operating-system scheduler to run. On many platforms, this statistic reflects the average load over the past minute.

NUM_CPU_CORES

Number of CPU cores available (includes subcores of multicore CPUs as well as single-core CPUs)

NUM_CPU_SOCKETS

Number of CPU sockets available (represents an absolute count of CPU chips on the system, regardless of multithreading or multi-core architectures)

TCP_SEND_SIZE_MIN

Minimum size of the TCP send buffer

TCP_SEND_SIZE_DEFAULT

Default size of the TCP send buffer

TCP_SEND_SIZE_MAX

Maximum size of the TCP send buffer

TCP_RECEIVE_SIZE_MIN

Minimum size of the TCP receive buffer

TCP_RECEIVE_SIZE_DEFAULT

Default size of the TCP receive buffer

TCP_RECEIVE_SIZE_MAX

Maximum size of the TCP receive buffer

GLOBAL_SEND_SIZE_MAX

Maximum size of the global send buffer

GLOBAL_RECEIVE_SIZE_MAX

Maximum size of the global receive buffer

Note:

1. The availability of all statistics except for NUM_CPUS and RSRC_MGR_CPU_WAIT_TIME is subject to the operating system platform on which the Oracle Database is running.

2. select * from V$OSSTAT;

STAT_NAME

VALUE

OSSTAT_ID

NUM_CPUS

4

0

IDLE_TIME

14036520

1

BUSY_TIME

9937639

2

USER_TIME

7886436

3

SYS_TIME

2051203

4

IOWAIT_TIME

0

5

AVG_IDLE_TIME

3507618

7

AVG_BUSY_TIME

2482915

8

AVG_USER_TIME

1970078

9

AVG_SYS_TIME

511292

10

AVG_IOWAIT_TIME

0

11

OS_CPU_WAIT_TIME

999400

13

RSRC_MGR_CPU_WAIT_TIME

0

14

LOAD

0.96875

15

PHYSICAL_MEMORY_BYTES

34240520192

1008

VM_IN_BYTES

3093569536

1009

VM_OUT_BYTES

0

1010

Oracle data dictionary views

Oracle dynamic performance views

Wednesday, February 4, 2009

Why some process remain KILLED in V$SESSION

When an inactive session is killed via “alter system kill session 'SID,SERIAL#'” command, the process continues in v$session with status as KILLED.

SQL> Select username,sid,serial#,status from v$session where username = 'USERA';

USERNAME SID SERIAL# STATUS

--------------- ---------- ---------- --------

USERA 147 720 INACTIVE

SQL> alter system kill session '147,720';

System altered.

SQL> Select USERNAME, SID, PROCESS, STATUS, PROGRAM from v$session where username = 'USERA';

USERNAME SID PROCESS STATUS PROGRAM

--------------- ---------- ------------ -------- --------------------

USERA 147 4956:4848 KILLED sqlplus.exe

SQL> show user

USER is "USERA"

SQL> select * from user_tables;

select * from user_tables

*

ERROR at line 1:

ORA-00028: your session has been killed


SQL> Select USERNAME, SID, PROCESS, STATUS, PROGRAM from v$session where username = 'USERA';

no rows selected

This happens when the client is SQL*Plus and Forms.

When the user tries to use the terminated session, the message ORA-00028 is returned.

When an inactive session has been terminated, STATUS in the view V$SESSION is "KILLED." The row for the terminated session is removed from V$SESSION after the user attempts to use the session again and receives the ORA-00028 message.

If an active session cannot be interrupted (for example, it is performing network I/O or rolling back a transaction), the session cannot be terminated until the operation completes. In this case, the session holds all resources until it is terminated. Additionally, the session that issues the ALTER SYSTEM statement to terminate a session waits up to 60 seconds for the session to be terminated; if the operation that cannot be interrupted continues past one minute, the issuer of the ALTER SYSTEM statement receives a message indicating that the session has been "marked" to be terminated. A session marked to be terminated is indicated in V$SESSION with a status of "KILLED" and a server that is something other than "PSEUDO."

Please note that KILLing a background thread (DBWR, LGWR, SMON or PMON) will crash the instance.