Sentencia sql en 10g
Se puede capturar desde una forma la sentencia completa en 10g.
puesto que la forma que he podido recuperarse es la siguiente.
Ejemplo
DELETE FROM provincia WHERE ROWID=:1
INSERT INTO provincia(CODPRO,NOMPRO) VALUES (:1,:2)
SELECT CODPRO,NOMPRO FROM provincia WHERE ROWID=:1 FOR UPDATE OF CODPRO NOWAIT
SELECT ROWID,CODPRO,NOMPRO FROM provincia
UPDATE provincia SET CODPRO=:1,NOMPRO=:2 WHERE ROWID=:3
Cuando hago un update, insert or delete from sql*plus or SQLPlus Worksheet if it recupero la sentencia completa asi:
insert into provincia values(78, 'Zamora')
trabajo con oracle 10g
forms 6i
Hola Yen,
Si esta soportado SQL 2008 para SAP 8.81 sin problemas, en donde trabajo siempre estoy instalado diferentes combinaciones, y te puedo asegurar que funciona de maravilla!
Saludos cordiales.
Ernesto Alonso
Similar Messages
-
Creating XML file via sql in 10g database
Hi
I am using an Oracle 10g database and via a procedure that is called from Forms 10g, I want to output data in XML format so that this file can be fed into an accounting system that uses XML.
How do I go about doing this?How do I go about doing this?The most flexible way is via SQL/XML publishing functions.
And use DBMS_XSLPROCESSOR.CLOB2FILE to write the result to a file in a single call :
DECLARE
xmlresult clob;
BEGIN
select xmlelement("Departments",
xmlagg(
xmlelement("Department",
xmlattributes(
d.deptno as "id"
, d.dname as "name"
, xmlelement("Employees",
xmlagg(
xmlelement("Employee",
xmlattributes(e.empno as "id")
, xmlforest(
e.ename as "Name"
, e.job as "Job"
, e.mgr as "ManagerId"
) order by e.empno
) order by d.deptno
).getclobval()
into xmlresult
from scott.dept d
join scott.emp e on e.deptno = d.deptno
group by d.deptno, d.dname
dbms_xslprocessor.clob2file(xmlresult, 'TEST_DIR', 'departments.xml');
END;
/Output : departments.xml in Oracle directory TEST_DIR :
<Departments>
<Department id="10" name="ACCOUNTING">
<Employees>
<Employee id="7782">
<Name>CLARK</Name>
<Job>MANAGER</Job>
<ManagerId>7839</ManagerId>
</Employee>
<Employee id="7839">
<Name>KING</Name>
<Job>PRESIDENT</Job>
</Employee>
<Employee id="7934">
<Name>MILLER</Name>
<Job>CLERK</Job>
<ManagerId>7782</ManagerId>
</Employee>
</Employees>
</Department>
<Department id="20" name="RESEARCH">
<Employees>
<Employee id="7369">
<Name>SMITH</Name>
<Job>CLERK</Job>
<ManagerId>7902</ManagerId>
</Employee>
<Employee id="7566">
<Name>JONES</Name>
<Job>MANAGER</Job>
<ManagerId>7839</ManagerId>
</Employee>
<Employee id="7902">
<Name>FORD</Name>
<Job>ANALYST</Job>
<ManagerId>7566</ManagerId>
</Employee>
</Employees>
</Department>
<Department id="30" name="SALES">
<Employees>
<Employee id="7499">
<Name>ALLEN</Name>
<Job>SALESMAN</Job>
<ManagerId>7698</ManagerId>
</Employee>
<Employee id="7521">
<Name>WARD</Name>
<Job>SALESMAN</Job>
<ManagerId>7698</ManagerId>
</Employee>
<Employee id="7654">
<Name>MARTIN</Name>
<Job>SALESMAN</Job>
<ManagerId>7698</ManagerId>
</Employee>
<Employee id="7698">
<Name>BLAKE</Name>
<Job>MANAGER</Job>
<ManagerId>7839</ManagerId>
</Employee>
<Employee id="7844">
<Name>TURNER</Name>
<Job>SALESMAN</Job>
<ManagerId>7698</ManagerId>
</Employee>
<Employee id="7900">
<Name>JAMES</Name>
<Job>CLERK</Job>
<ManagerId>7698</ManagerId>
</Employee>
</Employees>
</Department>
</Departments>(formatted for display purpose) -
Loading XML file using sql*loader (10g)
Hi Everyone....
I have a major problem. I have a 10g database and I need to use sql loader to load a large XML file into the database. This file contains records for many, many customers. This will be done several times and the number of records will vary. I want to use sql loader and load to a staging table, BUT SPLIT THE RECORDS OUT and add a sequence. I am having 2 problems.
In the 10g documentation, when you want to split the records you use the BEGINDATA clause and indicate something (like a 0) for each instance of a record. Well my first file has 3,722 records in it. How do I know the number of records in each XML file?
The second problem is that because this is XML, I thought that I could use ENCLOSED BY. But the start tag has an attribute /counter in it, sql*loader doesnt recognize the starting tag. (i.e.: start tag is: </CustomerRec number=1>
end tag is: </CustomerRec> )
So, I used TERMINATED BY '</CustomerRec>'. This will split out the records, but it will NOT include the ending tag of </CustomerRec> and when I use extract, I receive an XML parsing error.
I have tried to get the ending tag using CONTINUEIF and SKIP. But those options are for "records" and not lines.
Does anyone have any ideas for the 2 problems above. I am at my wits end and I need to finish this ASAP. Any help would be appreciated.
Thank you!Sorry.... here is an example of what my control file looks like. At the end, I have 92 "0", but remember, I have 3722 records in this first file.
LOAD DATA (SKIP 1)
INFILE *
INTO TABLE RETURN_DATA_STG
TRUNCATE
XMLType(xmldata)
FIELDS
(fill FILLER CHAR(1),
loadseq SEQUENCE(MAX,1),
xmldata LOBFILE (CONSTANT F001AB.XML)
TERMINATED BY '</ExtractObject>'
------ ":xmldata||'</ExtractObject>'"
BEGINDATA
0
0
0
0
0
0 -
I need to have a Line Chart from SQL in Oracle 10g Grid Control for the below Scenario
I had total counts for Messages stuck in the Oracle queue table using one UDM alert
and i have total counts for messages stuck more than 15 min using another UDM alert.
Now i have to get a graph with these 2 valus in X axis with counts on Y axis.
Kindly help me.You might want to check the following documentation to see if you can achieve what you need in a custom report.
Custom reports:
http://docs.oracle.com/cd/B16240_01/doc/em.102/e14586/information_publisher.htm#BGBFGDCI
Monitoring views:
http://docs.oracle.com/cd/B16240_01/doc/em.102/b40007/views.htm#BACDGFJC
Regards,
- Loc -
Hi,
I use SQL Loader to load files into my database running on Suse Linux. The loader is invoked by a Java application.
In Oracle 9i my string would be something like
sqlldr DATA='opt/test information/sample.dat' PARFILE=/opt/test.par
It worked.
When I ran the same string in 10g I got an error like
" multiple values not allowed for parameter 'data' "
I tried escaping the ' with a \ , like
sqlldr DATA=\'opt/test information/sample.dat\' PARFILE=/opt/test.par
Now it gives me a different error
SQL*Loader-500: Unable to open file (opt/test information/302.DAT)
SQL*Loader-553: file not found
I cannot remove the space from the directory. It has to be "test information".
Can anybody help me out?
Thanks,
Karthikor better yet, you are on Linux so you have the luxury of creating a symbolic link to that directory and make the sym link without spaces and then use that in your sqlldr command line.
you can keep the directory with spaces and have sqlldr run from the sym link. -
How to find the number of executions of a sql oracle 10g
Is there any script handy which is useful to get the number of executions of a sql in particualr time in a rac environment.
A lot depends on what time period you're trying to count the executions over...
In V$SQL, there is a column EXECUTIONS that will count the number of executions since the SQL statement was loaded into the shared pool, which may be too long a period or too short a period for your question.
If you are trying to get historical information and you have licensed the performance & tuning pack so that you can get the AWR, you could query the DBA_HIST_SQLSTAT table over an appropriate set of SNAP_ID's to get the totals for an arbitrary period of time.
Justin -
Hi All,
I have an application developed in .Net. It has lots of search screens what takes lot of time to search based on some criterias. I am accessing this from my client machine. My database is located in remote location and it has UNIX OS and Oracle is 64Bit.
I want to fine tune search performance. For this I want to know which queries are fired when user click or initiate any search.
I do not access to UNIX Box from my client machine so I can not get trace file also.
Can we get list of SQL in AWR?
Which is the best way to get these SQLs?
If I get SQL then I can concentrate improving its performance.
Regards,
DanishHi Amin,
Cut from my ADDM report is as follows:
FINDING 1: 31% impact (1600 seconds)
Individual database segments responsible for significant user I/O wait were
found.
RECOMMENDATION 1: Segment Tuning, 31% benefit (1600 seconds)
ACTION: Run "Segment Advisor" on TABLE "XYZ" with
object id 195857.
RELEVANT OBJECT: database object with id 195857
ACTION: Investigate application logic involving I/O on TABLE
"XYZ" with object id 195857.
RELEVANT OBJECT: database object with id 195857
RATIONALE: The I/O usage statistics for the object are: 1 full object
scans, 8307030 physical reads, 0 physical writes and 0 direct reads.
RATIONALE: The SQL statement with SQL_ID "8dhb6vw4s2sh0" spent
significant time waiting for User I/O on the hot object.
RELEVANT OBJECT: SQL statement with SQL_ID 8dhb6vw4s2sh0
SELECT /*NESTED_TABLE_GET_REFS*/ "XYZ"."XYZ".* FROM
"XYZ"."XYZ"
SYMPTOMS THAT LED TO THE FINDING:
SYMPTOM: Wait class "User I/O" was consuming significant database time.
(46% impact [2400 seconds])
FINDING 2: 27% impact (1421 seconds)
SQL statements consuming significant database time were found.
RECOMMENDATION 1: SQL Tuning, 44% benefit (2326 seconds)
ACTION: Run SQL Tuning Advisor on the SQL statement with SQL_ID
"8dhb6vw4s2sh0".
RELEVANT OBJECT: SQL statement with SQL_ID 8dhb6vw4s2sh0 and
PLAN_HASH 3792949475
SELECT /*NESTED_TABLE_GET_REFS*/ "xyz"."xyz".* FROM
"xyz"."xyz"
Here I can not make out my sql in this report. How should I get this?
I just want that when I execute any search in my application then I want to view SQL which is executed in backend so that I can tune it.
Thanks. -
How to get top CPU consuming sql oracle 10g
I can see the top sql by running ASH report. but there is too much infomation. is there a way I can just display TOP SQL section, and filter out other parts? this way I can use it in a shell script, and loop through the database.
or is there a query can do the ASH job?
thanks.
KarlHi,
What you will do if the EM console bug present?
As a best pratice, i will do like below
1) execute the TOP command and you see process consuming high CPU
2)
SQL> oradebug setospid <&OSPid>
SQL> oradebug tracefile_name --This will list the name of tracefile with location
SQL> oradebug unlimit
SQL> oradebug Event 10046 trace name context forever, level 12;
Let it run for 20 mins around
SQL> oradebug Event 10046 trace name context off;
SQL> exit
3) Tkprof with explain plan
4) check any plan change for that sql
Kind Regards,
Rakesh jayappa -
11g SQL query syntax/results differ from 10g
Hello,
A bit of an odd situation. We have a report in 10g that is working as expected and when we run the same report in 11g we slightly different results. The same physical tables and columns are being used between each report and the number of records (17) returned to OBI are the same. Both queries are pulling from the same database with the same user id. As there are differences in how 10g runs queries vs 11g, are there any odd behaviors that I should keep an eye out for in how 11g assembles the data that's returned from the db prior to presenting it on the Analysis?
10g Results (correct):
Region...............Actuals (Prior Qtr).....Up...........Plan Amount....................% of Plan
AP...........................10,489..............8,965..............................................................
Americas................114,208...........110,779..................6...........................1969411%
EMEA.....................26,799..............23,976..............................................................
UNASSIGNED....................................................149,957...........................0%
Grand Total.............151,496...........143,721..........149,962.........................96%
11g Results (incorrect):
Region...............Actuals (Prior Qtr).....Up...........Plan Amount....................% of Plan
AP...........................10,180..............8,965............................................................
Americas.................90,878...........110,779............................................................
EMEA.....................24,978.............23,976............................................................
UNASSIGNED....................................................149,957...........................0%
Grand Total.............126,037..........143,721..........149,957.........................96%
Thank you!
Mike
-------------------- 10g query--------------------------
-------------------- Sending query to database named EBS Rapid Data Store (id: <<5087545>>):
WITH
SAWITH0 AS (select T28761.PERIOD_NAME as c2,
T28761.PERIOD_START_DATE as c3,
T28761.QUARTER_RANK as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH1 AS (select Case when case SAWITH0.c5 when 1 then SAWITH0.c3 else NULL end is not null then Rank() OVER ( ORDER BY case SAWITH0.c5 when 1 then SAWITH0.c3 else NULL end ASC NULLS LAST ) end as c1,
SAWITH0.c2 as c2,
SAWITH0.c4 as c3
from
SAWITH0),
SAWITH2 AS (select min(SAWITH1.c1) over (partition by SAWITH1.c3) as c1,
SAWITH1.c2 as c2
from
SAWITH1),
SAWITH3 AS (select distinct SAWITH2.c1 + 1 as c1,
SAWITH2.c2 as c2
from
SAWITH2),
SAWITH4 AS (select T28761.QUARTER_RANK as c2,
T28761.QUARTER_YEAR_NAME as c3,
T28761.PERIOD_START_DATE as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH5 AS (select Case when case SAWITH4.c5 when 1 then SAWITH4.c4 else NULL end is not null then Rank() OVER ( ORDER BY case SAWITH4.c5 when 1 then SAWITH4.c4 else NULL end ASC NULLS LAST ) end as c1,
SAWITH4.c2 as c2,
SAWITH4.c3 as c3
from
SAWITH4),
SAWITH6 AS (select distinct min(SAWITH5.c1) over (partition by SAWITH5.c2) as c1,
SAWITH5.c2 as c2,
SAWITH5.c3 as c3
from
SAWITH5),
SAWITH7 AS (select D1.c1 as c1,
D1.c2 as c2,
D1.c3 as c3,
D1.c4 as c4,
D1.c5 as c5,
D1.c6 as c6
from
(select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1,
SAWITH6.c3 as c2,
T41894.ICN_GROUP as c3,
SAWITH6.c2 as c4,
T41894.ICN_GROUP_CODE as c5,
T30728.PARENT_REGION as c6,
ROW_NUMBER() OVER (PARTITION BY T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, SAWITH6.c2 ORDER BY T30728.PARENT_REGION ASC, T41894.ICN_GROUP_CODE ASC, SAWITH6.c2 ASC) as c7
from
SAWITH3 left outer join (
XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T37838.SHIP_TO_COUNTRY_CODE2) left outer join
XXFI.XXFI_ICN_OWNERS_V T41894 /* Dim_ICN_Override */ On T37838.OVERRIDE_ICN = T41894.ICN_CODE) On SAWITH3.c2 = T37838.PERIOD_NAME,
SAWITH6
where ( SAWITH6.c1 = SAWITH3.c1 and SAWITH6.c3 = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') )
group by T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, T41894.ICN_GROUP, SAWITH6.c2, SAWITH6.c3
) D1
where ( D1.c7 = 1 ) ),
SAWITH8 AS (select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1,
sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 50 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 50 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c2,
T30728.PARENT_REGION as c3,
T28761.QUARTER_YEAR_NAME as c6,
T41894.ICN_GROUP as c7,
T28761.QUARTER_RANK as c8,
T41894.ICN_GROUP_CODE as c9
from
XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ left outer join
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ On T28761.PERIOD_NAME = T37838.PERIOD_NAME) left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T37838.SHIP_TO_COUNTRY_CODE2) left outer join
XXFI.XXFI_ICN_OWNERS_V T41894 /* Dim_ICN_Override */ On T37838.OVERRIDE_ICN = T41894.ICN_CODE
where ( T28761.QUARTER_YEAR_NAME = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') )
group by T28761.QUARTER_YEAR_NAME, T28761.QUARTER_RANK, T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, T41894.ICN_GROUP),
SAWITH9 AS (select D1.c1 as c1,
D1.c2 as c2,
D1.c3 as c3,
D1.c4 as c4,
D1.c5 as c5,
D1.c6 as c6,
D1.c7 as c7,
D1.c8 as c8,
D1.c9 as c9
from
(select sum(SAWITH8.c1) over (partition by SAWITH8.c3) as c1,
sum(SAWITH8.c2) over (partition by SAWITH8.c3) as c2,
SAWITH8.c3 as c3,
sum(SAWITH8.c1) over (partition by SAWITH8.c8, SAWITH8.c9, SAWITH8.c3) as c4,
sum(SAWITH8.c2) over (partition by SAWITH8.c8, SAWITH8.c9, SAWITH8.c3) as c5,
SAWITH8.c6 as c6,
SAWITH8.c7 as c7,
SAWITH8.c8 as c8,
SAWITH8.c9 as c9,
ROW_NUMBER() OVER (PARTITION BY SAWITH8.c3, SAWITH8.c8, SAWITH8.c9 ORDER BY SAWITH8.c3 ASC, SAWITH8.c8 ASC, SAWITH8.c9 ASC) as c10
from
SAWITH8
) D1
where ( D1.c10 = 1 ) ),
SAWITH10 AS (select sum(T34877.AMOUNT) as c1,
T28761.QUARTER_YEAR_NAME as c3,
T30728.PARENT_REGION as c4,
T41894.ICN_GROUP as c5,
T28761.QUARTER_RANK as c6,
T41894.ICN_GROUP_CODE as c7
from
XXFI.XXFI_REVENUE_BUDGET_ACCUM T34877 /* Fact_Revenue_Budgets */ left outer join
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ On T28761.PERIOD_NAME = T34877.PERIOD_NAME) left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T34877.SHIP_TO_COUNTRY_CODE2) left outer join
XXFI.XXFI_ICN_OWNERS_V T41894 /* Dim_ICN_Override */ On T34877.OVERRIDE_ICN = T41894.ICN_CODE
where ( T28761.QUARTER_YEAR_NAME = '2010-Q2' )
group by T28761.QUARTER_YEAR_NAME, T28761.QUARTER_RANK, T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, T41894.ICN_GROUP),
SAWITH11 AS (select D1.c1 as c1,
D1.c2 as c2,
D1.c3 as c3,
D1.c4 as c4,
D1.c5 as c5,
D1.c6 as c6,
D1.c7 as c7
from
(select sum(SAWITH10.c1) over (partition by SAWITH10.c4) as c1,
sum(SAWITH10.c1) over (partition by SAWITH10.c6, SAWITH10.c7, SAWITH10.c4) as c2,
SAWITH10.c3 as c3,
SAWITH10.c4 as c4,
SAWITH10.c5 as c5,
SAWITH10.c6 as c6,
SAWITH10.c7 as c7,
ROW_NUMBER() OVER (PARTITION BY SAWITH10.c4, SAWITH10.c6, SAWITH10.c7 ORDER BY SAWITH10.c4 ASC, SAWITH10.c6 ASC, SAWITH10.c7 ASC) as c8
from
SAWITH10
) D1
where ( D1.c8 = 1 ) ),
SAWITH12 AS (select T28761.PERIOD_NAME as c2,
T28761.PERIOD_START_DATE as c3,
T28761.QUARTER_RANK as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH13 AS (select Case when case SAWITH12.c5 when 1 then SAWITH12.c3 else NULL end is not null then Rank() OVER ( ORDER BY case SAWITH12.c5 when 1 then SAWITH12.c3 else NULL end ASC NULLS LAST ) end as c1,
SAWITH12.c2 as c2,
SAWITH12.c4 as c3
from
SAWITH12),
SAWITH14 AS (select min(SAWITH13.c1) over (partition by SAWITH13.c3) as c1,
SAWITH13.c2 as c2
from
SAWITH13),
SAWITH15 AS (select distinct SAWITH14.c1 + 1 as c1,
SAWITH14.c2 as c2
from
SAWITH14),
SAWITH16 AS (select T28761.QUARTER_YEAR_NAME as c2,
T28761.PERIOD_START_DATE as c3,
T28761.QUARTER_RANK as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH17 AS (select Case when case SAWITH16.c5 when 1 then SAWITH16.c3 else NULL end is not null then Rank() OVER ( ORDER BY case SAWITH16.c5 when 1 then SAWITH16.c3 else NULL end ASC NULLS LAST ) end as c1,
SAWITH16.c2 as c2,
SAWITH16.c4 as c3
from
SAWITH16),
SAWITH18 AS (select distinct min(SAWITH17.c1) over (partition by SAWITH17.c3) as c1,
SAWITH17.c2 as c2
from
SAWITH17),
SAWITH19 AS (select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1,
T30728.PARENT_REGION as c2
from
SAWITH15 left outer join (
XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T37838.SHIP_TO_COUNTRY_CODE2) On SAWITH15.c2 = T37838.PERIOD_NAME,
SAWITH18
where ( SAWITH18.c1 = SAWITH15.c1 and SAWITH18.c2 = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') )
group by T30728.PARENT_REGION),
SAWITH20 AS (select T28761.PERIOD_NAME as c2,
T28761.PERIOD_START_DATE as c3,
T28761.QUARTER_RANK as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH21 AS (select Case when case SAWITH20.c5 when 1 then SAWITH20.c3 else NULL end is not null then Rank() OVER ( ORDER BY case SAWITH20.c5 when 1 then SAWITH20.c3 else NULL end ASC NULLS LAST ) end as c1,
SAWITH20.c2 as c2,
SAWITH20.c4 as c3
from
SAWITH20),
SAWITH22 AS (select min(SAWITH21.c1) over (partition by SAWITH21.c3) as c1,
SAWITH21.c2 as c2
from
SAWITH21),
SAWITH23 AS (select distinct SAWITH22.c1 + 1 as c1,
SAWITH22.c2 as c2
from
SAWITH22),
SAWITH24 AS (select T28761.QUARTER_YEAR_NAME as c2,
T28761.PERIOD_START_DATE as c3,
T28761.QUARTER_RANK as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH25 AS (select Case when case SAWITH24.c5 when 1 then SAWITH24.c3 else NULL end is not null then Rank() OVER ( ORDER BY case SAWITH24.c5 when 1 then SAWITH24.c3 else NULL end ASC NULLS LAST ) end as c1,
SAWITH24.c2 as c2,
SAWITH24.c4 as c3
from
SAWITH24),
SAWITH26 AS (select distinct min(SAWITH25.c1) over (partition by SAWITH25.c3) as c1,
SAWITH25.c2 as c2
from
SAWITH25),
SAWITH27 AS (select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1
from
SAWITH23 left outer join XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ On SAWITH23.c2 = T37838.PERIOD_NAME,
SAWITH26
where ( SAWITH26.c1 = SAWITH23.c1 and SAWITH26.c2 = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') ) ),
SAWITH28 AS (select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1,
sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 50 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 50 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c2
from
XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ left outer join
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ On T28761.PERIOD_NAME = T37838.PERIOD_NAME
where ( T28761.QUARTER_YEAR_NAME = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') ) ),
SAWITH29 AS (select sum(T34877.AMOUNT) as c1
from
XXFI.XXFI_REVENUE_BUDGET_ACCUM T34877 /* Fact_Revenue_Budgets */ left outer join
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ On T28761.PERIOD_NAME = T34877.PERIOD_NAME
where ( T28761.QUARTER_YEAR_NAME = '2010-Q2' ) )
select case when SAWITH7.c2 is not null then SAWITH7.c2 when SAWITH9.c6 is not null then SAWITH9.c6 when SAWITH11.c3 is not null then SAWITH11.c3 end as c1,
case when SAWITH9.c3 is not null then SAWITH9.c3 when SAWITH19.c2 is not null then SAWITH19.c2 when SAWITH7.c6 is not null then SAWITH7.c6 when SAWITH11.c4 is not null then SAWITH11.c4 end as c2,
case when SAWITH7.c3 is not null then SAWITH7.c3 when SAWITH9.c7 is not null then SAWITH9.c7 when SAWITH11.c5 is not null then SAWITH11.c5 end as c3,
SAWITH9.c5 / nullif( 1000, 0) as c4,
SAWITH7.c1 / nullif( 1000, 0) as c5,
SAWITH11.c2 / nullif( 1000, 0) as c6,
nvl(SAWITH9.c4 , 0) / nullif( nvl(SAWITH11.c2 , 0), 0) * 100 as c7,
case when SAWITH7.c4 is not null then SAWITH7.c4 when SAWITH9.c8 is not null then SAWITH9.c8 when SAWITH11.c6 is not null then SAWITH11.c6 end as c16,
case when SAWITH11.c7 is not null then SAWITH11.c7 when SAWITH9.c9 is not null then SAWITH9.c9 when SAWITH7.c5 is not null then SAWITH7.c5 end as c17,
SAWITH27.c1 as c19,
SAWITH28.c2 as c20,
SAWITH29.c1 as c21,
SAWITH28.c1 as c22,
SAWITH19.c1 as c23,
SAWITH9.c2 as c24,
SAWITH11.c1 as c25,
SAWITH9.c1 as c26
from
SAWITH7 full outer join SAWITH9 On SAWITH7.c5 = SAWITH9.c9 and nvl(SAWITH7.c4 , 88.0) = nvl(SAWITH9.c8 , 88.0) and nvl(SAWITH7.c4 , 99.0) = nvl(SAWITH9.c8 , 99.0) and nvl(SAWITH7.c6 , 'q') = nvl(SAWITH9.c3 , 'q') and nvl(SAWITH7.c6 , 'z') = nvl(SAWITH9.c3 , 'z')) full outer join SAWITH11 On SAWITH11.c7 = case when SAWITH7.c5 is not null then SAWITH7.c5 when SAWITH9.c9 is not null then SAWITH9.c9 end and nvl(SAWITH11.c4 , 'q') = nvl(case when SAWITH7.c6 is not null then SAWITH7.c6 when SAWITH9.c3 is not null then SAWITH9.c3 end , 'q') and nvl(SAWITH11.c4 , 'z') = nvl(case when SAWITH7.c6 is not null then SAWITH7.c6 when SAWITH9.c3 is not null then SAWITH9.c3 end , 'z') and nvl(SAWITH11.c6 , 88.0) = nvl(case when SAWITH7.c4 is not null then SAWITH7.c4 when SAWITH9.c8 is not null then SAWITH9.c8 end , 88.0) and nvl(SAWITH11.c6 , 99.0) = nvl(case when SAWITH7.c4 is not null then SAWITH7.c4 when SAWITH9.c8 is not null then SAWITH9.c8 end , 99.0)) full outer join SAWITH19 On nvl(SAWITH19.c2 , 'q') = nvl(case when SAWITH7.c6 is not null then SAWITH7.c6 when SAWITH9.c3 is not null then SAWITH9.c3 when SAWITH11.c4 is not null then SAWITH11.c4 end , 'q') and nvl(SAWITH19.c2 , 'z') = nvl(case when SAWITH7.c6 is not null then SAWITH7.c6 when SAWITH9.c3 is not null then SAWITH9.c3 when SAWITH11.c4 is not null then SAWITH11.c4 end , 'z'),
SAWITH27,
SAWITH28,
SAWITH29
order by c2
+++:cfa20000:cfa20015:----2013/08/14 10:31:12
-------------------- Query Status: Successful Completion
+++:cfa20000:cfa20015:----2013/08/14 10:31:12
-------------------- Rows 21, bytes 34272 retrieved from database query id: <<5087545>>
+++:cfa20000:cfa20015:----2013/08/14 10:31:12
-------------------- Physical query response time 27 (seconds), id <<5087545>>
+++:cfa20000:cfa20015:----2013/08/14 10:31:12
-------------------- Physical Query Summary Stats: Number of physical queries 1, Cumulative time 27, DB-connect time 0 (seconds)
+++:cfa20000:cfa20015:----2013/08/14 10:31:12
-------------------- Rows returned to Client 17
--------------------------------------------- 11g Query ----------------------------------------------------------
Sending query to database named EBS Rapid Data Store (id: <<2779207>>), connection pool named EBS XXFI Connection Pool, logical request hash 1334563, physical request hash 292e1532: [[
WITH
OBICOMMON0 AS (select T28761.PERIOD_NAME as c2,
T28761.PERIOD_START_DATE as c3,
T28761.QUARTER_RANK as c4,
ROW_NUMBER() OVER (PARTITION BY T28761.QUARTER_RANK ORDER BY T28761.QUARTER_RANK DESC) as c5,
T28761.QUARTER_YEAR_NAME as c6
from
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ ),
SAWITH0 AS (select Case when case D1.c5 when 1 then D1.c3 else NULL end is not null then Rank() OVER ( ORDER BY case D1.c5 when 1 then D1.c3 else NULL end ASC NULLS LAST ) end as c1,
D1.c2 as c2,
D1.c4 as c3
from
OBICOMMON0 D1),
SAWITH1 AS (select min(D1.c1) over (partition by D1.c3) as c1,
D1.c2 as c2
from
SAWITH0 D1),
SAWITH2 AS (select distinct D1.c1 + 1 as c1,
D1.c2 as c2
from
SAWITH1 D1),
SAWITH3 AS (select Case when case D1.c5 when 1 then D1.c3 else NULL end is not null then Rank() OVER ( ORDER BY case D1.c5 when 1 then D1.c3 else NULL end ASC NULLS LAST ) end as c1,
D1.c6 as c2,
D1.c4 as c3
from
OBICOMMON0 D1),
SAWITH4 AS (select distinct min(D1.c1) over (partition by D1.c3) as c1,
D1.c2 as c2,
D1.c3 as c3
from
SAWITH3 D1),
SAWITH5 AS (select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1,
D4.c2 as c2,
T41894.ICN_GROUP as c3,
T30728.PARENT_REGION as c4,
D4.c3 as c5,
T41894.ICN_GROUP_CODE as c6
from
SAWITH2 D6 left outer join (
XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T37838.SHIP_TO_COUNTRY_CODE2) left outer join
XXFI.XXFI_ICN_OWNERS_V T41894 /* Dim_ICN_Override */ On T37838.OVERRIDE_ICN = T41894.ICN_CODE) On D6.c2 = T37838.PERIOD_NAME,
SAWITH4 D4
where ( D4.c1 = D6.c1 and D4.c2 = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') )
group by T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, T41894.ICN_GROUP, D4.c2, D4.c3),
SAWITH6 AS (select sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 50 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 50 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c1,
sum(case when T37838.POL_VERSION_FLAG = 'C' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 then nvl(T37838.AMOUNT , 0) when T37838.PERIOD_NAME <> 'March-13' and T37838.FORECAST_PROBABILITY_PERCENT >= 75 and T37838.POL_VERSION_FLAG is null then nvl(T37838.AMOUNT , 0) else 0 end ) as c2,
T28761.QUARTER_YEAR_NAME as c3,
T41894.ICN_GROUP as c4,
T30728.PARENT_REGION as c5,
T28761.QUARTER_RANK as c6,
T41894.ICN_GROUP_CODE as c7
from
XXFI.XXFI_REVFCST_POL_REPORTING_V T37838 /* Fact_POL_Snapshot */ left outer join
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ On T28761.PERIOD_NAME = T37838.PERIOD_NAME) left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T37838.SHIP_TO_COUNTRY_CODE2) left outer join
XXFI.XXFI_ICN_OWNERS_V T41894 /* Dim_ICN_Override */ On T37838.OVERRIDE_ICN = T41894.ICN_CODE
where ( T28761.QUARTER_YEAR_NAME = '2010-Q2' and (T37838.PROSPECT_NUMBER is null or T37838.PROSPECT_NUMBER not like '%Budget%') )
group by T28761.QUARTER_YEAR_NAME, T28761.QUARTER_RANK, T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, T41894.ICN_GROUP),
SAWITH7 AS (select sum(T34877.AMOUNT) as c1,
T28761.QUARTER_YEAR_NAME as c2,
T41894.ICN_GROUP as c3,
T30728.PARENT_REGION as c4,
T28761.QUARTER_RANK as c5,
T41894.ICN_GROUP_CODE as c6
from
XXFI.XXFI_REVENUE_BUDGET_ACCUM T34877 /* Fact_Revenue_Budgets */ left outer join
XXFI.XXFI_GL_FISCAL_MONTHS_V T28761 /* Dim_Periods */ On T28761.PERIOD_NAME = T34877.PERIOD_NAME) left outer join
XXFI.XXFI_GEO_REGION_ACCUM T30728 /* Dim_Regions */ On T30728.COUNTRY_CODE = T34877.SHIP_TO_COUNTRY_CODE2) left outer join
XXFI.XXFI_ICN_OWNERS_V T41894 /* Dim_ICN_Override */ On T34877.OVERRIDE_ICN = T41894.ICN_CODE
where ( T28761.QUARTER_YEAR_NAME = '2010-Q2' )
group by T28761.QUARTER_YEAR_NAME, T28761.QUARTER_RANK, T30728.PARENT_REGION, T41894.ICN_GROUP_CODE, T41894.ICN_GROUP),
SAWITH8 AS (select D1.c1 as c1,
D1.c2 as c2,
D1.c3 as c3,
D1.c4 as c4,
D1.c5 as c5,
D1.c6 as c6,
D1.c7 as c7,
D1.c8 as c8,
D1.c9 as c9,
D1.c18 as c18,
D1.c19 as c19,
D1.c20 as c20,
D1.c21 as c21,
D1.c22 as c22
from
(select 0 as c1,
case when D1.c2 is not null then D1.c2 when D2.c3 is not null then D2.c3 when D3.c2 is not null then D3.c2 end as c2,
case when D1.c3 is not null then D1.c3 when D2.c4 is not null then D2.c4 when D3.c3 is not null then D3.c3 end as c3,
case when D1.c4 is not null then D1.c4 when D2.c5 is not null then D2.c5 when D3.c4 is not null then D3.c4 end as c4,
case when D1.c5 is not null then D1.c5 when D2.c6 is not null then D2.c6 when D3.c5 is not null then D3.c5 end as c5,
nvl(D2.c2 , 0) / nullif( nvl(D3.c1 , 0), 0) * 100 as c6,
D3.c1 / 1000 as c7,
D1.c1 / 1000 as c8,
D2.c1 / 1000 as c9,
case when D1.c6 is not null then D1.c6 when D2.c7 is not null then D2.c7 when D3.c6 is not null then D3.c6 end as c18,
D2.c2 as c19,
D3.c1 as c20,
D1.c1 as c21,
D2.c1 as c22,
ROW_NUMBER() OVER (PARTITION BY case when D1.c2 is not null then D1.c2 when D2.c3 is not null then D2.c3 when D3.c2 is not null then D3.c2 end , case when D1.c3 is not null then D1.c3 when D2.c4 is not null then D2.c4 when D3.c3 is not null then D3.c3 end , case when D1.c4 is not null then D1.c4 when D2.c5 is not null then D2.c5 when D3.c4 is not null then D3.c4 end , case when D1.c5 is not null then D1.c5 when D2.c6 is not null then D2.c6 when D3.c5 is not null then D3.c5 end , case when D1.c6 is not null then D1.c6 when D2.c7 is not null then D2.c7 when D3.c6 is not null then D3.c6 end ORDER BY case when D1.c2 is not null then D1.c2 when D2.c3 is not null then D2.c3 when D3.c2 is not null then D3.c2 end ASC, case when D1.c3 is not null then D1.c3 when D2.c4 is not null then D2.c4 when D3.c3 is not null then D3.c3 end ASC, case when D1.c4 is not null then D1.c4 when D2.c5 is not null then D2.c5 when D3.c4 is not null then D3.c4 end ASC, case when D1.c5 is not null then D1.c5 when D2.c6 is not null then D2.c6 when D3.c5 is not null then D3.c5 end ASC, case when D1.c6 is not null then D1.c6 when D2.c7 is not null then D2.c7 when D3.c6 is not null then D3.c6 end ASC) as c23
from
SAWITH5 D1 full outer join SAWITH6 D2 On D1.c6 = D2.c7 and SYS_OP_MAP_NONNULL(D1.c4) = SYS_OP_MAP_NONNULL(D2.c5) and SYS_OP_MAP_NONNULL(D1.c5) = SYS_OP_MAP_NONNULL(D2.c6) ) full outer join SAWITH7 D3 On D3.c6 = case when D1.c6 is not null then D1.c6 when D2.c7 is not null then D2.c7 end and SYS_OP_MAP_NONNULL(D3.c4) = SYS_OP_MAP_NONNULL(case when D1.c4 is not null then D1.c4 when D2.c5 is not null then D2.c5 end ) and SYS_OP_MAP_NONNULL(D3.c5) = SYS_OP_MAP_NONNULL(case when D1.c5 is not null then D1.c5 when D2.c6 is not null then D2.c6 end )
) D1
where ( D1.c23 = 1 ) )
select D1.c1 as c1,
D1.c2 as c2,
D1.c3 as c3,
D1.c4 as c4,
D1.c5 as c5,
D1.c6 as c6,
D1.c7 as c7,
D1.c8 as c8,
D1.c9 as c9,
D1.c18 as c19,
D1.c19 as c21,
D1.c20 as c22,
D1.c21 as c23,
D1.c22 as c24
from
SAWITH8 D1
order by c4, c2, c5, c19, c3
[2013-08-14T10:38:15.000-05:00] [OracleBIServerComponent] [TRACE:2] [USER-34] [] [ecid: 54a0696aeaefab88:-d74da91:1406506ef2a:-8000-00000000000151e6,0:1:9:6:1] [tid: a093e700] [requestid: cc480014] [sessionid: cc480000] [username: ] -------------------- Query Status: Successful Completion [[
[2013-08-14T10:38:15.000-05:00] [OracleBIServerComponent] [TRACE:2] [USER-26] [] [ecid: 54a0696aeaefab88:-d74da91:1406506ef2a:-8000-00000000000151e6,0:1:9:6:1] [tid: a093e700] [requestid: cc480014] [sessionid: cc480000] [username: ] -------------------- Rows 17, bytes 27200 retrieved from database query id: <<2779207>>check the report for the columns which has incorrect values for any calculation, null handling.
also check whether there is a difference in logical SQL between 10g and 11g.
also check whether they are pointing to same db.
check for null handling or default value not being set in 11g.
try rebuilding the same report, to check the metrics individually verify they match with 10g. -
Top SQL by DB user in Oracle 10g DB Console
Is there a way to filter Top SQLs on 10g DB Console by a specific DB User? I know you can get all the SQLs by a specific user from Search Sessions, but it doesn't rank them by CPU usage. Any help is greatly appreciated.
nice idea, because SQL itself doesn't contain info about session executing it.
See Top SQL/Consumers
in OEM 10: goto Perfomance - Top Activity - here you can see Top SQLs (left side) and Top Sessions (right side) and ! if click on SQL ID from Top SQL you can see sessions executing it on Activity page. -
Hi,
Will there be any performance gain in SQLs in 10g database (same server configuration) compared to 9i? If yes, what are the reasons?
Thanks
SAuser593719 wrote:
Hi,
Will there be any performance gain in SQLs in 10g database (same server configuration) compared to 9i? If yes, what are the reasons?
Thanks
SAAs Sb said, the answer truly is "it depends" and to be more precise, you may find more hiccups on your way when you would be working in 10g and if you have used lots of hints over your queries in 9i. The supported optimizer mode in 10g is Cost Based mode where rather than working on straight set of few rules, the estimated cost incurred on each step is calculated by oracle and than the plan is decided. So if you were forcing an index in 9i for your query, probably going for the same plan in 10g may not be really good. This is not to say that it would be always the case but you would need to do a deep check rather than looking for a generalized rule like you mentioned that whether youe queries would be better in X release than Y or not?
HTH
Aman.... -
ORA-600 [17069] error while running catrelod.sql to downgrade 11g database
Hi,
We are downgrading our 11.2.0.2 database to 10.2.0.4. We have successfullly run catdwgrd.sql without any errors in 11g env. While running catrelod.sql in 10g env we are facing the following error:
SQL> @?/rdbms/admin/catrelod.sql
TIMESTAMP
COMP_TIMESTAMP RELOD__BGN 2013-04-24 20:15:39 2456407 72939
DOC>#######################################################################
DOC>#######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if the database server version is not 10.0.0.
DOC> Shutdown ABORT and use a different script or a different server.
DOC>#######################################################################
DOC>#######################################################################
DOC>#
no rows selected
DOC>#######################################################################
DOC>#######################################################################
DOC> The following statement will cause an "ORA-01722: invalid number"
DOC> error if the database has not been opened for MIGRATE.
DOC>
DOC> Perform a "SHUTDOWN ABORT" and
DOC> restart using MIGRATE.
DOC>#######################################################################
DOC>#######################################################################
DOC>#
no rows selected
Session altered.
Session altered.
no rows selected
DECLARE
ERROR at line 1:
ORA-00600: internal error code, arguments: [17069], [0x170FB8CA8], [], [], [],
[], [], []I have checked the trace file in udump but it dint give any readable information.
Please find below environment details.
OS : RHEL 5 64 bit
11g Database : 11.2.0.2
10g Database : 10.2.0.4
Kindly assist.KR10822864 wrote:
Whenever an ORA-600 error is raised a trace file is generated and an entry written to the alert.log with details of the trace file location. Starting with Oracle Database 11g Release 1, the diagnosability infrastructure was introduced which places the trace and core files into a location controlled by the DIAGNOSTIC_DEST initialization parameter when an incident, such as an ORA-600 is created. For earlier versions, the trace file will be written to either USER_DUMP_DEST (if the error was caught in a user process) or BACKGROUND_DUMP_DEST (if the error was caught in a background process like PMON or SMON). The trace file contains vital information about what led to the error condition
please post 40 lines of alert log info .
MOS Note:ORA-600 [17069] "Failed to pin a library cache object after 50 attempts" [ID 39616.1]
"Look in the trace file for the text 'LIBRARY OBJECT HANDLE: handle=170fb8ca8'"
if not found any massages like above please raise [email protected].
Hi KR,
Thanks for your help. As suggested I have checked the trace file to search and found the below info. I suppose it is some kind of lock but not sure about it. Please let me know if the following makes sense:
SO: 0x21158a6e0, type: 3, owner: 0x211006f28, flag: INIT/-/-/0x00
(call) sess: cur 211572570, rec 211572570, usr 211572570; depth: 0
SO: 0x21158a9b8, type: 3, owner: 0x21158a6e0, flag: INIT/-/-/0x00
(call) sess: cur 211572570, rec 0, usr 211572570; depth: 1
SO: 0x1727a2618, type: 54, owner: 0x21158a9b8, flag: INIT/-/-/0x00
LIBRARY OBJECT PIN: pin=1727a2618 handle=170fb8ca8 mode=S lock=171243e98
user=211572570 session=211572570 count=1 mask=001d savepoint=0x43 flags=[00]
SO: 0x171243e98, type: 53, owner: 0x21158a9b8, flag: INIT/-/-/0x00
LIBRARY OBJECT LOCK: lock=171243e98 handle=170fb8ca8 mode=S
call pin=0x1727a2618 session pin=(nil) hpc=0000 hlc=0000
htl=0x171243f18[0x17278a310,0x17278a310] htb=0x17278a310 ssga=0x172789928
user=211572570 session=211572570 count=1 flags=PNC/[0400] savepoint=0x43
LIBRARY OBJECT HANDLE: handle=170fb8ca8 mtx=0x170fb8dd8(0) cdp=0
name=SYS.STANDARD
hash=51570e225ed8a9a803b7318f191e0a8d timestamp=04-18-2006 00:00:00
namespace=TABL flags=KGHP/TIM/SML/[02000000]
kkkk-dddd-llll=0000-001d-001d lock=S pin=S latch#=3 hpc=0004 hlc=0004
lwt=0x170fb8d50[0x170fb8d50,0x170fb8d50] ltm=0x170fb8d60[0x170fb8d60,0x170fb8d60]
pwt=0x170fb8d18[0x170fb8d18,0x170fb8d18] ptm=0x170fb8d28[0x170fb8d28,0x170fb8d28]
ref=0x170fb8d80[0x170fb8d80,0x170fb8d80] lnd=0x170fb8d98[0x170f05b50,0x170fa6858]
LIBRARY OBJECT: object=170e82de8
type=PCKG flags=EXS/LOC[0005] pflags=NST/IVR[0201] status=VALD load=0
DATA BLOCKS:
data# heap pointer status pins change whr
0 170e831f8 170e82fc0 I/P/A/-/- 0 NONE 00
SO: 0x21158e470, type: 5, owner: 0x21158a6e0, flag: INIT/-/-/0x00
(enqueue) CU-70E88BC0-00000001 DID: 0001-001F-00000004
lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 res_flag: 0x2
res: 0x17677adc8, mode: X, lock_flag: 0x0
own: 0x211572570, sess: 0x211572570, proc: 0x211006f28, prv: 0x17677add8
SO: 0x177f82c28, type: 59, owner: 0x21158a6e0, flag: INIT/-/-/0x00
cursor enqueue
child: 170e89348, flag: 53, number: 0
parent: 170e89738 -
I wonder if anyone can help with an update..
Image 2 tables: packagetable and parttable
packagetable has component to part relationships, eg:
Package Part
PACK1 PART1
PACK1 PART2
PACK2 PART6
PACK2 PART7
PACK2 PART9
PACK3 PART3
PACK3 PART7
parttable has parts and their price
Part Price
PART1 10
PART2 8
PART3 15
PART6 1
PART7 5
PART9 10
but packages are also stored here as parts and have a price (total of components)
PACK1 18 (10 + 8)
PACK2 16 (1 + 5 + 10)
PACK3 20 (15 + 5)
The actual tables are more complex and include a site, a discount, a qty per package, etc but you get the gist.
I need to update package parts so that they equate to the total of their parts because some package parts have the wrong price.
So I need to say
PACK1 = price of PART1 + price of PART2
PACK2 = price of PART6 + price of PART7 + price of PART9
PACK3 = price of PART3 + price of PART7
The actual SQL to obtain the resultant price is:
select
spp1.parent_part packpart,
(select sp2.list_price from ifsapp.sales_part sp2 where sp2.catalog_no = spp1.parent_part) Current_price,
sum((sp1.list_price - (round(sp1.list_price*(spp1.discount_perc/100),2))) * spp1.qty_per_assembly) Proposed_price
from
ifsapp.sales_part_package spp1,
ifsapp.sales_part sp1
where
spp1.catalog_no=sp1.catalog_no
and
spp1.contract=sp1.contract
and
spp1.contract='OIAMN'
having
sum((sp1.list_price - (round(sp1.list_price*(spp1.discount_perc/100),2))) * spp1.qty_per_assembly)<9999999
group by
spp1.parent_part
This results in this case are:
Package Part Current Proposed
123 0.00 4911.90
124 0.00 23450.00
126 0.00 23450.00
128 0.00 23950.00
133 0.00 26975.00
134 1200.00 1249.86
140 0.00 9995.00
144 0.00 9995.00
145 0.00 8995.00
150 9021.00 9994.97
151 0.00 9994.97
152 0.00 8994.97
155 0.00 17895.00
168 0.00 17095.00
Clealry the only two values I really need are Package Part and Proposed value... but how can I update the package part prices using a single SQL statement?If I interpret your question right,
merge works for you in 9i and 10G:
SQL> select * from emps;
ENAME DEPTNO SSAL
SMITH 20
ALLEN 30
WARD 30
JONES 20
MARTIN 30
BLAKE 30
CLARK 10
SCOTT 20
KING 10
TURNER 30
ADAMS 20
JAMES 30
FORD 20
MILLER 10
14 rows selected.
SQL> select * from sals;
ENAME SAL
SMITH 1000
ALLEN 1800
WARD 1450
JONES 2975
MARTIN 1250
BLAKE 2850
CLARK 2450
SCOTT 3000
KING 5000
TURNER 1500
ADAMS 1100
JAMES 1120
FORD 3000
MILLER 1300
14 rows selected.
SQL> /* In 9i */
SQL> merge into emps
2 using (
3 select e.deptno,sum(s.sal) sm from emps e, sals s
4 where e.ename = s.ename
5 group by e.deptno
6 ) src
7 on (src.deptno = emps.deptno)
8 when matched then
9 update set emps.ssal = src.sm
10 when not matched then
11 insert (emps.deptno) values(0)
12 /
14 rows merged.
SQL>/* In 10G */
SQL> merge into emps
2 using (
3 select e.deptno,sum(s.sal) sm from emps e, sals s
4 where e.ename = s.ename
5 group by e.deptno
6 ) src
7 on (src.deptno = emps.deptno)
8 when matched then
9 update set emps.ssal = src.sm
10 /
14 rows merged.
SQL> select * from emps order by deptno;
ENAME DEPTNO SSAL
CLARK 10 8750
KING 10 8750
MILLER 10 8750
SMITH 20 11075
ADAMS 20 11075
FORD 20 11075
SCOTT 20 11075
JONES 20 11075
ALLEN 30 9970
BLAKE 30 9970
MARTIN 30 9970
JAMES 30 9970
TURNER 30 9970
WARD 30 9970
14 rows selected.But it could be better if you changed the structure you were using - you could
pick out package names and price summary in the separate table -
now you packagetable looks as the unnormalized structure which is overloaded
by data.
Rgds. -
SQL*Plus variable assignment works for 8i but not 9i
We have scripts that connect to each database on the box and perform database tasks nightly. The scripts first set the environment then connects to each database with SQL*Plus. This works for 8i but fails in the recently created 9i environment. (Unix Solaris environment)
Because the SQL*Plus connection appears in many areas in the scripts, we assign the following connection string to a variable:
SQLPLUS="/usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba'"
Export SQLPLUS
echo "$SQLPLUS"
(This echo out correctly: /usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba')
It fails when the script calls the assigned variable:
$SQLPLUS <<-EOF
with the following error:
Usage: SQLPLUS [ [<option>] [<logon>] [<start>] ]
where <option> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]
<logon> ::= <username>[<password>][@<connect_string>] | / | /NOLOG
<start> ::= @<URI>|<filename>[.<ext>] [<parameter> ...]
"-H" displays the SQL*Plus version banner and usage syntax
"-V" displays the SQL*Plus version banner
"-L" attempts log on just once
"-M <o>" uses HTML markup options <o>
"-R <n>" uses restricted mode <n>
"-S" uses silent mode
However, if I remove the SQLPLUS variable assignment and changed all occurrence of
$SQLPLUS <<-EOF to
/usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba' <<-EOF
Then the script runs successfully. But this solution is cumbersome.
Any ideas as to how to have the script work with assigning the SQLPLUS variable????
Any help is appreciated.I has an immediate suspicion it might be related to the issue
mentioned in
http://otn.oracle.com/support/tech/sql_plus/htdocs/sub_var2.html#2_7
but this proved wrong: the SP2-306 still occurs in the latest
SQL*Plus.
I wonder what version of 8i you had working? With an old SQL*Plus
8.1.7.0 my connection failed the same as in 9.2 and 10i.
My solution was to do:
SQLPLUS='sqlplus -s'
UNPW='/ as sysdba'
$SQLPLUS "$UNPW" <<EOF
EOFThis worked in 9.2.0.5, 10.1.0.2 and 8.1.7.0.
One common security risk on UNIX remains: putting the username and
password on the command line. On some systems a "ps" command will
show the password to any user. If OS authentication cannot be used
for connection, perhaps putting the username/password in the SQL
script may be more secure?
A final note is that in SQL*Plus 10g, no quotes are needed around
AS SYSDBA, i.e.
sqlplus / as sysdba works from the OS prompt, whereas in 9.2 you need to do
sqlplus "/ as sysdba"This makes a solution easy:
SQLPLUS="/usr/oracle/product/10.1.0/bin/sqlplus -s xxx/xxxxxx@xxxx as sysdba"-- CJ -
SQL*Plus assignment works for 8i but not 9i
We have scripts that connect to each database on the box and perform database tasks nightly. The scripts first set the environment then connects to each database with SQL*Plus. This works for 8i but fails in the recently created 9i environment.
Because the SQL*Plus connection appears in many areas in the scripts, we assign the following connection string to a variable:
SQLPLUS="/usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba'"
Export SQLPLUS
echo "$SQLPLUS"
(This echo out correctly: /usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba')
It fails when the script calls the assigned variable:
$SQLPLUS <<-EOF
with the following error:
Usage: SQLPLUS [ [<option>] [<logon>] [<start>] ]
where <option> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]
<logon> ::= <username>[<password>][@<connect_string>] | / | /NOLOG
<start> ::= @<URI>|<filename>[.<ext>] [<parameter> ...]
"-H" displays the SQL*Plus version banner and usage syntax
"-V" displays the SQL*Plus version banner
"-L" attempts log on just once
"-M <o>" uses HTML markup options <o>
"-R <n>" uses restricted mode <n>
"-S" uses silent mode
However, if I remove the SQLPLUS variable assignment and changed all occurrence of
$SQLPLUS <<-EOF to
/usr/oracle/product/9.2.0/bin/sqlplus -s 'xxx/xxxxxx@xxxx as sysdba' <<-EOF
Then the script runs successfully. But this solution is cumbersome.
Any ideas as to how to have the script work with assigning the SQLPLUS variable????
Any help is appreciatedI has an immediate suspicion it might be related to the issue
mentioned in
http://otn.oracle.com/support/tech/sql_plus/htdocs/sub_var2.html#2_7
but this proved wrong: the SP2-306 still occurs in the latest
SQL*Plus.
I wonder what version of 8i you had working? With an old SQL*Plus
8.1.7.0 my connection failed the same as in 9.2 and 10i.
My solution was to do:
SQLPLUS='sqlplus -s'
UNPW='/ as sysdba'
$SQLPLUS "$UNPW" <<EOF
EOFThis worked in 9.2.0.5, 10.1.0.2 and 8.1.7.0.
One common security risk on UNIX remains: putting the username and
password on the command line. On some systems a "ps" command will
show the password to any user. If OS authentication cannot be used
for connection, perhaps putting the username/password in the SQL
script may be more secure?
A final note is that in SQL*Plus 10g, no quotes are needed around
AS SYSDBA, i.e.
sqlplus / as sysdba works from the OS prompt, whereas in 9.2 you need to do
sqlplus "/ as sysdba"This makes a solution easy:
SQLPLUS="/usr/oracle/product/10.1.0/bin/sqlplus -s xxx/xxxxxx@xxxx as sysdba"-- CJ
Maybe you are looking for
-
Change Pricing procedure in sales order create
Hi,i need to create a return with reference to an billing document by using FM BAPI_CUSTOMERRETURN_CREATE. I can able to create Return sales order with reference to billing document. But i am not able to copy pricing as per billing document item. It
-
Ctrl + C is not copying content in JTextBox
Hi, We have extended JTextBox to create a custom component. We are extending this to do some processing when maxlength exceeds some specified value. But now this custom component does not support copying using Ctrl + C. I thought that any Swing compo
-
Hi people! First of all I wanna thank you for accepting me in this group and secondly I need some help with a transformation in Element 3D. I want to know how to transform an Element 3D object into a text ( for example: transform an Element 3d Iphone
-
Download pictures to pc lumia 710
I would like to download pictures taken on my 710 to the pc one at a time. I have followed the steps and made all the correct checks in the approiate places but no photos are transferred. Using zune - on the screen with showing the pics on the phon
-
How can I print or export a list of subject lines from Notes?
Hi all, I'm using Notes in Mail.app to create a list of projects. I figured how to print an individual note with text within it, but I'd like to print a list of all my notes, or at least export it to a pages friendly format. I guess it would be possi