DBLINK ISSUE
Hi
Please advise on the following scnerio regarding the performance when handle with millions of records
1.Using dblink to select data from database and compare against another table
2.createb temporary table,insert data into temporary table using dblink and compare against another table
Thanks and Regards,
MR
Like every other problem I don't think we can make a generic statement saying A performs better than B or vice-versa. It depends on many factors. Well to start with it would be ideal if you could post atleast a draft version of what you are trying to do and preferably an explain plan. Then hopefully you will be able to get some suitable answers rather making a wild guess.
Regards
Raj
Similar Messages
-
Htmldb 1.6 synonym / DbLink issue
Hi,
1. I've tested the following issue in 3 version 1.5 , 1.5.1 , 1.6 and it seems issue is yet not solved.
2. When you create a publich synonym for a remote table or even use the dblink directly , you can't based anythy form / report etc only using a free query method.
3. Is there any option to create this not using manual selects / handling ...
Thanks
Etay G.To create the views:
SELECT 'CREATE OR REPLACE VIEW '||Lower(object_name)||' AS SELECT * FROM '||Lower(object_name)||'@database_link;' FROM user_objects@database_link
WHERE object_Type IN ('TABLE','VIEW');
Just replace 'database_link' with your database link.
Sequence number generators are tricky because you cannot create a view to select the nextval of a sequence number generator in another database over a database link. You have to just append the database link to the sequence reference or create a view which calls a function in the remote database which in turn returns the nextval of the sequence. -
I created Public DB Link from 9.2.0.8 to 11g database. And getting following error:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from TEST11
I tested sqlplus connection and it works fine.
Any suggestion?Right. Because Oracle always stores unquoted identifiers (in this case the password) in upper case. In the past, it didn't matter because the destination database didn't care about the password's case. Now that the destination database does care about the case of the password (assuming a default 11g install), you can no longer get away with using case-insensitive passwords in your database link definitions. If you create database links to non-Oracle databases (where passwords are generally case sensitive), you've always had to specify the password in double-quotes.
This is an expected outgrowth of the move to enhance security in 11g by making passwords case sensitive.
Justin -
Error while executing procedure in TOAD which contains parameter and dblink
Hi all,
I am getting error while executing the following code in TOAD and APEX.
It contains parameter( start_date and end_date) and dblink(@TO_FUT).
When I hardcode the parameter values, It works fine.
When I dont give hardcoded values in the procedure, the error comes.
When I comment the lines whereever parameter comes, still the error comes.
I am not sure whether it is parameter issue or dblink issue or some other issue
Is anybody having any clue about this error?
Your help is very much appreciated.
The code:
CREATE OR REPLACE PROCEDURE PROC_ENR_ACC(START_DATE DATE,END_DATE DATE)
AS
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE OUTPUT_TABLE';
INSERT INTO OUTPUT_TABLE
(FIRST_NAME ,LAST_NAME,HID ,EFF_DT,CID,PLAN, FLAG)
SELECT
TEMP1.FIRST_NAME,
TEMP1.LAST_NAME,
TEMP1.HID,
TEMP1.EFF_DT,
TEMP1.CID,
TEMP1.PLAN,
NVL((SELECT 'Y'
FROM FADMIN.MEMI_TABLE@TO_FUT MEMI
WHERE MEMI.MEME_CK = TEMP1.MEME_CK
AND MEMI.TXN_EFF_DT = TEMP1.EFF_DT
AND MEMI.PBP = TEMP1.PLAN
AND MEMI.MEMI_TXN_CD IN ('AC','RE')
AND MEMI.MEMI_SEQ_NO = (SELECT MAX (MI.MEMI_SEQ_NO)
FROM FADMIN.MEMI_TABLE@TO_FUT MI
WHERE MI.MEME_CK = MEMI.MEME_CK
AND MI.TXN_EFF_DT = MEMI.TXN_EFF_DT
AND MI.PBP = MEMI.PBP
AND MI.MEMI_TXN_CD IN ('AC','RE')
AND MI.MEMI_INTF_STS = 03 )),'N') AS FLAG
FROM
( SELECT
M1.FIRST_NAME ,
M1.LAST_NAME ,
M1.HID ,
M1.EFF_DT,
M1.CID,
M1.PLAN ,
(SELECT MEME.MEME_CK
FROM FADMIN.MEME_TABLE@TO_FUT MEME, FADMIN.GRGR_TABLE@TO_FUT GRGR
WHERE MEME.M_HIN = M1.HID
AND MEME.GRGR_CK = GRGR.GRGR_CK
AND GRGR.GRGR_ID = M1.GRGR_ID
)AS MEME_CK
FROM FADMIN.METR_TABLE@TO_FUT M1,
( SELECT M3.HID, M3.EFF_DT FROM FADMIN.METR_TABLE@TO_FUT M3
WHERE M3.TYPE IN ('60','61')
AND M3.REPLY IN ('117','118')
AND TRUNC (M3.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
AND M3.SYIN_INST = (SELECT MAX (M4.SYIN_INST)
FROM FADMIN.METR_TABLE@TO_FUT M4
WHERE M4.HID = M3.HID
AND M4.TYPE IN ('60','61')
AND M4.REPLY IN ('117','118')
AND TRUNC (M4.EFF_DT) = TRUNC (M3.EFF_DT))
) TEMP
WHERE M1.TYPE IN ('60','61')
AND M1.REPLY ='011'
AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
FROM FADMIN.METR_TABLE@TO_FUT M2
WHERE M2.HID = M1.HID
AND M2.TYPE IN ('60','61')
AND M2.REPLY ='011'
AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
AND M1.HID = TEMP.HID (+)
AND M1.EFF_DT = TEMP.EFF_DT (+)
AND TEMP.HID IS NULL
UNION
SELECT
M1.FIRST_NAME ,
M1.LAST_NAME ,
M1.HID ,
M1.EFF_DT,
M1.CID,
M1.PLAN ,
(SELECT MEME.MEME_CK
FROM FADMIN.MEME_TABLE@TO_FUT MEME, FADMIN.GRGR_TABLE@TO_FUT GRGR
WHERE MEME.M_HIN = M1.HID
AND MEME.GRGR_CK = GRGR.GRGR_CK
AND GRGR.GRGR_ID = M1.GRGR_ID
)AS MEME_CK
FROM FADMIN.METR_TABLE@TO_FUT M1
WHERE M1.TYPE IN ('60','61')
AND M1.REPLY IN ('016', '017', '022', '023')
AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
FROM FADMIN.METR_TABLE@TO_FUT M2
WHERE M2.HID = M1.HID
AND M2.TYPE IN ('60','61')
AND M2.REPLY IN ('016', '017', '022', '023')
AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
)TEMP1 ;
END;
The error:
ORA-00918: column ambiguously defined
ORA-02063: preceding line from TO_FUT
ORA-06512: at "PROC_ENR_ACC", line 5
ORA-06512: at line 5Okay
Here's the code formatted
CREATE OR REPLACE PROCEDURE PROC_ENR_ACC (START_DATE DATE, END_DATE DATE)
AS
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE OUTPUT_TABLE';
INSERT INTO OUTPUT_TABLE (FIRST_NAME,
LAST_NAME,
HID,
EFF_DT,
CID,
PLAN,
FLAG)
SELECT TEMP1.FIRST_NAME,
TEMP1.LAST_NAME,
TEMP1.HID,
TEMP1.EFF_DT,
TEMP1.CID,
TEMP1.PLAN,
NVL (
(SELECT 'Y'
FROM MEMI_TABLE MEMI
WHERE MEMI.MEME_CK = TEMP1.MEME_CK
AND MEMI.TXN_EFF_DT = TEMP1.EFF_DT
AND MEMI.PBP = TEMP1.PLAN
AND MEMI.MEMI_TXN_CD IN ('AC', 'RE')
AND MEMI.MEMI_SEQ_NO = (SELECT MAX (MI.MEMI_SEQ_NO)
FROM MEMI_TABLE MI
WHERE MI.MEME_CK = MEMI.MEME_CK
AND MI.TXN_EFF_DT = MEMI.TXN_EFF_DT
AND MI.PBP = MEMI.PBP
AND MI.MEMI_TXN_CD IN ('AC', 'RE')
AND MI.MEMI_INTF_STS = 03)
),'N') FLAG
FROM (SELECT M1.FIRST_NAME,
M1.LAST_NAME,
M1.HID,
M1.EFF_DT,
M1.CID,
M1.PLAN,
(SELECT MEME.MEME_CK
FROM MEME_TABLE MEME, GRGR_TABLE GRGR
WHERE MEME.M_HIN = M1.HID
AND MEME.GRGR_CK = GRGR.GRGR_CK
AND GRGR.GRGR_ID = M1.GRGR_ID) MEME_CK
FROM METR_TABLE M1,
(SELECT M3.HID, M3.EFF_DT
FROM METR_TABLE M3
WHERE M3.TYPE IN ('60', '61')
AND M3.REPLY IN ('117', '118')
AND TRUNC (M3.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
AND M3.SYIN_INST = (SELECT MAX (M4.SYIN_INST)
FROM METR_TABLE M4
WHERE M4.HID = M3.HID
AND M4.TYPE IN ('60', '61')
AND M4.REPLY IN ('117', '118')
AND TRUNC (M4.EFF_DT) = TRUNC (M3.EFF_DT))
) TEMP
WHERE M1.TYPE IN ('60', '61') AND M1.REPLY = '011'
AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
FROM METR_TABLE M2
WHERE M2.HID = M1.HID
AND M2.TYPE IN ('60', '61')
AND M2.REPLY = '011'
AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
AND M1.HID = TEMP.HID(+)
AND M1.EFF_DT = TEMP.EFF_DT(+)
AND TEMP.HID IS NULL
UNION
SELECT M1.FIRST_NAME,
M1.LAST_NAME,
M1.HID,
M1.EFF_DT,
M1.CID,
M1.PLAN,
(SELECT MEME.MEME_CK
FROM MEME_TABLE MEME, GRGR_TABLE GRGR
WHERE MEME.M_HIN = M1.HID
AND MEME.GRGR_CK = GRGR.GRGR_CK
AND GRGR.GRGR_ID = M1.GRGR_ID) MEME_CK
FROM METR_TABLE M1
WHERE M1.TYPE IN ('60', '61')
AND M1.REPLY IN ('016', '017', '022', '023')
AND TRUNC (M1.METR_TRANS_DT) BETWEEN START_DATE AND END_DATE
AND M1.SYIN_INST = (SELECT MAX (M2.SYIN_INST)
FROM METR_TABLE M2
WHERE M2.HID = M1.HID
AND M2.TYPE IN ('60', '61')
AND M2.REPLY IN ('016', '017', '022', '023')
AND TRUNC (M2.EFF_DT) = TRUNC (M1.EFF_DT))
) TEMP1;
END;
/When posting code if you put {noformat}{noformat} (with the curly brackets and in lower case) above and below it you can preserve formatting.
To your original question...
Is the link name supposed to be variable?
What do you mean by 'hard coding' the values, do you mean in the procedure itself so you'd actually PROC_ENR_ACC();?
What happens when you run this?DECLARE
start_date DATE;
end_date DATE;
BEGIN
start_date := '01-JAN-2009';
end_date := '01-FEB-2009';
PROC_ENR_ACC(start_date, end_date);
END;
I need to know exactly how to recreate your error...
Cheers
Ben
http://www.munkyben.wordpress.com
+Don't forget to mark replies helpful or correct+ ;) -
Dblink poor performance with varchar(4000) after upgrade 11g
Hi
Since a long time we connected from a 10g database via dblink to another 10g database to copy a simple table with four columns. Tablesize at about 500MB
column1 (varchar(100))
column2/3/4 (varchar(4000)).
After the upgrade of the source database to 11g the dblink performance is poor with the big varchar columns. If I copy (select column1 from ) only column1 then I get the data within minutes. If I want to copy the whole table (select column1, column2, column3, column4 from...) then the performance is poor. It didn't finish within days.
Does anyone know about dblink issues with 11g and big varchar columns?
Thank you very muchUse DBlink to pull data from table(s) using IMPDP:
#1 Create DBlink in the Target database
create database link sourceDB1_DBLINK connect to system identified by password10 using 'SourceDB1';
[update tnsnames.ora appropriately]
#2
select DIRECTORY_PATH from dba_directories where DIRECTORY_NAME=’DATA_PUMP_DIR’;
create DATA_PUMP_DIR directory if not exists
#3
impdp system/pwdxxx SCHEMAS=SCOTT NETWORK_LINK=ORCL10R2 JOB_NAME=scott_import LOGFILE=data_pump_dir:network_imp_scott.log
That's all -
Query to compare 2 different tables from 2 different database
Is it possible to write a SQL query to compare 2 Tables from 2 different Oracle Database. Also I need a query to do the same when the database is same.
Thanks in advanceOK, well "compare" can mean one of two things: Compare structure or compare contents. Here is a quick script to compare column structures of two tables on one database:
(select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:OWNR1
and table_name = :tablename
minus
select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:ownr2
and table_name = :tablename)
union all
(select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:ownr2
and table_name = :tablename
minus
select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:ownr1
and table_name = :tablename)
If this query returns any rows, then these indicate that there are structural differences between the tables. We do a minus in both directions to ensure that an additional column in either schema will be returned in the query.
If you are going across dblinks to remote tables then you have to amend the "dba_tab_columns" to "sys.dba_tab_columns@yourdblink"
If you also want to compare indexes, triggers, etc then do the same sort of thing for the associated dba_ views for those objects.
And if you want to compare table contents, then often the fastest way is also to check minuses in both directions, if the tables are not too big:
e.g.
(select * from schema1.table@dblink1
minus
select * from schema2.table@dblink2)
union all
(select * from schema2.table@dblink2
minus
select * from schema1.table@dblink1)
local tables, of course, simply omit the "@dblink" issues.
There are tools to help in such things. TOAD, for example, has a pretty good schema comparison tool, and there are plenty of other options out there. But if you need to script this yourself then the logic I've shown is a good starting point.
Cheers,
Mike -
Datapump exp with network_link generated crashed dump file
Hi Experts,
I am using oracle 10.2.0.4 DB at 32 bit window. I try to exp full source db in target db by data pump with network_link.
But I got a dump file as a crashed dump type under window explorer.
syntax as expdp system/test@targetDB FULL=y DIRECTORY=dataload NETWORK_LINK=sale DUMPFILE=salefull091115.dmp LOGFILE=salefulllog091115.log
what kind of issue is for this event?
Thanks
JIm
Edited by: user589812 on Nov 15, 2009 3:48 AMPl post the last 50 lines of the export log file, along with any errors recorded in the Windows system log.
See you duplicate post here - data pump export network_link  with dblink issue
Srini -
Synonym required to query custom tables from Oracle Apps database
When creating an Answers report that queries from a table owned by a custom schema (not APPS), I cannot query the table and get error. Once I add a Synonym for APPS on this table, then OBIEE works normally.
Since OBIEE is logging in as the APPS user, are Synonyms required for all non-APPS tables/views or is there another feature of the Administrator where it can store the table alias (our typical owner of custom tables is XXFI)?OK, well "compare" can mean one of two things: Compare structure or compare contents. Here is a quick script to compare column structures of two tables on one database:
(select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:OWNR1
and table_name = :tablename
minus
select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:ownr2
and table_name = :tablename)
union all
(select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:ownr2
and table_name = :tablename
minus
select COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE
from dba_Tab_columns
where owner=:ownr1
and table_name = :tablename)
If this query returns any rows, then these indicate that there are structural differences between the tables. We do a minus in both directions to ensure that an additional column in either schema will be returned in the query.
If you are going across dblinks to remote tables then you have to amend the "dba_tab_columns" to "sys.dba_tab_columns@yourdblink"
If you also want to compare indexes, triggers, etc then do the same sort of thing for the associated dba_ views for those objects.
And if you want to compare table contents, then often the fastest way is also to check minuses in both directions, if the tables are not too big:
e.g.
(select * from schema1.table@dblink1
minus
select * from schema2.table@dblink2)
union all
(select * from schema2.table@dblink2
minus
select * from schema1.table@dblink1)
local tables, of course, simply omit the "@dblink" issues.
There are tools to help in such things. TOAD, for example, has a pretty good schema comparison tool, and there are plenty of other options out there. But if you need to script this yourself then the logic I've shown is a good starting point.
Cheers,
Mike -
Issue ORA-28500 dblink from Excel
Masters
I need help
I created an oracle in DBLINK to access an Excel spreadsheet, but when I run the select returns the following error:
"ORA-28500: connection from ORACLE to a non-Oracle system returned this Message:
ORA-02063: preceding line from IMPORT_TRAINING "
The weird that after the ".... returned this Message:" not the error appears.
I thank the attention
Luiz Henrique.Welcome to the forum.
This thread:
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4406709207206#18830681837358
tells you what might be a possible cause regarding your error messages. (you'll have to scroll down a bit or ctrl+f for 'ora-28500') -
Encoding conversion issue on dblink (Oracle - Postgresql)
I have sucessfully setup a dblink from Oracle to Postgresql.
The Postgresql database use UTF-8 encoding for all its data.
When I try this request SELECT * FROM "table"@Postgres , I receive this error :
ORA-00942: Table ou vue inexistante
[Generic Connectivity Using ODBC]DRV_DescribeTable: DB_ODBC_RECORD (1093): ; ERREUR: le caractère 0xc5a1 du codage « UTF8 » n'a pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL Code: 1)
ORA-02063: précédant 2 lines de RECORD
00942. 00000 -Â "table or view does not exist"
*Cause:Â Â Â
*Action:
Erreur à la ligne 2, colonne 5How can I get rid off of this error ?Do you get the same problem for all tables or if you run the select as -The problem is raised only on some tables not all.
select * from "owner"."tablename"@hsodbc ;On a failing select, adding the "owner" doesn't solve the problem.
Are there any error sin the trace file and if so could you post them here ?I perform this query : select * from "owner"."table"@POSTGRE
Here are the traces :
Oracle Corporation --- MONDAY FEB 27 2012 16:21:54.959
Version 10.2.0.1.0
hoagprd (2): ; hoagprd Entered.
HOACONN.C (244): ; [Generic Connectivity Using ODBC] version: 4.6.2.0.0070
HOACONN.C (295): ; Class version: 200
hoagprd (2): ; hoagprd Exited with retcode = 0.
hoainit (3): ; hoainit Entered.
(0): ; connect string is: defTdpName=Postgre;SYNTAX=(ORACLE8_HOA,
BASED_ON=ORACLE8, IDENTIFIER_QUOTE_CHAR="",
CASE_SENSITIVE=CASE_SENSITIVE_QUOTE);BINDING=<navobj><binding><datasources><da-
tasource name='Postgre' type='GENERIC_ODBC_FOR_HS'
connect='Postgre'><driverProperties/></datasource></datasources><remoteMachines-
/><environment><optimizer noFlattener='true'/><misc year2000Policy='-1'
consumerApi='1' sessionBehavior='4'/><queryProcessor parserDepth='2000'
tokenSize='1000' noInsertParameterization='true'
noThreadedReadAhead='true'
noCommandReuse='true'/><debug
generalTrace='true'/></environment></binding></navobj>
ORACLE GENERIC GATEWAY Log File Started at 2012-02-27T16:21:54
hoainit (3): ; hoainit Exited with retcode = 0.
hoalgon (7): ; hoalgon Entered. name = rec_lct.
Created new ODBC connection (136751296)
hoalgon (7): ; hoalgon Exited with retcode = 0.
hoaulcp (4): ; hoaulcp Entered.
hoaulcp (4): ; hoaulcp Exited with retcode = 0.
hoauldt (5): ; hoauldt Entered.
hoauldt (5): ; hoauldt Exited with retcode = 0.
hoabegn (9): ; hoabegn Entered. formatID = 306206, hoagttln = 29, hoagttid =
PDELTAA.286b8407.4.69.1747760, hoagtbln = 10, hoagtbid = ^D, tflag = 0, initial
= 1
hoabegn (9): ; hoabegn Exited with retcode = 0.
hoadtab (26): ; hoadtab Entered. count = 1
hoadtab (26): ; schema_name = owner, table_name = table
odbc_owner: select * from "owner"."table"
DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du codage « UTF8 » n'a
pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL Code: 1)
DRV_DescribeTable: DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du
codage « UTF8 » n'a pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL
Code: 1)
nvRETURN (drv_priv.c 948): -2202
hoadtab (26): ; hoadtab Exited with retcode = 0.
hoapars (15): ; hoapars Entered. stmtType = 0, id = 1.
nvOUT (qp_sqtxt.c 55): SELECT * FROM "owner"."table"
nvRETURN (qpsynon.c 1140): -1
odbc_owner: select * from "owner"."table"
DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du codage « UTF8 » n'a
pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL Code: 1)
DRV_DescribeTable: DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du
codage « UTF8 » n'a pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL
Code: 1)
nvRETURN (drv_priv.c 948): -2202
[A00D] Failed to open table Postgre:owner.table
nvRETURN (qpbldbtn.c 502): -2202
nvRETURN (qpbldbtn.c 382): -2202
nvRETURN (qp_seman.c 3153): -2202
nvRETURN (qp_yacc.c 1930): -2202
nvRETURN (qp_compl.c 515): -2202
nvRETURN (qp_compl.c 232): -2202
nvRETURN (qp_compl.c 200): -2202
hoapars (15): ; hoapars Exited with retcode = 942.
hoadtab (26): ; hoadtab Entered. count = 1
hoadtab (26): ; schema_name = owner, table_name = table
odbc_owner: select * from "owner"."table"
DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du codage « UTF8 » n'a
pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL Code: 1)
DRV_DescribeTable: DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du
codage « UTF8 » n'a pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL
Code: 1)
nvRETURN (drv_priv.c 948): -2202
hoadtab (26): ; hoadtab Exited with retcode = 0.
hoapars (15): ; hoapars Entered. stmtType = 0, id = 1.
nvOUT (qp_sqtxt.c 55): SELECT * FROM "owner"."table"
odbc_rec: select * from "owner"."table"
DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du codage « UTF8 » n'a
pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL Code: 1)
DRV_DescribeTable: DB_ODBC_POSTGRE (1093): ; ERREUR: le caractère 0xc5a1 du
codage « UTF8 » n'a pas d'équivalent dans « LATIN1 » (SQL State: HY000; SQL
Code: 1)
nvRETURN (drv_priv.c 948): -2202
[A00D] Failed to open table Postgre:owner.table
nvRETURN (qpbldbtn.c 502): -2202
nvRETURN (qpbldbtn.c 382): -2202
nvRETURN (qp_seman.c 3153): -2202
nvRETURN (qp_yacc.c 1930): -2202
nvRETURN (qp_compl.c 515): -2202
nvRETURN (qp_compl.c 232): -2202
nvRETURN (qp_compl.c 200): -2202
hoapars (15): ; hoapars Exited with retcode = 942. -
Hi
We had a dblink at one of client side, they are pushing data throught a dblink since long time. Now they are facing some problem while insert bulk records through application. As a trial basis i tried to pull reccords through dblinks and is working fine.
How can i trouble shoot on the previous dblink
thy are getting ORA 20005;02055;02068
RegardsThe ORA-02055 error indicates you migh have a in-dobubt transaction so you should check or have checked the contents of the dba_2pc_pending and dba_2pc_neighbors views on both systems. Manual intervention to remove the transaction may be required.
$ oerr ora 02055
02055, 00000, "distributed update operation failed; rollback required"
// *Cause: a failure during distributed update operation may not have
//     rolled back all effects of the operation. Since
//Â Â Â Â Â some sites may be inconsistent, the transaction must roll back to
//Â Â Â Â Â a savepoint or entirely
// *Action: rollback to a savepoint or rollback transaction and resubmitHTH -- Mark D Powell -- -
How to copy a table with LONG and CLOB datatype over a dblink?
Hi All,
I need to copy a table from an external database into a local one. Note that this table has both LONG and CLOB datatypes included.
I have taken 2 approaches to do this:
1. Use the CREATE TABLE AS....
SQL> create table XXXX_TEST as select * from XXXX_INDV_DOCS@ext_db;
create table XXXX_TEST as select * from XXXX_INDV_DOCS@ext_db
ERROR at line 1:
ORA-00997: illegal use of LONG datatype
2. After reading some threads I tried to use the COPY command:
SQL> COPY FROM xxxx/pass@ext_db TO xxxx/pass@target_db REPLACE XXXX_INDV_DOCS USING SELECT * FROM XXXX_INDV_DOCS;
Array fetch/bind size is 15. (arraysize is 15)
Will commit when done. (copycommit is 0)
Maximum long size is 80. (long is 80)
CPY-0012: Datatype cannot be copied
If my understanding is correct the 1st statement fails because there is a LONG datatype in XXXX_INDV_DOCS table and 2nd one fails because there is a CLOB datatype.
Is there a way to copy the entire table (all columns including both LONG and CLOB) over a dblink?
Would greatelly appriciate any workaround or ideas!
Regards,
Pawel.Hi Nicolas,
There is a reason I am not using export/import:
- I would like to have a one-script solution for this problem (meaning execute one script on one machine)
- I am not able to make an SSH connection from the target DB to the local one (although the otherway it works fine) which means I cannot copy the dump file from target server to local one.
- with export/import I need to have an SSH connection on the target DB in order to issue the exp command...
Therefore, I am looking for a solution (or a workaround) which will work over a DBLINK.
Regards,
Pawel. -
Performance issue showing read by other session Event
Hi All,
we are having a severe performance issue in my database when we are running batch jobs.
This was a new database(11.2.0.2) and we are testing the performance by running some batch jobs. These batch jobs included some inserts and updates.
I am seeing read by other session in top 5 timed events and cache buffers chains in Latch Miss Sources section.
Please help me to solve this out.
Inst Num Startup Time Release RAC
1 27-Feb-12 09:03 11.2.0.2.0 NO
Platform CPUs Cores Sockets Memory(GB)
Linux x86 64-bit 8 8 8 48.00
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 5605 29-Feb-12 03:00:27 63 4.5
End Snap: 5614 29-Feb-12 12:00:47 63 4.3
Elapsed: 540.32 (mins)
DB Time: 1,774.23 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,952M 1,952M Std Block Size: 16K
Shared Pool Size: 1,024M 1,024M Log Buffer: 18,868K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 3.3 0.8 0.02 0.05
DB CPU(s): 1.1 0.3 0.01 0.02
Redo size: 55,763.8 13,849.3
Logical reads: 23,906.6 5,937.4
Block changes: 325.7 80.9
Physical reads: 665.6 165.3
Physical writes: 40.4 10.0
User calls: 60.7 15.1
Parses: 10.6 2.6
Hard parses: 1.1 0.3
W/A MB processed: 0.6 0.2
Logons: 0.1 0.0
Executes: 151.2 37.6
Rollbacks: 0.0 0.0
Transactions: 4.0
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.94 Redo NoWait %: 100.00
Buffer Hit %: 97.90 In-memory Sort %: 100.00
Library Hit %: 98.06 Soft Parse %: 90.16
Execute to Parse %: 92.96 Latch Hit %: 100.00
Parse CPU to Parse Elapsd %: 76.71 % Non-Parse CPU: 98.57
Shared Pool Statistics Begin End
Memory Usage %: 89.38 87.96
% SQL with executions>1: 97.14 95.15
% Memory for SQL w/exec>1: 96.05 92.46
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
db file sequential read 14,092,706 65,613 5 61.6 User I/O
DB CPU 34,819 32.7
read by other session 308,534 1,260 4 1.2 User I/O
direct path read 97,454 987 10 .9 User I/O
db file scattered read 71,870 910 13 .9 User I/O
Host CPU (CPUs: 8 Cores: 8 Sockets: 8)
~~~~~~~~ Load Average
Begin End %User %System %WIO %Idle
0.43 0.36 13.7 0.6 9.7 85.7
Instance CPU
~~~~~~~~~~~~
% of total CPU for Instance: 13.5
% of busy CPU for Instance: 94.2
%DB time waiting for CPU - Resource Mgr: 0.0
Memory Statistics
~~~~~~~~~~~~~~~~~ Begin End
Host Mem (MB): 49,152.0 49,152.0
SGA use (MB): 3,072.0 3,072.0
PGA use (MB): 506.5 629.1
% Host Mem used for SGA+PGA: 7.28 7.53
Time Model Statistics
-> Total time in database user-calls (DB Time): 106453.8s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 105,531.1 99.1
DB CPU 34,818.8 32.7
parse time elapsed 714.7 .7
hard parse elapsed time 684.8 .6
PL/SQL execution elapsed time 161.9 .2
PL/SQL compilation elapsed time 44.2 .0
connection management call elapsed time 16.9 .0
hard parse (sharing criteria) elapsed time 10.2 .0
hard parse (bind mismatch) elapsed time 9.4 .0
sequence load elapsed time 2.9 .0
repeated bind elapsed time 0.5 .0
failed parse elapsed time 0.0 .0
DB time 106,453.8
background elapsed time 1,753.9
background cpu time 61.7
Operating System Statistics
-> *TIME statistic values are diffed.
All others display actual values. End Value is displayed if different
-> ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name
Statistic Value End Value
BUSY_TIME 3,704,415
IDLE_TIME 22,203,740
IOWAIT_TIME 2,517,864
NICE_TIME 3
SYS_TIME 145,696
USER_TIME 3,557,758
LOAD 0 0
RSRC_MGR_CPU_WAIT_TIME 0
VM_IN_BYTES 358,813,045,760
VM_OUT_BYTES 29,514,830,848
PHYSICAL_MEMORY_BYTES 51,539,607,552
NUM_CPUS 8
NUM_CPU_CORES 8
NUM_CPU_SOCKETS 8
GLOBAL_RECEIVE_SIZE_MAX 4,194,304
GLOBAL_SEND_SIZE_MAX 1,048,586
TCP_RECEIVE_SIZE_DEFAULT 87,380
TCP_RECEIVE_SIZE_MAX 4,194,304
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 4,194,304
TCP_SEND_SIZE_MIN 4,096
Operating System Statistics -
Snap Time Load %busy %user %sys %idle %iowait
29-Feb 03:00:27 0.4 N/A N/A N/A N/A N/A
29-Feb 04:00:35 1.4 11.9 11.2 0.6 88.1 14.3
29-Feb 05:00:41 1.7 13.8 13.2 0.6 86.2 15.8
29-Feb 06:00:48 1.5 14.0 13.5 0.6 86.0 12.3
29-Feb 07:01:00 1.8 16.3 15.8 0.5 83.7 10.4
29-Feb 08:00:12 2.6 23.2 22.5 0.6 76.8 12.6
29-Feb 09:00:26 1.3 16.6 16.0 0.5 83.4 5.7
29-Feb 10:00:33 1.2 13.8 13.3 0.5 86.2 2.0
29-Feb 11:00:43 1.3 14.5 14.0 0.5 85.5 3.8
29-Feb 12:00:47 0.4 4.9 4.2 0.7 95.1 10.6
Foreground Wait Class
-> s - second, ms - millisecond - 1000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
-> Captured Time accounts for 97.9% of Total DB time 106,453.79 (s)
-> Total FG Wait Time: 69,415.64 (s) DB CPU time: 34,818.79 (s)
Avg
%Time Total Wait wait
Wait Class Waits -outs Time (s) (ms) %DB time
User I/O 14,693,843 0 69,222 5 65.0
DB CPU 34,819 32.7
Commit 40,629 0 119 3 0.1
System I/O 26,504 0 57 2 0.1
Network 1,945,010 0 11 0 0.0
Other 125,200 99 4 0 0.0
Application 2,673 0 2 1 0.0
Concurrency 3,059 0 1 0 0.0
Configuration 31 19 0 15 0.0
Foreground Wait Events
-> s - second, ms - millisecond - 1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
db file sequential read 14,092,706 0 65,613 5 108.0 61.6
read by other session 308,534 0 1,260 4 2.4 1.2
direct path read 97,454 0 987 10 0.7 .9
db file scattered read 71,870 0 910 13 0.6 .9
db file parallel read 35,001 0 372 11 0.3 .3
log file sync 40,629 0 119 3 0.3 .1
control file sequential re 26,504 0 57 2 0.2 .1
direct path read temp 14,499 0 49 3 0.1 .0
direct path write temp 9,186 0 28 3 0.1 .0
SQL*Net message to client 1,923,973 0 5 0 14.7 .0
SQL*Net message from dblin 1,056 0 5 5 0.0 .0
Disk file operations I/O 8,848 0 2 0 0.1 .0
ASM file metadata operatio 36 0 2 54 0.0 .0
SQL*Net break/reset to cli 2,636 0 1 1 0.0 .0
ADR block file read 472 0 1 1 0.0 .0
os thread startup 8 0 1 74 0.0 .0
SQL*Net more data to clien 17,656 0 1 0 0.1 .0
asynch descriptor resize 123,852 100 0 0 0.9 .0
local write wait 110 0 0 4 0.0 .0
utl_file I/O 55,635 0 0 0 0.4 .0
log file switch (private s 8 0 0 52 0.0 .0
cursor: pin S wait on X 2 0 0 142 0.0 .0
enq: KO - fast object chec 13 0 0 20 0.0 .0
PX Deq: Slave Session Stat 248 0 0 1 0.0 .0
enq: RO - fast object reus 18 0 0 11 0.0 .0
latch: cache buffers chain 2,511 0 0 0 0.0 .0
latch: shared pool 195 0 0 1 0.0 .0
CSS initialization 12 0 0 8 0.0 .0
PX qref latch 54 100 0 2 0.0 .0
SQL*Net more data from cli 995 0 0 0 0.0 .0
SQL*Net more data from dbl 300 0 0 0 0.0 .0
kksfbc child completion 1 100 0 56 0.0 .0
library cache: mutex X 244 0 0 0 0.0 .0
PX Deq: Signal ACK RSG 124 0 0 0 0.0 .0
undo segment extension 6 100 0 7 0.0 .0
PX Deq: Signal ACK EXT 124 0 0 0 0.0 .0
library cache load lock 3 0 0 9 0.0 .0
ADR block file write 45 0 0 1 0.0 .0
CSS operation: action 12 0 0 2 0.0 .0
reliable message 28 0 0 1 0.0 .0
CSS operation: query 72 0 0 0 0.0 .0
latch: row cache objects 14 0 0 1 0.0 .0
enq: SQ - contention 17 0 0 0 0.0 .0
latch free 32 0 0 0 0.0 .0
buffer busy waits 52 0 0 0 0.0 .0
enq: PS - contention 16 0 0 0 0.0 .0
enq: TX - row lock content 6 0 0 1 0.0 .0
SQL*Net message to dblink 1,018 0 0 0 0.0 .0
cursor: pin S 23 0 0 0 0.0 .0
latch: cache buffers lru c 8 0 0 0 0.0 .0
SQL*Net message from clien 1,923,970 0 944,508 491 14.7
jobq slave wait 66,732 100 33,334 500 0.5
Streams AQ: waiting for me 6,481 100 32,412 5001 0.0
wait for unread message on 32,858 98 32,411 986 0.3
PX Deq: Execution Msg 1,448 0 190 131 0.0
PX Deq: Execute Reply 1,196 0 74 62 0.0
HS message to agent 228 0 4 19 0.0
single-task message 42 0 4 97 0.0
PX Deq Credit: send blkd 904 0 2 3 0.0
PX Deq Credit: need buffer 205 0 1 3 0.0
Foreground Wait Events
-> s - second, ms - millisecond - 1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
PX Deq: Table Q Normal 4,291 0 1 0 0.0
PX Deq: Join ACK 124 0 0 1 0.0
PX Deq: Parse Reply 124 0 0 0 0.0
KSV master wait 256 0 0 0 0.0
Latch Miss Sources
-> only latches with sleeps are shown
-> ordered by name, sleeps desc
NoWait Waiter
Latch Name Where Misses Sleeps Sleeps
ASM map operation freeli kffmTranslate2 0 2 0
DML lock allocation ktadmc 0 2 0
FOB s.o list latch ksfd_allfob 0 2 2
In memory undo latch ktiFlushMe 0 5 0
In memory undo latch ktichg: child 0 3 0
PC and Classifier lists No latch 0 6 0
Real-time plan statistic keswxAddNewPlanEntry 0 20 20
SQL memory manager worka qesmmIRegisterWorkArea:1 0 1 1
active service list kswslogon: session logout 0 23 12
active service list kswssetsvc: PX session swi 0 6 1
active service list kswsite: service iterator 0 1 0
archive process latch kcrrgpll 0 3 3
cache buffers chains kcbgtcr_2 0 1,746 573
cache buffers chains kcbgtcr: fast path (cr pin 0 1,024 2,126
cache buffers chains kcbgcur_2 0 60 8
cache buffers chains kcbchg1: kslbegin: bufs no 0 16 3
cache buffers chains kcbgtcr: fast path 0 14 20
cache buffers chains kcbzibmlt: multi-block rea 0 10 0
cache buffers chains kcbrls_2 0 9 53
cache buffers chains kcbgtcr: kslbegin shared 0 8 1
cache buffers chains kcbrls_1 0 7 84
cache buffers chains kcbgtcr: kslbegin excl 0 6 14
cache buffers chains kcbnew: new latch again 0 6 0
cache buffers chains kcbzgb: scan from tail. no 0 6 0
cache buffers chains kcbzwb 0 5 8
cache buffers chains kcbgcur: fast path (shr) 0 3 0
cache buffers chains kcbget: pin buffer 0 3 0
cache buffers chains kcbzhngcbk2_1 0 1 0
cache buffers lru chain kcbzgws 0 19 0
cache buffers lru chain kcbo_link_q 0 3 0
call allocation ksuxds 0 14 10
call allocation ksudlp: top call 0 2 3
enqueue hash chains ksqgtl3 0 2 1
enqueue hash chains ksqrcl 0 1 2
enqueues ksqgel: create enqueue 0 1 0
object queue header oper kcbo_unlink_q 0 5 2
object queue header oper kcbo_sw_buf 0 2 0
object queue header oper kcbo_link_q 0 1 2
object queue header oper kcbo_switch_cq 0 1 2
object queue header oper kcbo_switch_mq_bg 0 1 4
parallel query alloc buf kxfpbalo 0 1 1
process allocation ksucrp:1 0 2 0
process queue reference kxfpqrsnd 0 1 0
qmn task queue latch kwqmnmvtsks: delay to read 0 1 0
redo allocation kcrfw_redo_gen: redo alloc 0 17 0
row cache objects kqreqd: reget 0 6 0
row cache objects kqrpre: find obj 0 6 13
row cache objects kqrso 0 2 0
row cache objects kqreqd 0 1 2
row cache objects kqrpre: init complete 0 1 1
shared pool kghalo 0 199 106
shared pool kghupr1 0 39 109
shared pool kghfre 0 18 19
shared pool kghalp 0 7 29
space background task la ktsj_grab_task 0 21 27
Mutex Sleep Summary
-> ordered by number of sleeps desc
Wait
Mutex Type Location Sleeps Time (ms)
Library Cache kglhdgn2 106 338 12
Library Cache kgllkc1 57 259 10
Library Cache kgllkdl1 85 123 21
Cursor Pin kkslce [KKSCHLPIN2] 70 286
Library Cache kglget2 2 31 1
Library Cache kglhdgn1 62 31 2
Library Cache kglpin1 4 26 1
Library Cache kglpnal1 90 18 0
Library Cache kglpndl1 95 15 2
Library Cache kgllldl2 112 6 0
Library Cache kglini1 32 1 0
-------------------------------------------------------------Thanks in advance.Hi,
Thanks for reply.
I provided one hour report.
Inst Num Startup Time Release RAC
1 27-Feb-12 09:03 11.2.0.2.0 NO
Platform CPUs Cores Sockets Memory(GB)
Linux x86 64-bit 8 8 8 48.00
Snap Id Snap Time Sessions Curs/Sess
Begin Snap: 5606 29-Feb-12 04:00:35 63 3.7
End Snap: 5607 29-Feb-12 05:00:41 63 3.6
Elapsed: 60.11 (mins)
DB Time: 382.67 (mins)
Cache Sizes Begin End
~~~~~~~~~~~ ---------- ----------
Buffer Cache: 1,952M 1,952M Std Block Size: 16K
Shared Pool Size: 1,024M 1,024M Log Buffer: 18,868K
Load Profile Per Second Per Transaction Per Exec Per Call
~~~~~~~~~~~~ --------------- --------------- ---------- ----------
DB Time(s): 6.4 0.8 0.03 0.03
DB CPU(s): 1.0 0.1 0.00 0.00
Redo size: 84,539.3 10,425.6
Logical reads: 23,345.6 2,879.1
Block changes: 386.5 47.7
Physical reads: 1,605.0 197.9
Physical writes: 7.1 0.9
User calls: 233.9 28.9
Parses: 4.0 0.5
Hard parses: 0.1 0.0
W/A MB processed: 0.1 0.0
Logons: 0.1 0.0
Executes: 210.9 26.0
Rollbacks: 0.0 0.0
Transactions: 8.1
Instance Efficiency Percentages (Target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 99.62 Redo NoWait %: 100.00
Buffer Hit %: 95.57 In-memory Sort %: 100.00
Library Hit %: 99.90 Soft Parse %: 98.68
Execute to Parse %: 98.10 Latch Hit %: 99.99
Parse CPU to Parse Elapsd %: 32.08 % Non-Parse CPU: 99.90
Shared Pool Statistics Begin End
Memory Usage %: 89.25 89.45
% SQL with executions>1: 96.79 97.52
% Memory for SQL w/exec>1: 95.67 96.56
Top 5 Timed Foreground Events
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
db file sequential read 3,054,464 17,002 6 74.0 User I/O
DB CPU 3,748 16.3
read by other session 199,603 796 4 3.5 User I/O
direct path read 46,301 439 9 1.9 User I/O
db file scattered read 21,113 269 13 1.2 User I/O
Host CPU (CPUs: 8 Cores: 8 Sockets: 8)
~~~~~~~~ Load Average
Begin End %User %System %WIO %Idle
1.45 1.67 13.2 0.6 15.8 86.2
Instance CPU
~~~~~~~~~~~~
% of total CPU for Instance: 13.0
% of busy CPU for Instance: 94.7
%DB time waiting for CPU - Resource Mgr: 0.0
Memory Statistics
~~~~~~~~~~~~~~~~~ Begin End
Host Mem (MB): 49,152.0 49,152.0
SGA use (MB): 3,072.0 3,072.0
PGA use (MB): 513.5 467.7
% Host Mem used for SGA+PGA: 7.29 7.20
Time Model Statistics
-> Total time in database user-calls (DB Time): 22960.5s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name
Statistic Name Time (s) % of DB Time
sql execute elapsed time 22,835.9 99.5
DB CPU 3,748.4 16.3
parse time elapsed 15.4 .1
hard parse elapsed time 14.3 .1
PL/SQL execution elapsed time 7.5 .0
PL/SQL compilation elapsed time 6.0 .0
connection management call elapsed time 1.6 .0
sequence load elapsed time 0.4 .0
hard parse (sharing criteria) elapsed time 0.0 .0
repeated bind elapsed time 0.0 .0
failed parse elapsed time 0.0 .0
DB time 22,960.5
background elapsed time 238.1
background cpu time 4.9
Operating System Statistics
-> *TIME statistic values are diffed.
All others display actual values. End Value is displayed if different
-> ordered by statistic type (CPU Use, Virtual Memory, Hardware Config), Name
Statistic Value End Value
BUSY_TIME 396,506
IDLE_TIME 2,483,725
IOWAIT_TIME 455,495
NICE_TIME 0
SYS_TIME 16,163
USER_TIME 380,052
LOAD 1 2
RSRC_MGR_CPU_WAIT_TIME 0
VM_IN_BYTES 95,646,943,232
VM_OUT_BYTES 1,686,059,008
PHYSICAL_MEMORY_BYTES 51,539,607,552
NUM_CPUS 8
NUM_CPU_CORES 8
NUM_CPU_SOCKETS 8
GLOBAL_RECEIVE_SIZE_MAX 4,194,304
GLOBAL_SEND_SIZE_MAX 1,048,586
TCP_RECEIVE_SIZE_DEFAULT 87,380
TCP_RECEIVE_SIZE_MAX 4,194,304
TCP_RECEIVE_SIZE_MIN 4,096
TCP_SEND_SIZE_DEFAULT 16,384
TCP_SEND_SIZE_MAX 4,194,304
TCP_SEND_SIZE_MIN 4,096
Operating System Statistics -
Snap Time Load %busy %user %sys %idle %iowait
29-Feb 04:00:35 1.4 N/A N/A N/A N/A N/A
29-Feb 05:00:41 1.7 13.8 13.2 0.6 86.2 15.8
Foreground Wait Class
-> s - second, ms - millisecond - 1000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
-> Captured Time accounts for 97.6% of Total DB time 22,960.46 (s)
-> Total FG Wait Time: 18,651.75 (s) DB CPU time: 3,748.35 (s)
Avg
%Time Total Wait wait
Wait Class Waits -outs Time (s) (ms) %DB time
User I/O 3,327,253 0 18,576 6 80.9
DB CPU 3,748 16.3
Commit 23,882 0 69 3 0.3
System I/O 1,035 0 3 3 0.0
Network 842,393 0 2 0 0.0
Other 10,120 99 0 0 0.0
Configuration 3 0 0 58 0.0
Application 264 0 0 1 0.0
Concurrency 1,482 0 0 0 0.0
Foreground Wait Events
-> s - second, ms - millisecond - 1000th of a second
-> Only events with Total Wait Time (s) >= .001 are shown
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % DB
Event Waits -outs Time (s) (ms) /txn time
db file sequential read 3,054,464 0 17,002 6 104.5 74.0
read by other session 199,603 0 796 4 6.8 3.5
direct path read 46,301 0 439 9 1.6 1.9
db file scattered read 21,113 0 269 13 0.7 1.2
log file sync 23,882 0 69 3 0.8 .3
db file parallel read 4,727 0 68 14 0.2 .3
control file sequential re 1,035 0 3 3 0.0 .0
SQL*Net message to client 840,792 0 2 0 28.8 .0
direct path read temp 95 0 2 18 0.0 .0
local write wait 79 0 0 4 0.0 .0
Disk file operations I/O 870 0 0 0 0.0 .0
ASM file metadata operatio 4 0 0 50 0.0 .0
log file switch (private s 3 0 0 58 0.0 .0
ADR block file read 36 0 0 3 0.0 .0
enq: RO - fast object reus 5 0 0 16 0.0 .0
latch: cache buffers chain 1,465 0 0 0 0.1 .0
SQL*Net break/reset to cli 256 0 0 0 0.0 .0
asynch descriptor resize 10,059 100 0 0 0.3 .0
SQL*Net more data to clien 1,510 0 0 0 0.1 .0
enq: KO - fast object chec 3 0 0 8 0.0 .0
SQL*Net more data from cli 91 0 0 0 0.0 .0
latch: shared pool 14 0 0 0 0.0 .0
ADR block file write 5 0 0 1 0.0 .0
reliable message 8 0 0 0 0.0 .0
direct path write temp 1 0 0 2 0.0 .0
SQL*Net message from clien 840,794 0 68,885 82 28.8
jobq slave wait 7,365 100 3,679 499 0.3
Streams AQ: waiting for me 721 100 3,605 5000 0.0
wait for unread message on 3,648 98 3,603 988 0.1
KSV master wait 20 0 0 0 0.0
Background Wait Events
-> ordered by wait time desc, waits desc (idle events last)
-> Only events with Total Wait Time (s) >= .001 are shown
-> %Timeouts: value of 0 indicates value was < .5%. Value of null is truly 0
Avg
%Time Total Wait wait Waits % bg
Event Waits -outs Time (s) (ms) /txn time
log file parallel write 29,353 0 83 3 1.0 34.8
db file parallel write 5,753 0 17 3 0.2 6.9
db file sequential read 1,638 0 15 9 0.1 6.1
control file sequential re 5,142 0 13 2 0.2 5.4
os thread startup 140 0 8 58 0.0 3.4
control file parallel writ 1,440 0 8 6 0.0 3.4
log file sequential read 304 0 8 26 0.0 3.3
db file scattered read 214 0 2 9 0.0 .8
ASM file metadata operatio 1,199 0 1 1 0.0 .3
direct path write 35 0 0 6 0.0 .1
direct path read 41 0 0 5 0.0 .1
kfk: async disk IO 6 0 0 9 0.0 .0
Disk file operations I/O 1,266 0 0 0 0.0 .0
ADR block file read 16 0 0 2 0.0 .0
read by other session 3 0 0 8 0.0 .0
Log archive I/O 2 0 0 10 0.0 .0
log file sync 3 0 0 5 0.0 .0
asynch descriptor resize 341 100 0 0 0.0 .0
CSS initialization 1 0 0 6 0.0 .0
log file single write 4 0 0 1 0.0 .0
latch: redo allocation 3 0 0 1 0.0 .0
ADR block file write 5 0 0 1 0.0 .0
LGWR wait for redo copy 45 0 0 0 0.0 .0
CSS operation: query 6 0 0 0 0.0 .0
CSS operation: action 1 0 0 1 0.0 .0
SQL*Net message to client 420 0 0 0 0.0 .0
rdbms ipc message 47,816 39 61,046 1277 1.6
DIAG idle wait 7,200 100 7,200 1000 0.2
Space Manager: slave idle 1,146 98 5,674 4951 0.0
class slave wait 284 0 3,983 14026 0.0
dispatcher timer 61 100 3,660 60006 0.0
Streams AQ: qmn coordinato 258 50 3,613 14003 0.0
Streams AQ: qmn slave idle 130 0 3,613 27789 0.0
Streams AQ: waiting for ti 7 71 3,608 515430 0.0
wait for unread message on 3,605 100 3,606 1000 0.1
pmon timer 1,201 100 3,604 3001 0.0
smon timer 15 73 3,603 240207 0.0
ASM background timer 754 0 3,602 4777 0.0
shared server idle wait 120 100 3,601 30006 0.0
SQL*Net message from clien 554 0 4 7 0.0
KSV master wait 101 0 0 2 0.0
Wait Event Histogram
-> Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
-> % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
-> % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
-> Ordered by Event (idle events last)
% of Waits
Total
Event Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
ADR block file read 52 73.1 1.9 9.6 13.5 1.9
ADR block file write 10 100.0
ADR file lock 12 100.0
ARCH wait for archivelog l 3 100.0
ASM file metadata operatio 1203 97.3 .5 .7 .3 .2 .9
CSS initialization 1 100.0
CSS operation: action 1 100.0
CSS operation: query 6 83.3 16.7
Disk file operations I/O 2118 95.4 4.5 .1
LGWR wait for redo copy 45 100.0
Log archive I/O 2 100.0
SQL*Net break/reset to cli 256 99.6 .4
SQL*Net message to client 839.9 100.0 .0
SQL*Net more data from cli 91 100.0
SQL*Net more data to clien 1503 100.0
asynch descriptor resize 10.4K 100.0
buffer busy waits 2 100.0
control file parallel writ 1440 5.7 35.1 24.0 16.3 12.0 5.5 1.5
control file sequential re 6177 69.4 7.5 5.9 8.1 7.1 1.7 .3
db file parallel read 4727 1.7 3.2 3.2 10.1 46.6 33.3 1.8
db file parallel write 5755 42.3 21.3 18.6 11.2 4.6 1.4 .5
db file scattered read 21.5K 8.4 4.3 11.9 18.9 26.3 25.3 4.9
db file sequential read 3053. 28.7 15.1 11.1 17.9 21.5 5.4 .3 .0
direct path read 46.3K 9.9 8.8 18.5 21.7 22.8 15.7 2.7
direct path read temp 95 9.5 9.5 23.2 49.5 8.4
direct path write 35 11.4 31.4 17.1 22.9 11.4 2.9 2.9
direct path write temp 1 100.0
enq: KO - fast object chec 3 66.7 33.3
enq: RO - fast object reus 5 20.0 20.0 20.0 20.0 20.0
kfk: async disk IO 6 50.0 16.7 16.7 16.7
latch free 3 100.0
latch: cache buffers chain 1465 100.0
latch: cache buffers lru c 1 100.0
latch: object queue header 2 100.0
latch: redo allocation 3 33.3 33.3 33.3
latch: row cache objects 2 100.0
latch: shared pool 15 93.3 6.7
local write wait 79 35.4 34.2 21.5 8.9
log file parallel write 29.4K 47.8 21.7 11.9 9.9 6.8 1.6 .3
log file sequential read 304 6.3 3.0 3.6 10.2 23.4 24.3 29.3
log file single write 4 25.0 75.0
log file switch (private s 3 100.0
log file sync 23.9K 40.9 28.0 12.9 9.7 6.7 1.5 .3
os thread startup 140 100.0
read by other session 199.6 37.1 19.9 12.9 13.1 13.8 3.1 .2
reliable message 8 100.0
ASM background timer 755 2.9 .4 .1 .1 .3 .1 .3 95.8
DIAG idle wait 7196 100.0
KSV master wait 121 88.4 2.5 3.3 2.5 .8 .8 1.7
SQL*Net message from clien 840.1 97.1 1.8 .5 .2 .2 .1 .0 .1
Space Manager: slave idle 1147 .1 .5 99.4
Streams AQ: qmn coordinato 258 49.6 .4 50.0
Streams AQ: qmn slave idle 130 .8 99.2
Streams AQ: waiting for me 721 100.0
Streams AQ: waiting for ti 7 28.6 42.9 28.6
class slave wait 283 39.9 2.5 2.5 3.5 4.9 9.2 15.2 22.3
dispatcher timer 60 100.0
jobq slave wait 7360 .0 .0 .0 99.9
pmon timer 1201 100.0
rdbms ipc message 47.8K 2.7 31.6 17.4 1.1 1.1 .9 20.9 24.3
Wait Event Histogram DB/Inst: I2KPROD/I2KPROD Snaps: 5606-5607
-> Units for Total Waits column: K is 1000, M is 1000000, G is 1000000000
-> % of Waits: value of .0 indicates value was <.05%; value of null is truly 0
-> % of Waits: column heading of <=1s is truly <1024ms, >1s is truly >=1024ms
-> Ordered by Event (idle events last)
% of Waits
Total
Event Waits <1ms <2ms <4ms <8ms <16ms <32ms <=1s >1s
shared server idle wait 120 100.0
smon timer 16 6.3 93.8
wait for unread message on 7250 .1 99.9
Latch Miss Sources
-> only latches with sleeps are shown
-> ordered by name, sleeps desc
NoWait Waiter
Latch Name Where Misses Sleeps Sleeps
In memory undo latch ktichg: child 0 1 0
active service list kswslogon: session logout 0 2 0
cache buffers chains kcbgtcr_2 0 1,123 483
cache buffers chains kcbgtcr: fast path (cr pin 0 496 1,131
cache buffers chains kcbrls_2 0 5 6
cache buffers chains kcbgcur_2 0 4 0
cache buffers chains kcbgtcr: fast path 0 3 1
cache buffers chains kcbzwb 0 2 4
cache buffers chains kcbchg1: kslbegin: bufs no 0 1 0
cache buffers chains kcbnew: new latch again 0 1 0
cache buffers chains kcbrls_1 0 1 6
cache buffers chains kcbzgb: scan from tail. no 0 1 0
cache buffers lru chain kcbzgws 0 1 0
object queue header oper kcbo_switch_cq 0 1 0
object queue header oper kcbo_switch_mq_bg 0 1 2
redo allocation kcrfw_redo_gen: redo alloc 0 3 0
row cache objects kqrpre: find obj 0 1 1
row cache objects kqrso 0 1 0
shared pool kghalo 0 13 3
shared pool kghupr1 0 4 15
shared pool kghalp 0 1 0
space background task la ktsj_grab_task 0 2 2
------------------------------------------------------------- -
Please go thru below important checklist/guidelines to identify issue in any Perforamnce issue and resolution in no time.
Checklist for Quick Performance problem Resolution
· get trace, code and other information for given PE case
- Latest Code from Production env
- Trace (sql queries, statistics, row source operations with row count, explain plan, all wait events)
- Program parameters & their frequently used values
- Run Frequency of the program
- existing Run-time/response time in Production
- Business Purpose
· Identify most time consuming SQL taking more than 60 % of program time using Trace & Code analysis
· Check all mandatory parameters/bind variables are directly mapped to index columns of large transaction tables without any functions
· Identify most time consuming operation(s) using Row Source Operation section
· Study program parameter input directly mapped to SQL
· Identify all Input bind parameters being used to SQL
· Is SQL query returning large records for given inputs
· what are the large tables and their respective columns being used to mapped with input parameters
· which operation is scanning highest number of records in Row Source operation/Explain Plan
· Is Oracle Cost Based Optimizer using right Driving table for given SQL ?
· Check the time consuming index on large table and measure Index Selectivity
· Study Where clause for input parameters mapped to tables and their columns to find the correct/optimal usage of index
· Is correct index being used for all large tables?
· Is there any Full Table Scan on Large tables ?
· Is there any unwanted Table being used in SQL ?
· Evaluate Join condition on Large tables and their columns
· Is FTS on large table b'cos of usage of non index columns
· Is there any implicit or explicit conversion causing index not getting used ?
· Statistics of all large tables are upto date ?
Quick Resolution tips
1) Use Bulk Processing feature BULK COLLECT with LIMIT and FOR ALL for DML instead of row by row processing
2) Use Data Caching Technique/Options to cache static data
3) Use Pipe Line Table Functions whenever possible
4) Use Global Temporary Table, Materialized view to process complex records
5) Try avoiding multiple network trips for every row between two database using dblink, Use Global temporary table or set operator to reduce network trip
6) Use EXTERNAL Table to build interface rather then creating custom table and program to Load and validate the data
7) Understand Oracle's Cost based Optimizer and Tune most expensive SQL queries with help of Explain plan
8) Follow Oracle PL/SQL Best Practices
9) Review tables and their indexes being used in the SQL queries and avoid unnecessary Table scanning
10) Avoid costly Full Table Scan on Big Transaction tables with Huge data volume,
11) Use appropriate filtration condition on index columns of seeded Oracle tables directly mapped to program parameters
12) Review Join condition on existing query explain plan
13) Use Oracle hint to guide Oracle Cost based optimizer to choose best plan for your custom queries
14) Avoid applying SQL functions on index columns
15) Use appropriate hint to guide Oracle CBO to choose best plan to reduce response time
Thanks
PrafulI understand you were trying to post something helpful to people, but sorry, this list is appalling.
1) Use Bulk Processing feature BULK COLLECT with LIMIT and FOR ALL for DML instead of row by row processing
No, use pure SQL.
2) Use Data Caching Technique/Options to cache static data
No, use pure SQL, and the database and operating system will handle caching.
3) Use Pipe Line Table Functions whenever possible
No, use pure SQL
4) Use Global Temporary Table, Materialized view to process complex records
No, use pure SQL
5) Try avoiding multiple network trips for every row between two database using dblink, Use Global temporary table or set operator to reduce network trip
No, use pure SQL
6) Use EXTERNAL Table to build interface rather then creating custom table and program to Load and validate the data
Makes no sense.
7) Understand Oracle's Cost based Optimizer and Tune most expensive SQL queries with help of Explain plan
What about using the execution trace?
8) Follow Oracle PL/SQL Best Practices
Which are?
9) Review tables and their indexes being used in the SQL queries and avoid unnecessary Table scanning
You mean design your database and queries properly? And table scanning is not always bad.
10) Avoid costly Full Table Scan on Big Transaction tables with Huge data volume,
It depends if that is necessary or not.
11) Use appropriate filtration condition on index columns of seeded Oracle tables directly mapped to program parameters
No, consider that too many indexes can have an impact on overall performance and can prevent the CBO from picking the best plan. There's far more to creating indexes than just picking every column that people are likely to search on; you have to consider the cardinality and selectivity of data, as well as the volumes of data being searched and the most common search requirements.
12) Review Join condition on existing query explain plan
Well, if you don't have your join conditions right then your query won't work, so that's obvious.
13) Use Oracle hint to guide Oracle Cost based optimizer to choose best plan for your custom queries
No. Oracle recommends you do not use hints for query optimization (it says so in the documentation). Only certain hints such as APPEND etc. which are more related to certain operations such as inserting data etc. are acceptable in general. Oracle recommends you use the query optimization tools to help optimize your queries rather than use hints.
14) Avoid applying SQL functions on index columns
Why? If there's a need for a function based index, then it should be used.
15) Use appropriate hint to guide Oracle CBO to choose best plan to reduce response time
See 13.
In short, there are no silver bullets for dealing with performance. Each situation is different and needs to be evaluated on its own merits. -
Unable to parse query when using dblink in forms 4.5
Hi,
I have created a query that uses a DBlink because I need to do query on a table located on another dbase. I've used the query on creating my report using Reports 6i. The report needs to be called from a menu on our system, which was developed under Developer 2000 (forms 4.5). The problem is, when I tried to access the report from the menu, it returns the error 'unable to parse query'. What I did after getting error was to create a dummy module using Forms 6i, and call my report from there. It worked fine.
By the way, the table that I'm accessing using the dblink is under Oracle 9i dbase, and the dbase of the system that I've been working at is Oracle 8i.
I don't have any idea on what's causing this error. Is there a compatibility issue when using a dblink located in Oracle 9i database with forms 4.5?
Thanks!Hello,
Not sure if it is the good answer, but I know that Forms does not recognize dblink and owner.object syntax. You have to create a simple synomym that point to the distant object and use this synonym within Forms.
Francois
Maybe you are looking for
-
IPod no longer playing playlists in order
I'm encountering the weirdest problem with my iPod Touch. After several months of flawless operation, suddenly after a sync a couple of days ago, every playlist plays in shuffle mode. The songs are listed in the proper order, but it refuses to play t
-
Database restore from old rman backup
Hi Friends, My database version is oracle 10.2.0 O/s : Windows I have a production database of an outlet. Yesterday night 11pm they have done some wrong transactions and whole stock is showing wrong. They have taken a export backup at 9.30 pm and lat
-
Joining / Merging csv files into one
Hi, is there a way to join or merger a bunch of csv files into one file? regards Martin
-
Color or background image of a page
Hi all. We want to have multiple pages with different color or background image in our portal. Via the theme editor it is possible to assign either a color or an image on the background of the portal body but that only gives us one look to choose fro
-
Do i need enter password when i set kerberos as authentication
I am a new xgrid user. I have a mac os X server 10.4.11 and a mac os X 10.5.3 agent. in sever admin, if i choose "kerberos" for client and agent authentication, it looks like it didn't allow me to set password for them, is this correct? thanks in adv