CBO behaviour with stale statistics
Hi,
our company sells an application based on an Oracle database. One of our customers has reported what I regard as odd behaviour from the CBO. I wonder if anyone here can confirm my understanding of how the CBO uses statistics to determine the optimal execution plan.
The reported issue is this:
There are a number of large (100 million rows+) tables in the application, these are partitioned by date and are subject to both inserts and updates although and although theoretically any date could be the subject of a change, these tend to concentrated towards the most recent dates. The customer analyses the tables with a sample size of 25% every few days. They claim that if they do not do this then the CBO starts choosing very non-optimal plans and this gets worse the longer that they leave it.
As I understand it the CBO will use the statistics on a table. Even if those statistics are stale it does not have anything better to base a decision on so it must use the statistics that are there. In which case even though a plan may be chosen that is non-optimal given a new set of data, it should choose the same plan each time given the same query and the same set of statistics.
Any thoughts?
qwe10730 wrote:
As I understand it the CBO will use the statistics on a table. Even if those statistics are stale it does not have anything better to base a decision on so it must use the statistics that are there. In which case even though a plan may be chosen that is non-optimal given a new set of data, it should choose the same plan each time given the same query and the same set of statistics.
This could be a case of the query only looking the same. As you said, most of the action is about the last few days.
If they only collect statistics every few days then as time passes they are going to be running queries about data that doesn't appear to exist.
If you have queries for a single recent partition, then Oracle could produce a plan based on its expectation of a complete absence of data. If you have queries for yesterday's data when the statistics haven't been updated since last week Oracle will produce a plan based on the fact that the volume of data is probably less than it would have been a week ago. (etc.....)
Doug Burns has started an interesting series of posts on partitioned tables and statistics - it may not cover all the details you need at present (he's only published 5 of a possible 10 posts so far). I've listed them here: http://jonathanlewis.wordpress.com/2010/03/17/partition-stats/ but the first one is here: http://oracledoug.com/serendipity/index.php?/archives/1562-Statistics-on-Partitioned-Tables-Part-1.html
Regards
Jonathan Lewis
http://jonathanlewis.wordpress.com
http://www.jlcomp.demon.co.uk
To post code, statspack/AWR report, execution plans or trace files, start and end the section with the tag {noformat}{noformat} (lowercase, curly brackets, no spaces) so that the text appears in fixed format.
There is a +"Preview"+ tab at the top of the text entry panel. Use this to check what your message will look like before you post the message. If it looks a complete mess you're unlikely to get a response. (Click on the +"Plain text"+ tab if you want to edit the text to tidy it up.)
+"Science is more than a body of knowledge; it is a way of thinking"+
+Carl Sagan+
Similar Messages
-
Optimizer Statitics Gathering Task is not updating stale statistics
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production PL/SQL Release 11.2.0.2.0 - Production
******************** List stale statistics for Schema IGR using dbms_stats.gather_database_stats **************************
DECLARE
ObjList dbms_stats.ObjectTab;
BEGIN
dbms_stats.gather_database_stats(objlist=>ObjList, options=>'LIST STALE');
FOR i in ObjList.FIRST..ObjList.LAST
LOOP
IF ObjList(i).ownname = 'IGR' THEN
dbms_output.put_line(ObjList(i).ownname || '.' || ObjList(i).ObjName || ' ' || ObjList(i).ObjType || ' ' || ObjList(i).partname);
END IF;
END LOOP;
END;
IGR.USER_INFO TABLE 189 < --------------------- 189 Tables with stale statistics
PL/SQL procedure successfully completed.
**************************** Check date IGR Table(s) last analyzed ***********************************************
SELECT MAX(last_analyzed) last_analyzed
FROM dba_tables
WHERE owner = 'IGR'
LAST_ANALYZED
14-DEC-11
*************************** Check status of Task 'auto optimizer stats collection' **********************************
SELECT client_name, job_name, job_status, job_start_time
FROM dba_autotask_job_history
WHERE client_name = 'auto optimizer stats collection'
ORDER BY job_start_time
CLIENT_NAME JOB_NAME JOB_STATUS JOB_START_TIME
auto optimizer stats collection ORA$AT_OS_OPT_SY_11952 SUCCEEDED 12-FEB-12 10.07.23.059313 AM EUROPE/LONDON
auto optimizer stats collection ORA$AT_OS_OPT_SY_11955 SUCCEEDED 12-FEB-12 02.07.33.879238 PM EUROPE/LONDON
auto optimizer stats collection ORA$AT_OS_OPT_SY_11958 SUCCEEDED 12-FEB-12 06.07.43.783262 PM EUROPE/LONDON
auto optimizer stats collection ORA$AT_OS_OPT_SY_11961 SUCCEEDED 12-FEB-12 10.07.54.206488 PM EUROPE/LONDON
Any suggestions welcome
Thanks
SteveThank you for the feedback.
I have manually updated the statistics on a single Table successfully and the Table has been removed from the list of stale statistics. So this is further evidence the daily Task "Optimizer Statistics Gathering Task" is failing to update stale statistics.
Any further comment or suggestion welcome
Thanks
Steve
SQL> SELECT owner, table_name, last_analyzed, num_rows
FROM dba_tables
WHERE owner = 'IGR' AND table_name = 'SYSAUDIT';
OWNER TABLE_NAME LAST_ANAL NUM_ROWS
IGR SYSAUDIT 14-DEC-11 59036
1 begin
2 dbms_stats.gather_table_stats(
3 ownname=> 'IGR',
4 tabname=> 'SYSAUDIT',
5 estimate_percent=> 100,
6 cascade=> DBMS_STATS.AUTO_CASCADE,
7 degree=> null,
8 no_invalidate=> DBMS_STATS.AUTO_INVALIDATE,
9 granularity=> 'AUTO',
10 method_opt=> 'FOR ALL COLUMNS SIZE AUTO');
11* end;
PL/SQL procedure successfully completed.
SQL> /
OWNER TABLE_NAME LAST_ANAL NUM_ROWS
IGR SYSAUDIT 13-FEB-12 104970 -
Partition Gurus - Another help on Stale Statistics
Hi All,
A simple question for all gurus here.
MY DBA was saying I dont need to ANALYZE TABLE COMPUTE STATISTICS on all tables every night. He said the CBO will collect STALE STATISTICS every night. I Only need to ANALYZE INDEX COMPUTE STATISTICS every night.
IS this true? what exactly is stale stats?
Thanks and Regards,
Saff- What version of Oracle are we talking about?
- Assuming 10g or later, is the default GATHER_STATS_JOB running?
- If so, have any of the defaults been changed?
- The ANALYZE command has been deprecated for quite some time as a means of gathering statistics for the optimizer. Unless you're on 8.1.5 or something, you should always be using DBMS_STATS rather than ANALYZE to gather optimizer statistics.
Assuming you are on 10g or later and that the default GATHER_STATS_JOB is running, there would normally be no need to manually gather statistics on tables or indexes.
Justin -
1. How to create an explain plan with rowsource statistics for a complex query that include multiple table joins ?
When multiple tables are involved , and the actual number of rows returned is more than what the explain plan tells. How can I find out what change is needed in the stat plan ?
2. Does rowsource statistics gives some kind of understanding of Extended stats ?You can get Row Source Statistics only *after* the SQL has been executed. An Explain Plan midway cannot give you row source statistics.
To get row source statistics either set STATISTICS_LEVEL='ALL' in the session that executes theSQL OR use the Hint "gather_plan_statistics" in the SQL being executed.
Then use dbms_xplan.display_cursor
Hemant K Chitale -
Strange behaviour with Safari.
Very strange behaviour with Safari this morning. Pages loading piecemeal or partially. The content only becomes viewable after the cursor has passed over the area. Have cleared caches and reported it but I'm wondering if this is a local matter here in the UK. Anyone suffering similar problems? Firefox is responding perfectly normally.
I see a reply has come back via a previous post. As I am trying to get a response to this one I shan't reply there but I should point out that for me, this is an isolated problem. I do use open DNS but with no track history of problems there , I can't blame that.
In the last few minutes normality has returned. -
Bug in cursor behaviour with duplicates
Dear Oracle guys and girls,
first of all: it sucks that i HAVE to provide business information (company name, address, even phone number) even if i just want to participate in this forum for private reasons. I even have to "unsubscribe" to the newsletters although i never subscribed. Then i have to re-enter my timezone information and email address for the forum, because the settings in my profile are ignored. I think there's some room for improvement in this registration process.
OK - back to topic. i think i found a bug in the cursor behaviour with duplicate keys. But the behaviour is very consistent, so maybe it's not a bug, but a bad design. (I call it bad because it's totally unexpected and not logical to me).
I insert some dupes with DB_KEYFIRST; then i create a cursor and iterate over all items in the reverse order (!) with DB_PREV (i also tried DB_PREV|DB_NEXT_DUPE) - no keys are shown.
Alternatively:
I insert some dupes with DB_KEYLAST; then i create a cursor and iterate over all items in the reverse order (!) with DB_NEXT (i also tried DB_NEXT|DB_NEXT_DUPE) - no keys are shown.
cursor->c_get returns the error code -30989 (DB_NOTFOUND).
Why is it not possible to traverse duplicates in the reverse order? To me it looks like a bug.
I tested against db 4.5.20.
Regards
Chris
PS: I would love to hear if the bug i reported here: http://groups.google.com/group/comp.databases.berkeley-db/browse_thread/thread/ed471cf6837cb2a6/dd9cda0ad105f401#dd9cda0ad105f401
will be fixed in the next version.
Here's a test program:
int
main(int argc, char **argv)
unsigned i;
int st;
DB *db;
DBT key, record;
DBC cursor, cursor2;
unlink("test.bdb");
st=db_create(&db, 0, 0);
if (st)
error("db_create", st);
st=db->set_flags(db, DB_DUP);
if (st)
error("db->set_flags", st);
st=db->open(db, 0, "test.bdb", 0, DB_BTREE, DB_CREATE, 0);
if (st)
error("db->open", st);
memset(&key, 0, sizeof(key));
memset(&record, 0, sizeof(record));
st=db->cursor(db, 0, &cursor, 0);
if (st)
error("db->cursor", st);
st=db->cursor(db, 0, &cursor2, 0);
if (st)
error("db->cursor", st);
for (i=0; i<LOOPS; i++) {
record.data=&i;
record.size=sizeof(i);
st=cursor->c_put(cursor, &key, &record, DB_KEYFIRST);
st=cursor->c_put(cursor, &key, &record, DB_KEYLAST);
if (st)
error("cursor->c_put", st);
while (!(st=cursor2->c_get(cursor, &key, &record, DB_NEXT))) {
printf("%d\n", *(int *)record.data);
st=cursor->c_close(cursor);
if (st)
error("cursor->c_close", st);
st=db->close(db, 0);
if (st)
error("db->close", st);
return (0);
}st=cursor->c_put(cursor, &key, &record, DB_KEYFIRST);
st=cursor->c_put(cursor, &key, &record, DB_KEYLAST);
if (st)
error("cursor->c_put", st);
please delete the first line, it was a cut and paste error. as i said earlier: insert with KEYLAST, query with NEXT. -
can anyone explain or point me in the direction of the reaoning behind iphotos behaviour with Albums and Smart Albums in 2 situations.
the first, is when using Airpics App and Server, the second when viewing a shared library.
my set up is my iPhoto main DB is on a headless Mini. I also have a MBP on the same wireless network that view and controls the Mini.
in situation 1, when my iPad views my Minis library via thr Airpics apps, it says it only views Albums and Smart Albums, not Events but i can see an item that is an event. it consequently is the last full import i do so is the last import considered an album or smart album?
in 2, when i view my Mini iPhoto DB on my MBP via sharing, lots of Albums and Smart Albums come up from the past that i have deleted. Where is it gettign this info from? is it old stuff from the Minis DB coming through? Or are these current or old stuf from my MBP somehow? when i open the Minis DB on my MBP using Alt-Open and selecting the DB Directly instead of over sharing, these Albums / Smart Albums dont exist. i only see what i expect to see, Currwnt set up..thank you again Terence.
you see ma bit of an iPhoto Guru, Terence and i dont know how else to contact you and i know its niot right to change a thread half way through but do you have any knowledge on the best way to handle this situation:
i have my iphoto on my headless Mini, controlled by MBP remotely and within the same Wi fi network when home. Iphoto over both is unusably slow. How could i combat this? im told not to use the Mini Library via MBP sleected via ALT when opening as if WiFi drops out it can corrupt. If i use the Sharing from the iPhoto.Mini to MBP, iPhoto.Mini must be open therefore iPhoto.Mini on Sharing on MBP cant be editted, only viewed. The one utility that helps is the iPhoto Manager but all that essentially does is copy from one to another over WiFi so i dont see the difference in that app doing it or me manually doing it, TBH id rather manually do it.
And i need to store the iPhoto main DB at home as iTunes and my iPad use it while i'm not there, and its now too big to carry around on a 5 year old MBP.
I like a lot of others seem lost on how to effectively manage and use iPhoto -
Oracle 11g upgrade: How to update stale statistics for sys and sysman?
Hi,
I am in the process of testing Oracle 11g upgrade from Oracle 10.2.0.3. I have run utlu111i.sql on the 10g database.
The utility utlu111i.sql reports about the stale statistics for SYS and SYSMAN components.
I executed dbms_stats.gather_dictionary_stats; dbms_stats.gather_schema_stats('SYS'); and dbms_stats.gather_schema_stats('SYSMAN');
After that the utlu111i.sql still reports the stale statistics for sys and sysman. Does anyone know how to get rid off this warning successfully?
Thanks,
SreekanthDoes anyone know how to get rid off this warning successfully?Just ignore the warnings. Check The Utlu111i.Sql Pre-Upgrade Script Reports Stale Sys Statistics - 803774.1 from Metalink.
-
Strange repaint behaviour with JList & Keyboard actions
Hi everyone,
This is my first post to the forum. You guys have been a great help in the past and I hope to contribute more in the future.
Anyways, I've encountered some strange repainting behaviour with a JDialog that uses a JList and a JButton. The dialog is fairly straight-forward and basically this is how it works (like an open file dialog - yes I'm implementing my own filechooser of sorts):
* JList lists a number of simple items that the user can select from.
* Once a selection is made, an Open button (JButton) is enabled.
* <ENTER> key is registered (using registerKeyboardAction()) with a JPanel which is used as the main content pane in the dialog.
* The user can either click on the Open Button or hit the <ENTER> key which then closes the dialog and runs whatever logic that needs to.
Now, the repaint problem comes in when:
1. User selects an item.
2. User hits the <ENTER> button
3. Dialog closes
4. User brings the dialog back up. This entails reloading the list by removing all elements from the list and adding new ones back in.
5. Now... if the user uses the mouse to select an item lower in the list than what was done in step #1, the selection is made, but the JList doesn't repaint to show that the new selection was made.
I didn't include a code sample because the dialog setup is totally straight-forward and I'm not doing anything trick (I've been doing this kind of thing for years now).
If I remove the key registration for the <ENTER> key from the dialog, this problem NEVER happens. Has anyone seen anything like this? It's a minor problem since my workaround is to use a ListSelectionListener which manually calls repaint() on the JList inside the valueChanged() method.
Just curious,
HuyOh, my bad. I'm actually using a JToggleButton and not a JButton, so the getRootPane().setDefaultButton() doesn't apply because it only takes JButton as an input param. I wonder why it wasn't implemented to take AbstractButton. hmmm.
-
Strange stack behaviour with referenced files
I have just started to notice peculiar behaviour with referenced images within stacks. I have been reviewing last years pictures with a view to clearing out the junk.What I have found is rather alarming in that on clicking a stack to open it all the images within the stack were the wrong pictures, wrong as in taken with a different camera in a different year.The top picture does not seem to be affected.On attempting to find the correct files using 'manage referenced files' all the wrong images are shown as found in the list view with their own file names at the same time the thumbnails (top right hand pane) show the original correct file names but with the wrong thumbnails,Aperture does not realise that it is referencing the wrong files and so will not let me reconnect to the correct files.
Anyone with a similar problem or a cure for this behaviour?Ok I have deleted and rebuilt thumbnails files to no avail.
What appears to be happening is that aperture is using the wrong file-path for the affected pictures.
I keep all pictures arranged by date order so for example where the correct file path for an image would be;
Raid Zero/Pictures/2006/0609/060928/pict3722
Aperture is giving a file path of
Picture Library/2007/0712/071223/_DCS1023
in the manage referenced files pane it shows the wrong path as above, the thumbnail picture is of the wrong file but the thumbnail name and date is correct.
Interestingly since rebuilding the thumbs it is now possible to reconnect to the correct original file whereas before the reconnect option was not available, however it is only possible to do this one file at a time,the re-connect all function does not work presumably because Aperture is not aware that its filepath is wrong.
Oh dear.... Aperture has just crashed,this immediately after reconnecting 6 files and waiting for the files to update to the correct image in viewer mode.
GRRRRRRRRR! -
Strange behaviour with nested overflow headers
Hi there,
I have a strange behaviour with nested overflow headers. I have a hierarchy with some dynamic tables an several headers for the hierarchy steps. When the table entries lead to an page overflow, I would assume, that all parent headers will be shown. But unfortunatley only the last (the deepest in the hierarchy) defined overflow header will be shown. Here you can see a quick example of it. (http://www.nemonon.de/HeaderProblem.xdp)
Any help would be very welcome.
Thanks and greetings,
JoergThat will sure work for some requirements and thanks for the ideas. But this would fail for the second table. Perhaps my example xdp only shows the behaviour of the nested overflow headers and it´s structure is reduced to show that. The real situation is a bit different. The parent containers also contain some other content. The Problem is not the table...I've just chosen it to produce some content and another nested header. Just try to uncheck the overflow header of the table. This will lead to, that the next defined header (in this case "HeaderThree" is shown. When you go on by also disabling that header, the next one will be shown...and so on. This shows, that the headers for their own are functional, but they fail in combination.
Greetings,
Joerg -
Hi,
Oracle 10.2.0.1
Windows xp
SYS> select owner,table_name from dba_tab_statistics
2 where stale_stats='YES'
3 /
OWNER TABLE_NAME
SYS CON$
SYS UNDO$
SYS IND$
210 rows selected.
SYS> ed
Wrote file afiedt.buf
1 declare
2 objlist DBMS_STATS.objecttab;
3 BEGIN
4 DBMS_OUTPUT.ENABLE (500000000);
5 dbms_stats.gather_database_stats(OPTIONS=>'GATHER STALE', CASCADE => TRUE, OBJLIST=>objlist);
6 IF (objlist.COUNT = 0)
7 THEN
8 DBMS_OUTPUT.put_line ('No objects to analyze.');
9 ELSE
10 FOR i IN 1 .. objlist.COUNT
11 LOOP
12 DBMS_OUTPUT.put_line ( objlist (i).objtype
13 || ' '
14 || objlist (i).ownname
15 || '.'
16 || objlist (i).objname
17 || ', partition:'
18 || objlist (i).partname
19 || ', sub part.:'
20 || objlist (i).subpartname
21 );
22 END LOOP;
23 END IF;
24* END;
SYS> /
PL/SQL procedure successfully completed.
SYS> select owner,table_name from dba_tab_statistics
2 where stale_stats='YES'
3 /
OWNER TABLE_NAME
SYS WRH$_FILESTATXS
SYS WRH$_SQLSTAT
SYS WRH$_SYSTEM_EVENT
SYS WRH$_WAITSTAT
SYS WRH$_LATCH
SYS WRH$_LATCH_MISSES_SUMMARY
SYS WRH$_DB_CACHE_ADVICE
SYS WRH$_ROWCACHE_SUMMARY
SYS WRH$_SGASTAT
SYS WRH$_SYSSTAT
SYS WRH$_PARAMETER
OWNER TABLE_NAME
SYS WRH$_SEG_STAT
SYS WRH$_SERVICE_STAT
SYS WRH$_ACTIVE_SESSION_HISTORY
SYS WRH$_TABLESPACE_STAT
SYS WRH$_OSSTAT
SYS WRH$_SYS_TIME_MODEL
SYS WRH$_SERVICE_WAIT_CLASS
18 rows selected.My question is why these objects are still in stale statistics, even though i have just run dbms_stats.gather_database_stats(OPTIONS=>'GATHER STALE'....) command.
Thanks,
regards.I am sorry for mis-interpretation of your question. Here is output of below command :
SYS> select table_name,last_analyzed
2 from dba_tables
3 where owner='SYS'
4 and table_name like 'WRH$%'
5 order by 2;
TABLE_NAME LAST_ANALYZED
WRH$_ACTIVE_SESSION_HISTORY_BL 09-aug-2010 15:32:33
WRH$_BUFFERED_QUEUES 09-aug-2010 15:32:33
WRH$_BUFFERED_SUBSCRIBERS 09-aug-2010 15:32:34
WRH$_COMP_IOSTAT 09-aug-2010 15:32:34
WRH$_CR_BLOCK_SERVER 09-aug-2010 15:32:34
WRH$_CURRENT_BLOCK_SERVER 09-aug-2010 15:32:34
WRH$_DLM_MISC_BL 09-aug-2010 15:32:35
WRH$_DLM_MISC 09-aug-2010 15:32:35
WRH$_DB_CACHE_ADVICE_BL 09-aug-2010 15:32:35
WRH$_FILEMETRIC_HISTORY 09-aug-2010 15:32:36
WRH$_FILESTATXS_BL 09-aug-2010 15:32:36
TABLE_NAME LAST_ANALYZED
WRH$_EVENT_NAME 09-aug-2010 15:32:36
WRH$_INST_CACHE_TRANSFER_BL 09-aug-2010 15:32:37
WRH$_INST_CACHE_TRANSFER 09-aug-2010 15:32:37
WRH$_LATCH_CHILDREN_BL 09-aug-2010 15:32:39
WRH$_LATCH_BL 09-aug-2010 15:32:39
WRH$_LATCH_CHILDREN 09-aug-2010 15:32:39
WRH$_LATCH_NAME 09-aug-2010 15:32:40
WRH$_LATCH_PARENT_BL 09-aug-2010 15:32:40
WRH$_LATCH_PARENT 09-aug-2010 15:32:40
WRH$_LATCH_MISSES_SUMMARY_BL 09-aug-2010 15:32:40
WRH$_METRIC_NAME 09-aug-2010 15:32:41
TABLE_NAME LAST_ANALYZED
WRH$_OSSTAT_NAME 09-aug-2010 15:32:42
WRH$_OSSTAT_BL 09-aug-2010 15:32:42
WRH$_PARAMETER_BL 09-aug-2010 15:32:43
WRH$_PARAMETER_NAME 09-aug-2010 15:32:44
WRH$_ROWCACHE_SUMMARY_BL 09-aug-2010 15:32:46
WRH$_SEG_STAT_BL 09-aug-2010 15:32:50
WRH$_SESSMETRIC_HISTORY 09-aug-2010 15:32:53
WRH$_SERVICE_STAT_BL 09-aug-2010 15:32:53
WRH$_SERVICE_WAIT_CLASS_BL 09-aug-2010 15:32:53
WRH$_SGASTAT_BL 09-aug-2010 15:32:54
WRH$_SQLSTAT_BL 09-aug-2010 15:32:57
TABLE_NAME LAST_ANALYZED
WRH$_STREAMS_CAPTURE 09-aug-2010 15:33:01
WRH$_SYSMETRIC_HISTORY 09-aug-2010 15:33:01
WRH$_STREAMS_APPLY_SUM 09-aug-2010 15:33:01
WRH$_STAT_NAME 09-aug-2010 15:33:01
WRH$_SYSSTAT_BL 09-aug-2010 15:33:05
WRH$_SYSTEM_EVENT_BL 09-aug-2010 15:33:06
WRH$_SYS_TIME_MODEL_BL 09-aug-2010 15:33:07
WRH$_TABLESPACE_STAT_BL 09-aug-2010 15:33:08
WRH$_WAITSTAT_BL 09-aug-2010 15:33:12
WRH$_ACTIVE_SESSION_HISTORY 17-aug-2010 12:42:35
WRH$_BUFFER_POOL_STATISTICS 17-aug-2010 12:42:37
TABLE_NAME LAST_ANALYZED
WRH$_DATAFILE 17-aug-2010 12:42:37
WRH$_DB_CACHE_ADVICE 17-aug-2010 12:42:38
WRH$_ENQUEUE_STAT 17-aug-2010 12:42:38
WRH$_FILESTATXS 17-aug-2010 12:42:38 <<--- I do'nt know how it came i.e. from
WRH$_JAVA_POOL_ADVICE 17-aug-2010 12:42:39 Analyzed command or by dbms_stats --->>
WRH$_INSTANCE_RECOVERY 17-aug-2010 12:42:39
WRH$_LATCH 17-aug-2010 12:42:39
WRH$_LOG 17-aug-2010 12:42:40
WRH$_OPTIMIZER_ENV 17-aug-2010 12:42:40
WRH$_MTTR_TARGET_ADVICE 17-aug-2010 12:42:40
WRH$_LIBRARYCACHE 17-aug-2010 12:42:40
TABLE_NAME LAST_ANALYZED
WRH$_OSSTAT 17-aug-2010 12:42:40
WRH$_LATCH_MISSES_SUMMARY 17-aug-2010 12:42:40
WRH$_PARAMETER 17-aug-2010 12:42:41
WRH$_PGA_TARGET_ADVICE 17-aug-2010 12:42:41
WRH$_PGASTAT 17-aug-2010 12:42:41
WRH$_RULE_SET 17-aug-2010 12:42:42
WRH$_RESOURCE_LIMIT 17-aug-2010 12:42:42
WRH$_PROCESS_MEMORY_SUMMARY 17-aug-2010 12:42:42
WRH$_ROWCACHE_SUMMARY 17-aug-2010 12:42:42
WRH$_SEG_STAT 17-aug-2010 12:42:43
WRH$_SEG_STAT_OBJ 17-aug-2010 12:42:44
TABLE_NAME LAST_ANALYZED
WRH$_SERVICE_NAME 17-aug-2010 12:42:45
WRH$_SERVICE_STAT 17-aug-2010 12:42:45
WRH$_SESS_TIME_STATS 17-aug-2010 12:42:46
WRH$_SGASTAT 17-aug-2010 12:42:46
WRH$_SERVICE_WAIT_CLASS 17-aug-2010 12:42:46
WRH$_SGA 17-aug-2010 12:42:46
WRH$_SGA_TARGET_ADVICE 17-aug-2010 12:42:47
WRH$_SHARED_POOL_ADVICE 17-aug-2010 12:42:47
WRH$_SQLSTAT 17-aug-2010 12:42:47 <<--- But why it is in stale statistics.
WRH$_SQLTEXT 17-aug-2010 12:42:48 Due to, i issued
WRH$_SQL_PLAN 17-aug-2010 12:42:49 "exec DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;" ? --->>
TABLE_NAME LAST_ANALYZED
WRH$_SQL_BIND_METADATA 17-aug-2010 12:42:49
WRH$_SQL_SUMMARY 17-aug-2010 12:42:50
WRH$_STREAMS_POOL_ADVICE 17-aug-2010 12:42:50
WRH$_SYSTEM_EVENT 17-aug-2010 12:42:51
WRH$_SYSMETRIC_SUMMARY 17-aug-2010 12:42:51
WRH$_SYSSTAT 17-aug-2010 12:42:51
WRH$_TABLESPACE_SPACE_USAGE 17-aug-2010 12:42:52
WRH$_SYS_TIME_MODEL 17-aug-2010 12:42:52
WRH$_THREAD 17-aug-2010 12:42:53
WRH$_TEMPSTATXS 17-aug-2010 12:42:53
WRH$_TEMPFILE 17-aug-2010 12:42:53
TABLE_NAME LAST_ANALYZED
WRH$_TABLESPACE_STAT 17-aug-2010 12:42:53
WRH$_WAITSTAT 17-aug-2010 12:42:54
WRH$_WAITCLASSMETRIC_HISTORY 17-aug-2010 12:42:54
WRH$_BG_EVENT_SUMMARY 17-aug-2010 14:58:48
WRH$_SQL_WORKAREA_HISTOGRAM 17-aug-2010 14:58:49
WRH$_UNDOSTAT 17-aug-2010 14:58:49
SYS>Probably, i have left today my daily external readings and by mistake entered into Oracle's internal path....!
regards. -
Strange account behaviour with active sync
Hi all,
i determined a strange behaviour with Active Sync:
I deleted an Account in IDM but in the active sync log i can always see the account information??
Thnx MichaelAlthough, now that you are doing this
My workaround is to use an additional offscreen buffered image, do all of my rendering to that, and then at the end copy that image in one go to the drawGraphics from the buffer strategy.you no longer need to use BufferStrategy.Yes, good point. That didn't occur to me.
The way my implementation is I have a pluggable rendering strategy (i.e. the strategy pattern) where I can choose an implementation that will use the frame's bufferStrategy and drawGraphics, or my own BufferedImage back buffer. In light of what you've said I can easily change my implementation to not use the buffer strategy at all and I should save some rendering time.
I've found all sorts of weird behaviour when I use active rendering and have the OpenGL pipeline enabled (I need the pipeline enabled because I want accelerated images), e.g. even setting rendering hints can sometimes cause drawString to not output any text after the first frame.
I was really using BufferStrategy because I wanted to use hardware page flipping and sync my screen updates to the vertical blanking interval which, as it happens, I can't actually get to work - but that's a problem for another day/topic.
Anyway, I appreciate your follow-up, thanks. -
I'm running Mac OS 10.6
FF4 doesn't display the hand cursor or type cursor in '''all''' flash websites on links/textfieldss when it should. Highly annoying and disgracing all flashcontent.
Also with html websites I experienced strange cursor behaviour with FF4. Although it's hard to reproduce the problem. It's very inconsistent.
I have the feeling in general FF4 should look into it's cursor behaviour on all possible platforms. Mainly Flash.I replicated the typing cursor problem on the popular FB. Just click e.g. "x people like this", you'll see you get a blinking type cursor in the "close" button.
-
Override "crtl + tab" key behaviour with "tab" key for JtextArea .
I am trying to override the "crtl + tab" key behaviour for JTextArea with "tab" key plus add my own action. I am doing the following.
1. Setting Tab as forward traversal key for the JTextArea (the default traversal key from JTexArea is "crtl + Tab").
2. Supplementing the "crtl + Tab" key behaviour with my custom behaviour.
For the point 2 above, I need to get hold of the Action represented by the "crtl + Tab" key so that I could use that and then follow with my own custom action. But the problem is that there is no InputMap entry for "crtl + tab". I dont know how the "crtl + tab" key Action is mapped for JTextArea. I used the following code to search the InputMap.
System.out.println("Searching Input Map");
for (int i = 0; i < 3; i++) {
InputMap iMap = comp.getInputMap(i);
if (iMap != null) {
KeyStroke [] ks = iMap.allKeys();
if (ks != null) {
for (int j = 0;j < ks.length ;j++) {
System.out.println("Key Stroke: " + ks[j]);
System.out.println("Searching Parent Input Map");
for (int i = 0; i < 3; i++) {
InputMap iMap = comp.getInputMap(i).getParent();
if (iMap != null) {
KeyStroke [] ks = iMap.allKeys();
if (ks != null) {
for (int j = 0;j < ks.length ;j++) {
System.out.println("Key Stroke: " + ks[j]);
}In short, I need to get the Action associated with the "crtl + tab" for JTextArea.
regards,
nirvan.There is no Action for Ctrl+TAB. Its a focus traversal key.
Maybe you are looking for
-
Planning Security Filters not reflecting in Essbase filters for 2 of 4 cube
We are using Hyperion Planning with essbase. In essbase we have 4 cubes in essbase (BSCF, EMP, IS, MGN). We would like to add security for the entity dimension as we don't use it currently but we do for other dimensions. I have created a new group (F
-
Apple Video Player stops working
I have a Performa 6500/225 running OS 9.1. I also have a (vintage) Apple Video Conference webcam. Along with that I have an original Apple external hard drive. I have the Apple Video Player software on the internal hard drive. For some reason it seem
-
MIRO / VERSION MANAGEMENT ERROR
HELLO EXPERTS, I am facing following types of error, when I am going for MIRO for any purchase document I am facing this type of error.. Purchasing document 3300001028, version 1 in process Message no. MEDCM014 though the message is not error message
-
How to call a function of BRFplus application to another BRFplus applicatio
Hello Experts, I am new to BRF+ subject. I have a doubt on this. Doubt:- I have two BRF+ application. for example application1 and application2. in application1 i have created a function<zfunc1> and attached one descision table to the fun
-
Is it possible to change the change context id in the company?
Hi, During uploading the enterprise WB there was mistake in the context id maintained for the company. While uploading the workbook, it got created with warning. Now i am not able to change the context id of the company. Is it possible to delete the