06 Jul
Posted by: gato in: Administration, DBA, Oracle
10.2.0.3 has a nasty bug, where one is not able to see what SQL is job actually executing, the following fix will resolve that partially. For parallel slaves the relevant v$session columns are still going to be empty.
5928612 SQL ADDRESS COLUMN IN V$SESSION VIEW FOR JOB IS ZERO
This might be resolved completely in 10.2.0.4, anyone?
Oracle patchset 10.2.0.4 is now available via metalink for Windows(32bit) and Linux x86(32bit) platforms.
Update 22.05.2008: Now available also for some 64 bit platforms like AIX5L 64.
21 Dec
Posted by: gato in: Administration, DBA, Oracle
If you’ve just upgraded from 9i to 10g, and you are using unsupported collection return types in pipelined functions you are no longer able to compile the code due to a more restrictive 10g compiler. Your pipelined functions compiled just fine on 9i. You are unable to compile the functions with the following error message [...]
24 Oct
Posted by: gato in: Administration, DBA, Oracle
Microsoft Windows (1.7 GB)
Linux x86 (1.7 GB)
Linux x86-64 (1.8 GB)
I’ve recently came across excelent article/how-to for Oracle 11g RAC na Oracle Enterprise Linux 4(Update 5) a VMware Server 1.0.3. Thank you Frikkie.
Too much log switching is no good for database, you should see numbers not bigger than 6 per hour. Increasing the size of redo log groups is one way to lower log switch frequency, please refer to Oracle documentation on how to lower log switch frequency.
You can use the following query to determine your log [...]
You can determine users idle time using the following query:
List of DBA Views
SELECT * FROM DICT
WHERE TABLE_NAME LIKE ‘DBA\_%’ ESCAPE ‘\’
List of Dynamic Performance Views
(these are only synonyms for SYS.GV_$)
SELECT * FROM DICT WHERE TABLE_NAME LIKE ‘V$%’
List of Global Dynamic Performance Views used in RAC
(these are only synonyms for SYS.GV_$)
SELECT * FROM DICT WHERE TABLE_NAME LIKE ‘GV$%’
Note: The content of V$ and GV$ views [...]
15 Jun
Posted by: gato in: Administration, DBA, Oracle
It is possible to speed up creation/rebuild process of a large index using keywords PARALLEL, and NOLOGGING:
ALTER SESSION ENABLE PARALLEL DDL;
CREATE INDEX INDEX_OWNER.INDEX_NAME
ON TABLE_NAME ( col1 , col2, ..)
NOLOGGING PARALLEL
TABLESPACE TABLESPACE_NAME
/
– or
ALTER INDEX INDEX_OWNER.INDEX_NAME
REBUILD NOLOGGING PARALLEL
/
Don’t forget to set back LOGGING and NOPARALLEL options, because create/rebuild will set these options.
ALTER INDEX INDEX_OWNER.INDEX_NAME LOGGING NOPARALLEL;
Estimate statistics:
BEGIN
DBMS_STATS.GATHER_INDEX_STATS(
OWNNAME [...]
You can use the following techniques to speed up search in the code:
Packages, functions, and procedures:
SELECT –+ORDERED PARALLEL(A)
B.OBJECT_NAME,
A.LINE,
A.SOURCE
FROM SYS.SOURCE$ A,
DBA_OBJECTS B
WHERE UPPER (A.SOURCE)
LIKE ‘%SEARCH STRING%’
AND B.OWNER = ‘OBJ_OWNER’
AND A.OBJ# = B.OBJECT_ID
/
Views:
– create tmp table
CREATE TABLE VIEW_CONVERT
(
OWNER VARCHAR2(255),
VIEW_NAME VARCHAR2(255),
VIEW_TEXT CLOB
)
NOLOGGING PARALLEL PCTFREE 0
/
– fill table and convert long column
INSERT –+APPEND
INTO VIEW_CONVERT NOLOGGING
SELECT –+PARALLEL(AA)
OWNER
, VIEW_NAME
, TO_LOB(TEXT)
FROM [...]