Major bugs in oracle 11g 11.1.0.7??
Hii All,
We are planning to upgrade to 11g currently we are using
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for Solaris: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production
Now we are planning to upgrade to version 11.1.0.7,but heard that it contains many bugs.And our DBA suggest us version 11.2.0.1.0 where all the bugs in the earlier release of 11g got fixed. Is it true?
These links show that there are some bugs in 11.1.0.7
http://nilesh-joshi.blogspot.com/2010/06/oracle-111070-bug.html
http://mikerault.blogspot.com/2009/03/more-fun-with-oracle11g-11107.html
1)Can any one brief the bugs in the version 11.1.0.7 ???
2)Let me know whether are all those bugs got fixed in the version 11.2.0.1.0??
Is this bug oracle 11g needs group by - why? fixed in 11gR2???
Regards
Raghu.
Bottom line - you'll be lucky if you never run into a bug in any release.
I'd always be hesitant to go with any x.1 release including 11.2.0.1.
Bear in mind that you're probably not upgrading today but in a few months time.
11.2.0.2 is available on Linux
Use Metalink to identify any bugs in any specific feature or release you're interested.
Doc Id 738538.1 - 11.1.0.7 Patch Set - Availability and Known Issues
Doc Id - 880707.1 - 11.2.0.1 Base Release - Availability and Known Issues
Doc ID 1179474.1 - Known issues specific to 11.2.0.2
Doc ID 1178583.1 - Bugs fixed in the 11.2.0.2 Patch Set
Similar Messages
-
Major performance trouble Oracle 11g RHELx64, HP 8100 storage
Hi hope some one can help me with this.
We have a datawarehouse with this configuratuion
Database
RHEL5 u5 on 2* intel 5700 cpu, 36gb ram, emulex 4gb dual port hba, HP EVA 8100 san.
Oracle 11g 11.1.7.
Database 8 kblock
Disks are
/data 2.0TB 72 disks formated with ext3 4k block.
/log 100GB 72 disks formated with ext3 4k block.
ETL
Informatica Power Center 8.6 on similar machine.
My problem is vhen we try to load the database with data it takes forever so we tested this stuff
iops script run
SET SERVEROUTPUT ON
DECLARE
lat INTEGER;
iops INTEGER;
mbps INTEGER;
BEGIN
-- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (<DISKS>, <MAX_LATENCY>, iops, mbps, lat);
DBMS_RESOURCE_MANAGER.CALIBRATE_IO (72, 10, iops, mbps, lat);
DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
DBMS_OUTPUT.PUT_LINE ('latency = ' || lat);
dbms_output.put_line('max_mbps = ' || mbps);
end;
Results
Warehouse database about 600GB data in it
max_iops = 82
latency = 11
max_mbps = 204
LOW!!!
I installed a new database with just the exaple schemas on same disk /data and got theese results
max_iops = 25665
latency = 8
max_mbps = 517
Any one have some ideas what i should test or change?
/Jens Bäckström (Noob)DbaThe second database IOTEST is a small test db.
This is how i did the test
i stopped the DWRPD01 wich is the dw database.
i start the IOTEST DATABSE and run the iops script.
after the run i stoped IOTEST and started DWPRD02 and run the same script.
i am sure the database files was on the same san disk group . but ofc i can not besure that the data be on the same physical disk in the SAN cabinett.
Ill check ur other questions as soon as i have some ansvers
and thanks for helping me out.
Below are my initfiles from the DB's
/Jens
IOTEST Database
IOTEST.__db_cache_size=16106127360
IOTEST.__java_pool_size=268435456
IOTEST.__large_pool_size=268435456
IOTEST.__oracle_base='/oracle_prod01'#ORACLE_BASE set from environment
IOTEST.__pga_aggregate_target=6442450944
IOTEST.__sga_target=21474836480
IOTEST.__shared_io_pool_size=0
IOTEST.__shared_pool_size=4294967296
IOTEST.__streams_pool_size=268435456
*.archive_lag_target=1800
*.audit_file_dest='/oracle_prod01/admin/IOTEST/adump'
*.audit_sys_operations=true
*.audit_trail='db'
*.compatible='11.1.0.0.0'
*.control_file_record_keep_time=16
*.control_files='/iotest/IOTEST/control01.ctl','/iotest/IOTEST/control02.ctl','/iotest/IOTEST/control03.ctl'
*.db_block_checking='LOW'
*.db_block_checksum='TYPICAL'
*.db_block_size=8192
*.db_create_file_dest=''
*.db_domain=''
*.db_file_multiblock_read_count=32
*.db_files=200
*.db_name='IOTEST'
*.db_recovery_file_dest=''
*.db_writer_processes=3
*.diagnostic_dest='/oracle_prod01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=IOTESTXDB)'
*.filesystemio_options='setall'
*.log_checkpoints_to_alert=true
*.nls_language='AMERICAN'
*.open_cursors=512
*.optimizer_index_cost_adj=50
*.parallel_io_cap_enabled=true
*.parallel_max_servers=10
*.parallel_min_servers=2
*.pga_aggregate_target=6442450944
*.processes=512
*.recyclebin='off'
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=21474836480DWPRD01.__db_cache_size=16106127360
*.star_transformation_enabled='TRUE'
*.undo_tablespace='UNDOTBS1'
DWPRD01 Database
DWPRD01.__java_pool_size=268435456
DWPRD01.__large_pool_size=268435456
DWPRD01.__oracle_base='/oracle_prod01'#ORACLE_BASE set from environment
DWPRD01.__pga_aggregate_target=6442450944
DWPRD01.__sga_target=21474836480
DWPRD01.__shared_io_pool_size=0
DWPRD01.__shared_pool_size=4294967296
DWPRD01.__streams_pool_size=268435456
*.archive_lag_target=1800
*.audit_file_dest='/oracle_prod01/admin/DWPRD01/adump'
*.audit_sys_operations=true
*.audit_trail='db'
*.compatible='11.1.0.0.0'
*.control_file_record_keep_time=16
*.control_files='/dbffast_prod01/control01.ctl','/oracle_prod01/control02.ctl','/log_prod01/control03.ctl'
*.db_block_checking='LOW'
*.db_block_checksum='TYPICAL'
*.db_block_size=8192
*.db_create_file_dest=''
*.db_domain=''
*.db_file_multiblock_read_count=32
*.db_files=200
*.db_name='DWPRD01'
*.db_recovery_file_dest=''
*.db_writer_processes=3
*.diagnostic_dest='/oracle_prod01'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DWPRD01XDB)'
*.filesystemio_options='setall'
*.log_archive_dest_1='LOCATION=/arch_prod01'
*.log_archive_format='DWPRD01_%t_%s_%r.log'
*.log_checkpoints_to_alert=true
*.nls_language='AMERICAN'
*.open_cursors=512
*.optimizer_index_cost_adj=50
*.parallel_io_cap_enabled=true
*.parallel_max_servers=10
*.parallel_min_servers=2
*.pga_aggregate_target=6442450944
*.processes=512
*.recyclebin='off'
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=21474836480
*.star_transformation_enabled='TRUE'
*.undo_tablespace='UNDOTBS1' -
WS-I Tools - Major Bug in JDeveloper 11g
Hello,
I've tried tro run the WS-I analyzer from JDeveloper (11.1.1 - 2 - 3 ) but have the following error:
An error occcured when writing the temporaryWS-I Analyzer configuration file
After spending couple of hours and finally gave up, and I believe this is a big BUGGGGGGGGGGGGGG in 11g JDeveloper , no log no clue.
I tried the same in 10.1.3.4 and it works just fine, I followed the following instructions, for both versions.
http://www.oracle.com/technetwork/developer-tools/jdev/wsi-howto-091316.html
I am surprised about this bug of Jdeveloper ...................If any Ace, or Director has any clue ??? let us know please.
ThanksHi, I am using Oracle supplied HR schema, table EMPLOYEES. I created EO on EMPLOYEES table. All the attributes show correctly as Persistent first.
Under Default Value section, I selected Radio Button "SQL" and entered valid Sql statement, Hit save button. I moved to next attribute, then I see. The previous attribute for which I entered Sql statement as default value, turned to Transient. But this is a Persistent attribute. It is not allowing me to change it back to Persistent.
Hope the above steps will help to reproduce the bug in your system. -
Please suggest a list/link of the known bugs present in OBIEE11g.
Check this or you may google it.
http://obieeelegant.blogspot.com/2012/10/bugs-fixed-in-111165-patch-set.html
https://forums.oracle.com/forums/ann.jspa?annID=939
Mark if helps
http://cool-bi.com
Edited by: Srini VEERAVALLI on May 16, 2013 8:48 AM -
Connect By Clause - Major Bug in Oracle 9.0.1
Currently I am working with Oracle 8.1.6 database,
now we are migrating to Oracle 9.0.1.
We are often using "Connect By" clause in our queries since our database structure is hierarchical.
I am facing one problem with "Connect By" clause in
Oracle 9.0.1, actually which is working properly with Oracle 8.1.6.
I am giving the Problem.
I have created a Table say Object_Master,
Then I insert 3 rows in that table,
and then I commit and try to execute one query,
Same thing is working properly in Oracle 8.1.6 but same query is not working in Oracle 9.0.1.
Following is the script.
Create table Object_Master
ObjectId Number(5),
ObjectName Varchar2(255),
ParentId Number(5),
DeleteStatus Varchar2(1),
IsSecuritySet Varchar2(1))
Insert Into Object_Master Values (1,'john',0,'N','Y')
Insert Into Object_Master Values (2,'ADMIN',1,'N','Y')
Insert Into Object_Master Values (3,'ADMIN',1,'N','Y')
Commit
Select * from
Object_Master
Start with ObjectId = 1
Connect By parentid = Prior ObjectId
And DeleteStatus = 'N' And ( IsSecuritySet = 'N' Or ObjectName = 'ADMIN' )
This script is working perfectly with Oracle 8.1.6 but when I try to run this sc[i]Long postings are being truncated to ~1 kB at this time.Hey Mitesh,
What's going on? So many posting for the same question, and that is also not comlete. Try to post rest of your question.
Dharmesh Patel -
Connect by clause - Major bug with Oracle 9.0.1
Currently I am working with Oracle 8.1.6 database,
now we are migrating to Oracle 9.0.1.
We are often using "Connect By" clause in our queries since our database structure is hierarchical.
I am facing one problem with "Connect By" clause in
Oracle 9.0.1, actually which is working properly with Oracle 8.1.6.
I am giving the Problem.
I have created a Table say Object_Master,
Then I insert 3 rows in that table,
and then I commit and try to execute one query,
Same thing is working properly in Oracle 8.1.6 but same query is not working in Oracle 9.0.1.
Following is the script.
Create table Object_Master
ObjectId Number(5),
ObjectName Varchar2(255),
ParentId Number(5),
DeleteStatus Varchar2(1),
IsSecuritySet Varchar2(1))
Insert Into Object_Master Values (1,'john',0,'N','Y')
Insert Into Object_Master Values (2,'ADMIN',1,'N','Y')
Insert Into Object_Master Values (3,'ADMIN',1,'N','Y')
Commit
Select * from
Object_Master
Start with ObjectId = 1
Connect By parentid = Prior ObjectId
And DeleteStatus = 'N' And ( IsSecuritySet = 'N' Or ObjectName = 'ADMIN' )
This script is working perfectly with Oracle 8.1.6 but when I try to run this sc[i]Long postings are being truncated to ~1 kB at this time.Hey Mitesh,
What's going on? So many posting for the same question, and that is also not comlete. Try to post rest of your question.
Dharmesh Patel -
We are trying to execute a simple query of the form
select * from sometable where upper(attr1) like 'WB%' or upper(attr2) like 'WB%' or upper(attr3) like 'WB%'
The data does exist in the table but the query does not return values.
Sometimes the count(*) on that table returns the correct number but the actual select statement does not return data.
We have added a dummy where clause
select * from sometable where upper(attr1) like 'WB%' or upper(attr2) like 'WB%' or upper(attr3) like 'WB%' or lower(attr2) like 'WB%' and the data does show up.
We are on Oracle 11g 11.2.0.2 and have migrated recently from 10g. And this issue has started appearing after the migration.
Any thoughts on what could be causing this issue ?
Thanks
Surya
Edited by: Surya on 09-Mar-2011 06:11user11180582 wrote:
We have added a dummy where clause
select * from sometable where upper(attr1) like 'WB%' or upper(attr2) like 'WB%' or upper(attr3) like 'WB%' or lower(attr2) like 'WB%' and the data does show up. Hm. difficult but I doubt that you have a bug. I guess you have either some strange values or there is something in the full statement that is missing in your example.
For example please be aware that the AND operator has a higher priority then the OR operator (is this way since oracle 7 at least).
So if your real statement would include an and condition, this could produce unwanted outcome.
select * from sometable
where upper(attr1) like 'WB%'
or upper(attr2) like 'WB%'
or upper(attr3) like 'WB%'
and lower(attr5) = 'XY' This is identical to:
select * from sometable
where upper(attr1) like 'WB%'
or upper(attr2) like 'WB%'
or (upper(attr3) like 'WB%' and lower(attr5) = 'XY' )But usually you want
select * from sometable
where (upper(attr1) like 'WB%' or upper(attr2) like 'WB%' or upper(attr3) like 'WB%')
and lower(attr5) = 'XY' Some additon. Your condition could also be written like this. Maybe this helps to find the real cause of the error.
select * from sometable
where 'WB' in (substr(upper(attr1),1,2)
,substr(upper(attr2),1,2)
,substr(upper(attr3),1,2)
)I find this often to be better readable then a long LIKE + OR expression. -
Oracle 11g bug for column ambigously defined error
I have below format query running on Oracle 10g without any issues
select col1
from (select col1
from (select 'A' col1
from dual)
) v1
inner join (select col1 as col2
from (select 'A' col1
from dual)
) v2
on (v1.col1=v2.col2);
When I run the exact same query on Oracle 11g I get column ambiguously defined error. But when I change the query to as below it works fine on 11g
select v1.col1
from (select col1
from (select 'A' col1
from dual)
) v1
inner join (select col1 as col2
from (select 'A' col1
from dual)
) v2
on (v1.col1=v2.col2);
Is it because 11g ignores column alias in my inner queries.I'd tend to agree that this seems to be a bug in 11.1.0.7 (at least, that's the version I'm running it in)
It's not even that Oracle doesn't know about the column aliases, you can remove the aliases in the ON without a problem, i.e.
SELECT v1.col1
FROM
(SELECT col1 FROM
(SELECT 'A' col1 FROM dual
) v1
INNER JOIN
(SELECT col1 AS col2 FROM
(SELECT 'A' col1 FROM dual
) v2
ON (col1=col2);works fine. Using the old join syntax also seems to work fine
SELECT col1
FROM
(SELECT col1 FROM
(SELECT 'A' col1 FROM dual
) v1,
(SELECT col1 AS col2 FROM
(SELECT 'A' col1 FROM dual
) v2
WHERE (col1=col2);So it appears that something in the SQL 99 parser is broken. Have you logged a bug in Metalink?
Justin -
BUG for sort column with Oracle 11g and APEX 3.2
I have BUG in Report region(Oracle 11g and APEX 3.2). if i have more than 746 Char for my column's value and i want to sort them, this error appear
Report error :
ORA-00910: specified length too long for its datatype.
But in an other environement in Oracle 10g and apex 3.2, with the same data. I have no BUG.
Somebody have an idea for a possible solution to this problem???Again, I may just be wasting your time...but if I have XDB problems...especially with the password, I do the following:
1. Change your working directory to $ORACLE_HOME/apex.
2. Start SQL*Plus and connect to the database where Oracle Application Express is installed as SYS.
3. Run apxconf.sql
> @apxconf
4. When prompted, enter a password for the Oracle Application Express Admin account.
5. When prompted, enter the port for the Oracle XML DB HTTP server. (default port being, of course,8080).
6. Unlock the ANONYMOUS account
> ALTER USER ANONYMOUS ACCOUNT UNLOCK;
7. If needed, I do the SETHTTPPORT command mentioned before...
Since I'm using the Oracle 11g, with embedded PL/SQL server, I have no idea if this is the same for 10g us OHS?
Hope that helps!
KSL. -
Oracle Designer 10g With Oracle 11g DB possible
Hi,
Please clarify my below query,
we are currently using oracle designer 10g and deploying the components to production DB which is in oracle 9i, We are planning to migrate to oracle supported version 11g DB, since oracle designer 11g is not there we would be sticking to oracle 10g itself, Now my question is, will we be having issues or road blocks with this combination Oracle designer 10g and Oracle 11g DB???
Regards
Bala@Erik
Don't have a doc id. You have to go to the certication tab in My Oracle Support. Search for Oracle Designer 10.1.2.6.0 there you will find the three supported database version.
Oracle Designer 10.1.2.6.0 is certified with Oracle Database 11.2.0.1.0 on Microsoft Windows (32-bit) XP
Oracle Designer 10.1.2.6.0 with Oracle Database 11.2.0.1.0
Customers must review MetaLink Doc 1299040.1 Application Design Transformer Hangs at 65% when running against Oracle 11gR2
Certified with:
Oracle Fusion Middleware 10g 10.1.2.0.2 Oracle Developer Suites 10g 10.1.2.0.2 Oracle AS/DS Patch Set 10g 10.1.2.3.0
@Bala
Colleagues of mine have imported a designer repository inside 11gR2 and where not able to change objects inside the repository. When they imported the same designer dump inside an 11gR1 database it worked fine.
In the other post (Re: 11G compatibility it is also written that there are some major bugs and those bugs will not be fixed. -
Hi
It is an application and want to deploy VS2008.NET WebParts to make a Dashboard style display. This type of screen required (under a philosophy Microsoft) database called aspnetdb "as it allows control of certain profiles and statements of the screen transparent to the user.
How I can implement this type of functionality on an Oracle 11g database?
Is it possible to replicate this data model aspnetdb on oracle so that it is also transparent to the application?
Thanks ....@Erik
Don't have a doc id. You have to go to the certication tab in My Oracle Support. Search for Oracle Designer 10.1.2.6.0 there you will find the three supported database version.
Oracle Designer 10.1.2.6.0 is certified with Oracle Database 11.2.0.1.0 on Microsoft Windows (32-bit) XP
Oracle Designer 10.1.2.6.0 with Oracle Database 11.2.0.1.0
Customers must review MetaLink Doc 1299040.1 Application Design Transformer Hangs at 65% when running against Oracle 11gR2
Certified with:
Oracle Fusion Middleware 10g 10.1.2.0.2 Oracle Developer Suites 10g 10.1.2.0.2 Oracle AS/DS Patch Set 10g 10.1.2.3.0
@Bala
Colleagues of mine have imported a designer repository inside 11gR2 and where not able to change objects inside the repository. When they imported the same designer dump inside an 11gR1 database it worked fine.
In the other post (Re: 11G compatibility it is also written that there are some major bugs and those bugs will not be fixed. -
Enterprise manager version with Oracle 11g
Which version of Enterprise Manager do I need to install with 64 bit Oracle 11g. What is the latest version? Where can I get this information. The latest version that I could find for download on Oracle website is 10.2.0.4, but the one that comes with 11g Enterprise edition says 11.1 (the one without the Grid control).
The latest grid control is 10.2.0.4 - note that you have to turn off instance status metric or you get too many files open - a bug that they are doing a patch for.
You are correct thou - 11g DB control is bundled with the db, but that is db control not grid control - a similar but unique product. -
The danger of memory target in Oracle 11g - request for discussion.
Hello, everyone.
This is not a question, but kind of request for discussion.
I believe that many of you heard something about automatic memory management in Oracle 11g.
The concept is that Oracle manages the target size of SGA and PGA. Yes, believe it or not, all we have to do is just to tell Oracle how much memory it can use.
But I have a big concern on this. The optimizer takes the PGA size into consideration when calculating the cost of sort-related operations.
So what would happen when Oracle dynamically changes the target size of PGA? Following is a simple demonstration of my concern.
UKJA@ukja116> select * from v$version;
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
PL/SQL Release 11.1.0.6.0 - Production
CORE 11.1.0.6.0 Production
TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
NLSRTL Version 11.1.0.6.0 - Production
-- Configuration
*.memory_target=350m
*.memory_max_target=350m
create table t1(c1 int, c2 char(100));
create table t2(c1 int, c2 char(100));
insert into t1 select level, level from dual connect by level <= 10000;
insert into t2 select level, level from dual connect by level <= 10000;
-- First 10053 trace
alter session set events '10053 trace name context forever, level 1';
select /*+ use_hash(t1 t2) */ count(*)
from t1, t2
where t1.c1 = t2.c1 and t1.c2 = t2.c2
alter session set events '10053 trace name context off';
-- Do aggressive hard parse to make Oracle dynamically change the size of memory segments.
declare
pat1 varchar2(1000);
pat2 varchar2(1000);
va number;
vc sys_refcursor;
vs varchar2(1000);
begin
select ksppstvl into pat1
from sys.xm$ksppi i, sys.xm$ksppcv v -- views for x$ table
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
for idx in 1 .. 10000000 loop
execute immediate 'select count(*) from t1 where rownum = ' || (idx+1)
into va;
if mod(idx, 1000) = 0 then
sys.dbms_system.ksdwrt(2, idx || 'th execution');
select ksppstvl into pat2
from sys.xm$ksppi i, sys.xm$ksppcv v -- views for x$ table
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
if pat1 <> pat2 then
sys.dbms_system.ksdwrt(2, 'yep, I got it!');
exit;
end if;
end if;
end loop;
end;
-- As to alert log file,
25000th execution
26000th execution
27000th execution
28000th execution
29000th execution
30000th execution
yep, I got it! <-- the pga target changed with 30000th hard parse
-- Second 10053 trace for same query
alter session set events '10053 trace name context forever, level 1';
select /*+ use_hash(t1 t2) */ count(*)
from t1, t2
where t1.c1 = t2.c1 and t1.c2 = t2.c2
alter session set events '10053 trace name context off';With above test case, I found that
1. Oracle invalidates the query when internal pga aggregate size changes, which is quite natural.
2. With changed pga aggregate size, Oracle recalculates the cost. These are excerpts from the both of the 10053 trace files.
-- First 10053 trace file
PARAMETERS USED BY THE OPTIMIZER
PARAMETERS WITH ALTERED VALUES
Compilation Environment Dump
_smm_max_size = 11468 KB
_smm_px_max_size = 28672 KB
optimizer_use_sql_plan_baselines = false
optimizer_use_invisible_indexes = true
-- Second 10053 trace file
PARAMETERS USED BY THE OPTIMIZER
PARAMETERS WITH ALTERED VALUES
Compilation Environment Dump
_smm_max_size = 13107 KB
_smm_px_max_size = 32768 KB
optimizer_use_sql_plan_baselines = false
optimizer_use_invisible_indexes = true
Bug Fix Control Environment10053 trace file clearly says that Oracle recalculates the cost of the query with the change of internal pga aggregate target size. So, there is a great danger of unexpected plan change while Oracle dynamically controls the memory segments.
I believe that this is a desinged behavior, but the negative side effect is not negligible.
I just like to hear your opinions on this behavior.
Do you think that this is acceptable? Or is this another great feature that nobody wants to use like automatic tuning advisor?
================================
Dion Cho - Oracle Performance Storyteller
http://dioncho.wordpress.com (english)
http://ukja.tistory.com (korean)
================================I made a slight modification with my test case to have mixed workloads of hard parse and logical reads.
*.memory_target=200m
*.memory_max_target=200m
create table t3(c1 int, c2 char(1000));
insert into t3 select level, level from dual connect by level <= 50000;
declare
pat1 varchar2(1000);
pat2 varchar2(1000);
va number;
begin
select ksppstvl into pat1
from sys.xm$ksppi i, sys.xm$ksppcv v
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
for idx in 1 .. 1000000 loop
-- try many patterns here!
execute immediate 'select count(*) from t3 where 10 = mod('||idx||',10)+1' into va;
if mod(idx, 100) = 0 then
sys.dbms_system.ksdwrt(2, idx || 'th execution');
for p in (select ksppinm, ksppstvl
from sys.xm$ksppi i, sys.xm$ksppcv v
where i.indx = v.indx
and i.ksppinm in ('__shared_pool_size', '__db_cache_size', '__pga_aggregate_target')) loop
sys.dbms_system.ksdwrt(2, p.ksppinm || ' = ' || p.ksppstvl);
end loop;
select ksppstvl into pat2
from sys.xm$ksppi i, sys.xm$ksppcv v
where i.indx = v.indx
and i.ksppinm = '__pga_aggregate_target';
if pat1 <> pat2 then
sys.dbms_system.ksdwrt(2, 'yep, I got it! pat1=' || pat1 ||', pat2='||pat2);
exit;
end if;
end if;
end loop;
end;
/This test case showed expected and reasonable result, like following:
100th execution
__shared_pool_size = 92274688
__db_cache_size = 16777216
__pga_aggregate_target = 83886080
200th execution
__shared_pool_size = 92274688
__db_cache_size = 16777216
__pga_aggregate_target = 83886080
300th execution
__shared_pool_size = 88080384
__db_cache_size = 20971520
__pga_aggregate_target = 83886080
400th execution
__shared_pool_size = 92274688
__db_cache_size = 16777216
__pga_aggregate_target = 83886080
500th execution
__shared_pool_size = 88080384
__db_cache_size = 20971520
__pga_aggregate_target = 83886080
1100th execution
__shared_pool_size = 92274688
__db_cache_size = 20971520
__pga_aggregate_target = 83886080
1200th execution
__shared_pool_size = 92274688
__db_cache_size = 37748736
__pga_aggregate_target = 58720256
yep, I got it! pat1=83886080, pat2=58720256Oracle continued being bounced between shared pool and buffer cache size, and about 1200th execution Oracle suddenly stole some memory from PGA target area to increase db cache size.
(I'm still in dark age on this automatic memory target management of 11g. More research in need!)
I think that this is very clear and natural behavior. I just want to point out that this would result in unwanted catastrophe under special cases, especially with some logic holes and bugs.
================================
Dion Cho - Oracle Performance Storyteller
http://dioncho.wordpress.com (english)
http://ukja.tistory.com (korean)
================================ -
Oracle 11g: Oracle insert/update operation is taking more time.
Hello All,
In Oracle 11g (Windows 2008 32 bit environment) we are facing following issue.
1) We are inserting/updating data on some tables (4-5 tables and we are firing query with very high rate).
2) After sometime (say 15 days with same load) we are feeling that the Oracle operation (insert/update) is taking more time.
Query1: How to find actually oracle is taking more time in insert/updates operation.
Query2: How to rectify the problem.
We are having multithread environment.
Thanks
With Regards
Hemant.Liron Amitzi wrote:
Hi Nicolas,
Just a short explanation:
If you have a table with 1 column (let's say a number). The table is empty and you have an index on the column.
When you insert a row, the value of the column will be inserted to the index. To insert 1 value to an index with 10 values in it will be fast. It will take longer to insert 1 value to an index with 1 million values in it.
My second example was if I take the same table and let's say I insert 10 rows and delete the previous 10 from the table. I always have 10 rows in the table so the index should be small. But this is not correct. If I insert values 1-10 and then delete 1-10 and insert 11-20, then delete 11-20 and insert 21-30 and so on, because the index is sorted, where 1-10 were stored I'll now have empty spots. Oracle will not fill them up. So the index will become larger and larger as I insert more rows (even though I delete the old ones).
The solution here is simply revuild the index once in a while.
Hope it is clear.
Liron Amitzi
Senior DBA consultant
[www.dbsnaps.com]
[www.orbiumsoftware.com]Hmmm, index space not reused ? Index rebuild once a while ? That was what I understood from your previous post, but nothing is less sure.
This is a misconception of how indexes are working.
I would suggest the reading of the following interasting doc, they are a lot of nice examples (including index space reuse) to understand, and in conclusion :
http://richardfoote.files.wordpress.com/2007/12/index-internals-rebuilding-the-truth.pdf
"+Index Rebuild Summary+
+•*The vast majority of indexes do not require rebuilding*+
+•Oracle B-tree indexes can become “unbalanced” and need to be rebuilt is a myth+
+•*Deleted space in an index is “deadwood” and over time requires the index to be rebuilt is a myth*+
+•If an index reaches “x” number of levels, it becomes inefficient and requires the index to be rebuilt is a myth+
+•If an index has a poor clustering factor, the index needs to be rebuilt is a myth+
+•To improve performance, indexes need to be regularly rebuilt is a myth+"
Good reading,
Nicolas. -
Oracle 11g - Problem in referring ROWNUM in the SQL
Hello All,
We are facing a strange problem with Oracle 11g (11.2.0.1.0).
When we issue a query which refers the rownum, it returns a invalid record ( which is not exists in the table).
The same sql is working fine once we analyze the table
Note: The same sql is working fine with oracle 10g (Before analyze also).
The script to reproduce the issue:
DROP TABLE BusinessEntities;
CREATE TABLE BusinessEntities
business_entity_id VARCHAR2(25) PRIMARY KEY,
business_entity_name VARCHAR2(50) NOT NULL ,
owner_id VARCHAR2(25) ,
statutory_detail_id NUMBER ,
address_id NUMBER NOT NULL
DROP TABLE BusEntityRoles;
CREATE TABLE BusEntityRoles
business_entity_id VARCHAR2(25) NOT NULL,
role_id VARCHAR2(10) NOT NULL,
PRIMARY KEY (business_entity_id, role_id)
INSERT
INTO businessentities ( business_entity_id , business_entity_name, owner_id , statutory_detail_id , address_id)
VALUES
( 'OWNER', 'OWNER Corporation Ltd', NULL , 1, 1 );
INSERT
INTO businessentities ( business_entity_id , business_entity_name, owner_id , statutory_detail_id , address_id)
VALUES
( 'ALL_IN_ALL', 'ALL IN ALL Corporation Ltd', 'OWNER' , 2, 2 );
INSERT INTO busentityroles(business_entity_id, role_id) VALUES ('TEST' , 'OWNER');
INSERT INTO busentityroles (business_entity_id,role_id) VALUES ('TEST','VENDOR');
INSERT INTO busentityroles(business_entity_id, role_id) VALUES ('ALL_IN_ALL' , 'VENDOR');
SELECT *
FROM
(SELECT raw_sql_.business_entity_id, raw_sql_.business_entity_name, raw_sql_.owner_id, raw_sql_.address_id,
rownum raw_rnum_
FROM
(SELECT *
FROM BusinessEntities
WHERE (business_entity_id IN
(SELECT business_entity_id
FROM BusinessEntities
WHERE business_entity_id = 'OWNER'
OR owner_id = 'ALL_IN_ALL'
AND business_entity_id NOT IN
(SELECT business_entity_id FROM BusEntityRoles
ORDER BY business_entity_id ASC
) raw_sql_
WHERE rownum <= 5
WHERE raw_rnum_ > 0;
OUTPUT Before Analyzing
BUSINESS_ENTITY_ID: OWNER
BUSINESS_ENTITY_NAME: NULL
OWNER_ID: OWNER
ADDRESS_ID: NULL
RAW_RNUM_: 1
Note: There is no record in the table with the value business_entity_id as 'OWNER' and OWNER_ID as 'OWNER' and the address_id as NULL
OUTPUT : After analyzed the table Using the below mentioned command
ANALYZE TABLE "BUSENTITYSUPPLYCHAINROLES" ESTIMATE STATISTICS
ANALYZE TABLE "BUSINESSENTITIES" ESTIMATE STATISTICS
BUSINESS_ENTITY_ID: OWNER
BUSINESS_ENTITY_NAME: OWNER Corporation Ltd
OWNER_ID: NULL
ADDRESS_ID: 1
RAW_RNUM_: 1
Any clue why Oracle 11g is behaving like this.Hi,
it's a good practice to give aliases for tables, as well as name query blocks. Here it is (and formatted for convinience):
select --/*+ gather_plan_statistics optimizer_features_enable('10.2.0.4') */
from (select /*+ qb_name(v2) */
raw_sql_.business_entity_id
,raw_sql_.business_entity_name
,raw_sql_.owner_id
,raw_sql_.address_id
,rownum raw_rnum_
from (select /*+ qb_name(v1) */ *
from businessentities b1
where (b1.business_entity_id in
(select /*+ qb_name(in) */ b2.business_entity_id
from businessentities b2
where business_entity_id = 'OWNER'
or owner_id = 'ALL_IN_ALL'
and business_entity_id not in
(select /*+ qb_name(not_in) */ r.business_entity_id from busentityroles r)))
order by business_entity_id asc) raw_sql_
where rownum <= 5)
where raw_rnum_ > 0;You are facing some bug - definitely - and, possibly, it is caused by [join elimination|http://optimizermagic.blogspot.com/2008/06/why-are-some-of-tables-in-my-query.html]. As a workaround you should rewrite the query to eliminate unnecessary join manually; or you may include a hint to not eliminate join (it's not documented):
SQL>
select -- /*+ gather_plan_statistics optimizer_features_enable('10.2.0.4') */
from (select /*+ qb_name(v2) */
raw_sql_.business_entity_id
,raw_sql_.business_entity_name
,raw_sql_.owner_id
,raw_sql_.address_id
,rownum raw_rnum_
from (select /*+ qb_name(v1) no_eliminate_join(b1) */ *
from businessentities b1
where (b1.business_entity_id in
(select /*+ qb_name(in) */ b2.business_entity_id
from businessentities b2
where business_entity_id = 'OWNER'
or owner_id = 'ALL_IN_ALL'
and business_entity_id not in
(select /*+ qb_name(not_in) */ r.business_entity_id from busentityroles r)))
order by business_entity_id asc) raw_sql_
where rownum <= 5)
20 where raw_rnum_ > 0;
BUSINESS_ENTITY_ID BUSINESS_ENTITY_NAME OWNER_ID ADDRESS_ID RAW_RNUM_
OWNER OWNER Corporation Ltd 1 1Strange thing is executing a transformed query gives correct result too:
SELECT "from$_subquery$_001"."BUSINESS_ENTITY_ID" "BUSINESS_ENTITY_ID",
"from$_subquery$_001"."BUSINESS_ENTITY_NAME" "BUSINESS_ENTITY_NAME",
"from$_subquery$_001"."OWNER_ID" "OWNER_ID",
"from$_subquery$_001"."ADDRESS_ID" "ADDRESS_ID",
"from$_subquery$_001"."RAW_RNUM_" "RAW_RNUM_"
FROM (SELECT /*+ QB_NAME ("V2") */
"RAW_SQL_"."BUSINESS_ENTITY_ID" "BUSINESS_ENTITY_ID",
"RAW_SQL_"."BUSINESS_ENTITY_NAME" "BUSINESS_ENTITY_NAME",
"RAW_SQL_"."OWNER_ID" "OWNER_ID","RAW_SQL_"."ADDRESS_ID" "ADDRESS_ID",
ROWNUM "RAW_RNUM_"
FROM (SELECT /*+ QB_NAME ("V1") */
"SYS_ALIAS_1"."BUSINESS_ENTITY_ID" "BUSINESS_ENTITY_ID",
"SYS_ALIAS_1"."BUSINESS_ENTITY_NAME" "BUSINESS_ENTITY_NAME",
"SYS_ALIAS_1"."OWNER_ID" "OWNER_ID",
"SYS_ALIAS_1"."STATUTORY_DETAIL_ID" "STATUTORY_DETAIL_ID",
"SYS_ALIAS_1"."ADDRESS_ID" "ADDRESS_ID"
FROM "TIM"."BUSINESSENTITIES" "SYS_ALIAS_1"
WHERE ("SYS_ALIAS_1"."BUSINESS_ENTITY_ID"='OWNER'
OR "SYS_ALIAS_1"."OWNER_ID"='ALL_IN_ALL' AND NOT
EXISTS (SELECT /*+ QB_NAME ("NOT_IN") */ 0
FROM "TIM"."BUSENTITYROLES" "R"
WHERE "R"."BUSINESS_ENTITY_ID"="SYS_ALIAS_1"."BUSINESS_ENTITY_ID")
ORDER BY "SYS_ALIAS_1"."BUSINESS_ENTITY_ID") "RAW_SQL_"
WHERE ROWNUM<=5) "from$_subquery$_001"
26 WHERE "from$_subquery$_001"."RAW_RNUM_">0
27 /
BUSINESS_ENTITY_ID BUSINESS_ENTITY_NAME OWNER_ID ADDRESS_ID RAW_RNUM_
OWNER OWNER Corporation Ltd 1 1
Maybe you are looking for
-
Windows 7 sees iMac but iMac can't see Win7 in Finder
I'm a brand new convert from the PC world to the Mac world and I'm trying my darndest to get this PC off my desk. I figured I would just get rid of the monitor and use remote desktop or CORD or something to control my PC through my new iMac. However,
-
K9N2 Diamond works with X2 3800+ but not Phenomii 940 with updated BIOS
The system in question. MSI K9N2 Diamond Current BIOS 7375v 2.6, have also tried 2.5, 2.4, 2.3, 2.2 AMD Phenom II 940 2X 2Gb Corsair CM2X2048-6400C5 Antec True Power 750 Watt P.S. EVGA Nvidia GTX 260 GPU W.D. 300Gb HDD This system is about 6 months o
-
Insert Table of Contents?
Is there a way to insert a table of contents into a PDF (by marking sections, or some other way)? If so, how? Also, if I PDF 2 seperate Word documents, and then combine them into one PDF, is there a way to update the ToC?
-
Cannot load ClassDiagram.cd on Visual Studio. "URI formats are not supported
When I try to open a class diagram for my asp.net webforms project I get the following error. The Class Diagram (.cd) files get generated but I can't open them. I do have some classes that use the URI class but i don't really think that could be the
-
Safari crashes as soon as it is opened
Help...Safari crashes as soon as it is opened.... here is the error report...Thanks in advance Date/Time: 2009-02-20 13:49:21.142 -0500 OS Version: 10.4.11 (Build 8S165) Report Version: 4 Command: Safari Path: /Applications/Safari.app/Contents/MacOS/