PARTITION column question
I am assuming that it is not a good design practice to have a column, that a table is partitioned on, to be nullable.
Any ideas?
Thank u.
Hi,
When we partition a table with values of certain
attributes and when the value of the incoming data is
null then we need to handle it as it may not fall
under any specific category.Since we handle them
seperately it may take more time to load.I think you've said it all right there, you need to do special things when you find NULL values based on your companies business requirements. That is not to say that ALL data loading will be impacted by a NULL value on a partitioned column, just that yours "may" be.
Again, you'd have to test it out (in your specific circumstance) before you can say one way or the other.
Message was edited by:
Tubby
Similar Messages
-
How to drop a partitioned column in a table
Hi All,
I am trying to drop a column which is partitioned into 4 values.
When I use the command
ALTER TABLE TNAME DROP COLUMN CNAME;
I am getting an error message stating that cannot drop a parttioned column.
ALTER TABLE fn_dev_excpt DROP COLUMN THEATER_ID
ERROR at line 1:
ORA-12984: cannot drop partitioning column
Appreciate your help on this,
Thanks,
Madhu K.Hi,
Can you please drop the partition itself using the below command.Dropping of column which is partitioned is not alllowed.
SELECT table_name, partition_name
FROM user_tab_partitions;
ALTER TABLE range_list DROP PARTITION s2k ;
where table_name=range_list ,
partition_name=s2k
Best regards,
Rafi.
http://rafioracledba.blogspot.com/
Edited by: Rafi (Oracle DBA) on Mar 25, 2010 12:58 AM -
Using TRUNC function on partitioned column
Hi All,
I have a table as follows:
STEP1
CREATE TABLE TEST_PARTITION
EMP_ID VARCHAR2(10 BYTE),
CREATE_DT DATE,
EMP_RGN_NM VARCHAR2(2 BYTE),
DSPTCH_CNT NUMBER
PARTITION BY RANGE (CREATE_DT)
SUBPARTITION BY LIST(EMP_RGN_NM)
SUBPARTITION TEMPLATE(
SUBPARTITION RGN_E VALUES ('E') ,
SUBPARTITION RGN_MW VALUES ('MW') ,
SUBPARTITION RGN_SW VALUES ('SW') ,
SUBPARTITION RGN_W VALUES ('W') ,
SUBPARTITION RGN_SE VALUES ('SE')
PARTITION aug2008 VALUES LESS THAN (TO_DATE('01-Sep-2008', 'DD-MON-YYYY')),
PARTITION sep2008 VALUES LESS THAN (TO_DATE('01-Oct-2008', 'DD-MON-YYYY')),
PARTITION oth VALUES LESS THAN (MAXVALUE)
ENABLE ROW MOVEMENT;
STEP 2
insert into TEST_PARTITION values(1000,TO_DATE('01-Aug-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10)
insert into TEST_PARTITION values(1000,TO_DATE('02-Aug-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',20);
insert into TEST_PARTITION values(1000,TO_DATE('03-Aug-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',0);
insert into TEST_PARTITION values(1000,TO_DATE('01-sep-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10);
insert into TEST_PARTITION values(1000,TO_DATE('02-sep-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10);
insert into TEST_PARTITION values(1000,TO_DATE('01-Oct-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10);
insert into TEST_PARTITION values(1001,TO_DATE('01-Aug-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',1);
insert into TEST_PARTITION values(1001,TO_DATE('02-Aug-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',2);
insert into TEST_PARTITION values(1001,TO_DATE('03-Aug-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',0);
insert into TEST_PARTITION values(1001,TO_DATE('01-sep-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10);
insert into TEST_PARTITION values(1001,TO_DATE('02-sep-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',5);
insert into TEST_PARTITION values(1001,TO_DATE('01-Oct-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10);
insert into TEST_PARTITION values(1001,TO_DATE('02-Oct-2008 12:02:02', 'DD-MON-YYYY HH:MI:SS'),'SE',10);
STEP 3
I need to get all the dispatches on 1st of August and hence issue the statement as follows:
select * from test_partition where TRUNC(CREATE_DT)='01-Aug-2008' and EMP_RGN_NM = 'SE'
Using a function over the partitioned column, will it avaoid partition pruning? I mean will it scan all the partitiones instead of going to specific partition?
I need this urgently since we are having a discussion on this in few minutes from now.
Thanks so much
SaffWhat about a function based index ?
SQL> select * from test_partition where TRUNC(CREATE_DT)='01-Aug-2008' and EMP_RGN_NM = 'SE';
Execution Plan
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Pstart| Pstop |
| 0 | SELECT STATEMENT | | 1 | 32 | 4 (0)| | |
| 1 | PARTITION RANGE ALL | | 1 | 32 | 4 (0)| 1 | 3 |
| 2 | PARTITION LIST SINGLE| | 1 | 32 | 4 (0)| KEY | KEY |
| 3 | TABLE ACCESS FULL | TEST_PARTITION | 1 | 32 | 4 (0)| KEY | KEY |
Note
- 'PLAN_TABLE' is old version
SQL> create index idx on test_partition (TRUNC(CREATE_DT));
Index created.
SQL> select * from test_partition where TRUNC(CREATE_DT)='01-Aug-2008' and EMP_RGN_NM = 'SE';
Execution Plan
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Pstart| Pstop |
| 0 | SELECT STATEMENT | | 1 | 32 | 2 (0)| | |
| 1 | TABLE ACCESS BY GLOBAL INDEX ROWID| TEST_PARTITION | 1 | 32 | 2 (0)| ROWID | ROWID |
| 2 | INDEX RANGE SCAN | IDX | 1 | | 1 (0)| | |
Note
- 'PLAN_TABLE' is old version
I need this urgently since we are having a discussion on this in few minutes from now.It is not our problem, but yours.
Nicolas. -
Partitioning Columns for CKIS on DB2 z/OS?
Environment is SAP Netweaver 7.0, R/3 ECC 6.0, DB2 z/OS V9, z/OS 1.10.
Our CKIS table is growing quite large. I've read OSS notes, forum posts, and Data Management Guide for how to control / reduce growth (do not cost for raw material, regular archiving, etc.) but we may still be at risk of hitting 64GB dataset limit. We are planning to partition CKIS to avoid this. The difficulty is choosing good partitioning columns. I've read many SAP OSS notes regarding partitioning in general, but nothing specific for recommendations on the CKIS table.
Has anyone partitioned this table in DB2 z/OS? What columns did you use for partitioning? Any insight is appreciated. Thank you.Joan,
Since this file is growing quite large, why don't you run a batch job at night to reorg that file and any other file that is over a certain size that you specifiy?
Edited by: Mike Ruth on May 6, 2010 4:56 PM -
FORTE M2 - NT partition compilation question
Microsoft (R) 32-Bit Incremental Linker Version 5.00.7022
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.
c:\forte/install/lib/qqDB.lib : fatal error LNK1106: invalid file or disk
cannot seek to 0x38dff853
make[2]: *** [all] Error 1
Any suggestion ? (knowing I got 300 Mo left on drive)
1) Can that offset be translated in bytes ?
2) Does this rely on Oracle Client installation (DB) ?
Thanks,
j-paul gabrielli
sema DTSThanks for the info - installed.
Btw, another point:
can I tell Microsoft that I really like their
installation paths ?
rem
rem Root of Visual Developer Studio Common files.
set VSCommonDir=C:\PROGRA~1\MI017E~1\Common
rem
rem Root of Visual Developer Studio installed files.
rem
set MSDevDir=C:\PROGRA~1\MI017E~1\Common\msdev98
I fear that I cannot consider this as something portable :-/
j-paul
-----Message d'origine-----
De: Adamek, Zenon [mailto:ZAdamekpurolator.com]
Date: mardi 30 mai 2000 15:39
À: 'Jean-Paul.Gabriellisema.fr'
Cc: kamranaminyahoo.com
Objet: RE: (forte-users) FORTE M2 - NT partition compilation question
Hi
You are using the wrong version (5.0) of MSVC++. Forte version M requires
the MSVC++ 6.0 compiler (Linker Version 6.00). See technote 12083.
Zenon Adamek
Purolator
-----Original Message-----
From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
Sent: Tuesday, May 30, 2000 9:34 AM
To: Forte User Group
Subject: (forte-users) FORTE M2 - NT partition compilation question
Microsoft (R) 32-Bit Incremental Linker Version 5.00.7022
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.
c:\forte/install/lib/qqDB.lib : fatal error LNK1106: invalidfile or disk
cannot seek to 0x38dff853
make[2]: *** [all] Error 1
Any suggestion ? (knowing I got 300 Mo left on drive)
1) Can that offset be translated in bytes ?
2) Does this rely on Oracle Client installation (DB) ?
Thanks,
j-paul gabrielli
sema DTS
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe,send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
For the archives, go to: http://lists.xpedior.com/forte-users and use
the login: forte and the password: archive. To unsubscribe, send in a new
email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com -
This is a silly question I'm sure but in terms of calculating the amount column in a report should you just calculate it by taking all the debit / credit balances for all P&L accounts or is there some other method typically used? Also can someone confirm the following?
P&L
debit balance = positive (expenses), credit balance = negative (revenue)
Edited by: Hari Nair Junior on Jun 5, 2009 1:17 AMHI
P&L = Sales/ Revenue Minus Expenses
Yes , debit balance = positive (expenses), credit balance = negative (revenue.
Please note that you need to consider only P&L type account of a list of GL Balances . Other accounts will be of the Balancesheet . Where Debit will be Assets and Credit will be liabilities.
Hope this helps
Regds
Rajiv -
Change partitioned column range in range partioning in 11g
Hi All,
First of all , i am thankful to all of you for your help and suggestions in past. I have one new issue. I am using Oracle 11. There is one new functionality in 11g to do range paritioning while table creation and do daily partitioning.
CREATE TABLE TEST(
DUE_DAY DATE,
ID VARCHAR2(10 BYTE),
NAME VARCHAR2(25 BYTE)
PARTITION BY RANGE (DUE_DAY)
INTERVAL( NUMTODSINTERVAL(1,'DAY'))
PARTITION FIRST VALUES LESS THAN (TO_DATE('2012-02-05 12:00:00', 'SYYYY-MM-DD HH24:MI:SS')));
Now I found i create the partition range wrong so each partition has data from previous day 12:00 afternoon to today 12:00 afternoon instead of daily data from 00:00 am to 11:59 pm because i mentioned wrong range in partition.
I supposed to do like this:
CREATE TABLE TEST(
DUE_DAY DATE,
ID VARCHAR2(10 BYTE),
NAME VARCHAR2(25 BYTE)
PARTITION BY RANGE (DUE_DAY)
INTERVAL( NUMTODSINTERVAL(1,'DAY'))
PARTITION FIRST VALUES LESS THAN (TO_DATE('2012-02-05 00:00:00', 'SYYYY-MM-DD HH24:MI:SS')));
My question is: Is there any way i can change it now as table already has huge data in it, so i cant go with creation of another partitioned table with correct partition range? Please let me know your suggestions and comments to resolve this issue.
Regards
Dev
Edited by: Keen2Learn on Feb 10, 2012 9:12 AMKeen2Learn wrote:
My question is: Is there any way i can change it now as table already has huge data in it, so i cant go with creation of another partitioned table with correct partition range? Please let me know your suggestions and comments to resolve this issue.Nope.
I don't think it is possible to achieve this without creating a new/an intermediate table.
If you can afford down-time, you should create new table, load data into it (in parallel with nologging), drop original table and rename new table.
If you want this switchover as online operation, you can use DBMS_REDEFINITION as follows:
SQL> select * from v$version ;
BANNER
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
SQL> CREATE TABLE TEST(
2 DUE_DAY DATE,
3 ID VARCHAR2(10 BYTE),
4 NAME VARCHAR2(25 BYTE)
5 )
6 PARTITION BY RANGE (DUE_DAY)
7 INTERVAL( NUMTODSINTERVAL(1,'DAY'))
8 (
9 PARTITION FIRST VALUES LESS THAN (TO_DATE('2012-02-01 12:00:00', 'SYYYY-MM-DD HH24:MI:SS')));
Table created.
SQL> insert into test(due_day, id) select (trunc(sysdate, 'MM')+(10/24)) + ((5*level)/24), level from dual connect by level <= 12 ;
12 rows created.
SQL> commit ;
Commit complete.
SQL> exec dbms_stats.gather_table_stats(user, 'TEST');
PL/SQL procedure successfully completed.
SQL> select partition_name, num_rows from user_tab_partitions where table_name = 'TEST' ;
PARTITION_NAME NUM_ROWS
FIRST 0
SYS_P115 5
SYS_P116 4
SYS_P117 3
SQL> SELECT * FROM TEST PARTITION (FIRST) ;
no rows selected
SQL> SELECT * FROM TEST PARTITION (SYS_P115) ;
DUE_DAY ID NAME
01-FEB-2012 15:00:00 1
01-FEB-2012 20:00:00 2
02-FEB-2012 01:00:00 3
02-FEB-2012 06:00:00 4
02-FEB-2012 11:00:00 5
SQL> SELECT * FROM TEST PARTITION (SYS_P116);
DUE_DAY ID NAME
02-FEB-2012 16:00:00 6
02-FEB-2012 21:00:00 7
03-FEB-2012 02:00:00 8
03-FEB-2012 07:00:00 9
SQL> SELECT * FROM TEST PARTITION (SYS_P117);
DUE_DAY ID NAME
03-FEB-2012 12:00:00 10
03-FEB-2012 17:00:00 11
03-FEB-2012 22:00:00 12
SQL> exec DBMS_REDEFINITION.CAN_REDEF_TABLE('hr','TEST',DBMS_REDEFINITION.CONS_USE_ROWID);
PL/SQL procedure successfully completed.
SQL> CREATE TABLE INTR_TEST(
2 DUE_DAY DATE,
3 ID VARCHAR2(10 BYTE),
4 NAME VARCHAR2(25 BYTE)
5 )
6 PARTITION BY RANGE (DUE_DAY)
7 INTERVAL( NUMTODSINTERVAL(1,'DAY'))
8 (
9 PARTITION FIRST VALUES LESS THAN (TO_DATE('2012-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS')));
Table created.
SQL> exec DBMS_REDEFINITION.START_REDEF_TABLE('hr', 'TEST', 'INTR_TEST', 'due_day due_day, id id, name name', dbms_redefinition.cons_use_rowid);
PL/SQL procedure successfully completed.
SQL> exec DBMS_REDEFINITION.SYNC_INTERIM_TABLE('hr', 'TEST', 'INTR_TEST');
PL/SQL procedure successfully completed.
SQL> exec DBMS_REDEFINITION.FINISH_REDEF_TABLE('hr', 'TEST', 'INTR_TEST');
PL/SQL procedure successfully completed.
SQL> exec dbms_stats.gather_table_stats(user, 'TEST');
PL/SQL procedure successfully completed.
SQL> select partition_name, num_rows from user_tab_partitions where table_name = 'TEST' ;
PARTITION_NAME NUM_ROWS
FIRST 0
SYS_P118 2
SYS_P119 5
SYS_P120 5
SQL> SELECT * FROM TEST PARTITION (FIRST) ;
no rows selected
SQL> SELECT * FROM TEST PARTITION (SYS_P118) ;
DUE_DAY ID NAME
01-FEB-2012 15:00:00 1
01-FEB-2012 20:00:00 2
SQL> SELECT * FROM TEST PARTITION (SYS_P119);
DUE_DAY ID NAME
02-FEB-2012 01:00:00 3
02-FEB-2012 06:00:00 4
02-FEB-2012 11:00:00 5
02-FEB-2012 16:00:00 6
02-FEB-2012 21:00:00 7
SQL> SELECT * FROM TEST PARTITION (SYS_P120);
DUE_DAY ID NAME
03-FEB-2012 02:00:00 8
03-FEB-2012 07:00:00 9
03-FEB-2012 12:00:00 10
03-FEB-2012 17:00:00 11
03-FEB-2012 22:00:00 12
SQL> select dbms_metadata.get_ddl('TABLE','TEST') from dual ;
DBMS_METADATA.GET_DDL('TABLE','TEST')
CREATE TABLE "HR"."TEST"
( "DUE_DAY" DATE,
"ID" VARCHAR2(10),
"NAME" VARCHAR2(25)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS"
PARTITION BY RANGE ("DUE_DAY") INTERVAL (NUMTODSINTERVAL(1,'DAY'))
(PARTITION "FIRST" VALUES LESS THAN (TO_DATE(' 2012-02-01 00:00:00', 'SYYYY-MM
-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN')) SEGMENT CREATION DEFERRED
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE( BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "USERS" )
SQL> drop table intr_test purge ;
Table dropped.
SQL> drop table test purge ;
Table dropped.
SQL> spool offHope this helps. -
How to find the partition column in a partitioned table
Hi,
I have a partition table and I need to find out what column was used to partition the table. Range partition.
Thanks,
Maria Sanchezselect *
from dba_part_key_columns -
Can somone explain the role of the selection of a Dimention in a Column as opposed to a selection in a Row. Does the "column selection" create the repetitive area for all tranasactions to be shown?
When I have Dimentions selelcted in a Row, how do I decide on which Column to apply a Dimention?
Anybody knows od any learning material about this topic?
Thank you
Robert
PS The reason for my question is that I always start designing my XLR report by applying Dimentions, Light Dimentions and Measures in a Row and I get stuck because I need to set a Dimention for a Column in order to show values for a PeriodHi Robert,
You can access it through the Documentation Resource center as well.
Please go to the following:
http://service.sap.com/smb/sbo/documentation
(If itu2019s not work directly then please refer to: http://service.sap.com -> SAP Channel Partner Portal -> /login/ -> Solutions -> SAP Business One -> Support -> Documentation Resource Center)
Select SAP Business One Add-Ons 2007 > XL Reporter
hope it helps,
Regards,
Ladislav -
V$SESSION columns question
Hi Gurus
I have a question regarding of the meaning of some columns in the V$SESSION table. I wonder what does the values in the following columns means?
ROW_WAIT_O
ROW_WAIT_F
ROW_WAIT_B
TADDR
LOCKWAIT
I find out that these columns always have some values when my users unable to log into the application. Even I kill the session that have lockwait, other users are still unable to connect and it happens around once every 2 months.
Thanks for the answer in advanced
OuiV$SESSION
This view lists session information for each current session.
Column Datatype Description
SADDR
RAW(4 | 8)
Session address
SID
NUMBER
Session identifier
SERIAL#
NUMBER
Session serial number. Used to identify uniquely a session's objects. Guarantees that session-level commands are applied to the correct session objects if the session ends and another session begins with the same session ID.
AUDSID
NUMBER
Auditing session ID
PADDR
RAW(4 | 8)
Address of the process that owns this session
USER#
NUMBER
Oracle user identifier
USERNAME
VARCHAR2(30)
Oracle username
COMMAND
NUMBER
Command in progress (last statement parsed); for a list of values, see Table 3-3. These values also appear in the AUDIT_ACTIONS table.
OWNERID
NUMBER
The column contents are invalid if the value is 2147483644. Otherwise, this column contains the identifier of the user who owns the migratable session.
For operations using Parallel Slaves, interpret this value as a 4-byte value. The low-order 2 bytes of which represent the session number, and the high-order bytes the instance ID of the query coordinator.
TADDR
VARCHAR2(8)
Address of transaction state object
LOCKWAIT
VARCHAR2(8)
Address of lock waiting for; NULL if none
STATUS
VARCHAR2(8)
Status of the session: ACTIVE (currently executing SQL), INACTIVE, KILLED (marked to be killed), CACHED (temporarily cached for use by Oracle*XA), SNIPED (session inactive, waiting on the client)
SERVER
VARCHAR2(9)
Server type (DEDICATED| SHARED| PSEUDO| NONE)
SCHEMA#
NUMBER
Schema user identifier
SCHEMANAME
VARCHAR2(30)
Schema user name
OSUSER
VARCHAR2(30)
Operating system client user name
PROCESS
VARCHAR2(9)
Operating system client process ID
MACHINE
VARCHAR2(64)
Operating system machine name
TERMINAL
VARCHAR2(30)
Operating system terminal name
PROGRAM
VARCHAR2(48)
Operating system program name
TYPE
VARCHAR2(10)
Session type
SQL_ADDRESS
RAW(4)
Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed
SQL_HASH_VALUE
NUMBER
Used with SQL_ADDRESS to identify the SQL statement that is currently being executed
PREV_SQL_ADDR
RAW(4)
Used with PREV_HASH_VALUE to identify the last SQL statement executed
PREV_HASH_VALUE
NUMBER
Used with SQL_HASH_VALUE to identify the last SQL statement executed
MODULE
VARCHAR2(48)
Contains the name of the currently executing module as set by calling the DBMS_APPLICATION_INFO.SET_MODULE procedure
MODULE_HASH
NUMBER
The hash value of the above MODULE
ACTION
VARCHAR2(32)
Contains the name of the currently executing action as set by calling the DBMS_APPLICATION_INFO.SET_ACTION procedure
ACTION_HASH
NUMBER
The hash value of the above action name
CLIENT_INFO
VARCHAR2(64)
Information set by the DBMS_APPLICATION_INFO.SET_CLIENT_INFO procedure
FIXED_TABLE_SEQUENCE
NUMBER
This contains a number that increases every time the session completes a call to the database and there has been an intervening select from a dynamic performance table. This column can be used by performance monitors to monitor statistics in the database. Each time the performance monitor looks at the database, it only needs to look at sessions that are currently active or have a higher value in this column than the highest value that the performance monitor saw the last time. All the other sessions have been idle since the last time the performance monitor looked at the database.
ROW_WAIT_OBJ#
NUMBER
Object ID for the table containing the ROWID specified in ROW_WAIT_ROW#
ROW_WAIT_FILE#
NUMBER
Identifier for the datafile containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
ROW_WAIT_BLOCK#
NUMBER
Identifier for the block containing the ROWID specified in ROW_WAIT_ROW#. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
ROW_WAIT_ROW#
NUMBER
The current ROWID being locked. This column is valid only if the session is currently waiting for another transaction to commit and the value of ROW_WAIT_OBJ# is not -1.
LOGON_TIME
DATE
Time of logon
LAST_CALL_ET
NUMBER
The last call
PDML_ENABLED
VARCHAR2(3)
This column has been replaced by column PDML_STATUS
FAILOVER_TYPE
VARCHAR2(13)
Indicates whether and to what extent transparent application failover (TAF) is enabled for the session:
NONE - failover is disabled for this session
SESSION - the client is able to fail over its session following a disconnect
SELECT - the client is able to fail over queries in progress as well
See Also:
Oracle9i Database Concepts for more information on TAF
Oracle9i Net Services Administrator's Guide for information on configuring TAF
FAILOVER_METHOD
VARCHAR2(10)
Indicates the transparent application failover method for the session:
NONE - failover is disabled for this session
BASIC - the client itself reconnects following a disconnect
PRECONNECT - the backup instance can support all connections from every instance for which it is backup
FAILED_OVER
VARCHAR2(3)
Indicates (YES|NO) whether the session is running in failover mode and failover has occurred
RESOURCE_CONSUMER_GROUP
VARCHAR2(32)
Name of the session's current resource consumer group
PDML_STATUS
VARCHAR2(8)
If ENABLED, the session is in a PARALLEL DML enabled mode. If DISABLED, PARALLEL DML enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DML.
PDDL_STATUS
VARCHAR2(8)
If ENABLED, the session is in a PARALLEL DDL enabled mode. If DISABLED, PARALLEL DDL enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL DDL.
PQ_STATUS
VARCHAR2(8)
If ENABLED, the session is in a PARALLEL QUERY enabled mode. If DISABLED, PARALLEL QUERY enabled mode is not supported for the session. If FORCED, the session has been altered to force PARALLEL QUERY.
CURRENT_QUEUE_DURATION
NUMBER
If queued (1), the current amount of time the session has been queued. If not currently queued, value is 0.
CLIENT_IDENTIFIER
VARCHAR2(64)
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch3171.htm#1122127
Joel P�rez -
I'm investigating partitioning one or more tables in our schema to see if that will speed performance for some of our queries. I'm wondering if the following structure is viable, however.
Table structure - this is a snippet of relevant info:
CREATE TABLE ASSET (
asset NUMBER, -- primary key
assetType NUMBER,
company NUMBER,
created SYSTIMESTAMP,
modified SYSTIMESTAMP
lobData CLOB
...)The current table has ~ 60 million rows. All queries are filtered at least on the company column, and possibly by other criteria (never/rarely by date). The number of rows a company can have in this table can vary greatly - the largest company has about 2.4 million, and the smallest about 1000. This table is joined by several other tables via the primary key, but rarely queried itself by the primary key (no range pkey queries exist).
I'm thinking of partitioning by company (range) - however, I'm not sure if the uneven distribution of company data makes that an effective partition. The number of companies is relatively small (~6000 ) and does not grow significantly (perhaps 1-2 new companies a day). The data in this table is pretty active - ~200k deletes/inserts a day.
Does it make sense to range partition by company? I was thinking of partitioning per company (1 partition per company) - but the partitions would be quite different in size. Is there a limit to the number of partitions a table can have (is it 64k?). Does partitioning even make sense for this table structure?
Any thoughts or insights would be most helpful - thank you.kellypw wrote:
I'm investigating partitioning one or more tables in our schema to see if that will speed performance for some of our queries. I'm wondering if the following structure is viable, however.
Table structure - this is a snippet of relevant info:
CREATE TABLE ASSET (
asset NUMBER, -- primary key
assetType NUMBER,
company NUMBER,
created SYSTIMESTAMP,
modified SYSTIMESTAMP
lobData CLOB
...)The current table has ~ 60 million rows. All queries are filtered at least on the company column, and possibly by other criteria (never/rarely by date). The number of rows a company can have in this table can vary greatly - the largest company has about 2.4 million, and the smallest about 1000. This table is joined by several other tables via the primary key, but rarely queried itself by the primary key (no range pkey queries exist).
I'm thinking of partitioning by company (range) - however, I'm not sure if the uneven distribution of company data makes that an effective partition. The number of companies is relatively small (~6000 ) and does not grow significantly (perhaps 1-2 new companies a day). The data in this table is pretty active - ~200k deletes/inserts a day.
The version of Oracle is very important.
Partitioning on company looks like a sensible option since you ALWAYS filter on company - but list partitioning makes more sense than range partitioning because it is more "truthful"
Unfortunately it looks, at first sight, as if you have a logical error in the design - I'm wondering if the company should be part of the primary key of the asset. If you partition by company you won't be able to do partition-wise joins to the other tables when joining on primary key (I've interpreted your statement to mean that the asset is the foreign key in other tables) unless you happen to be running 11g and use "ref partitioning".
It's hard to predict the impact of 6,000 partitions, especially with such extreme variations in size. With list partitioning it's worth thinking about putting each large company into its own partition, but using a small number of partitions (or even just the default partition) for all the rest.
Regards
Jonathan Lewis -
Myfaces t:columns question...please help me...
Hi guys,
i've tried lots of solutions,but i think i've find right solution to solve my question.
I have to create a datatable with a fixed number of columns and other dynamic columns.
I've rendered it using t:columns of Myfaces and it works fine.
It's a piece of jsp page
<t:dataTable
value="#{biosamplesTable.biosamples}"
var="biosampleItem"
binding="#{biosamplesTable.biosampleDataTable}" >
<h:column >
<f:facet name="header">
<h:outputText value="Organism" />
</f:facet>
<h:selectOneMenu value="#{biosampleItem.organism}">
<f:selectItems value="#{getDropList.selectOrganism}"/>
</h:selectOneMenu>
etc..etc..
<t:columns value="#{biosamplesTable.columns}" var="col">
<f:facet name="header">
<h:outputText value="Nuova" />
</f:facet>
<h:inputText value="#{biosampleItem.column}" />
</t:columns>
<h:column>
<f:facet name="header">
<h:outputText value="Actions" />
</f:facet>
<h:commandButton
value="Invia dati biosample" actionListener="#{biosamplesTable.editBiosample}" id="editBiosample">
</h:commandButton>
</h:column>
</t:dataTable>
</h:form>
} My only question is:
I'm able to retrieve the h:column values for each row,i do it in editBiosample method
public void editBiosample(ActionEvent event) throws SQLException {
setBiosampleItem((Biosample) getBiosampleDataTable().getRowData());
try {
if (conn != null) {
Experiment exp = (Experiment) ViewUtils.eval("#{experiment}");
PreparedStatement pst3 = null;
pst3 = conn
.prepareStatement("INSERT INTO campione(id_,organismo,protocollotrattamento,metodoestrazione,tipoamplificazione,protocolloibridazione,protocollomarcatura) VALUES(?,?,?,?,?,?,?)");
pst3.setInt(1, exp.getAutoKey());
pst3.setString(2, getBiosampleItem().getOrganism());
pst3.setString(3, getBiosampleItem().getTreatmentProtocol());
etc...
pst3.executeUpdate();
pst3.close();
catch (Exception e) {
e.printStackTrace();
}now i have to retrieve the h:columns values for each row,how can i do it?
Please help me,i've started so but there is some error,each values is null!!
For generating columns i've used..
public List getColumns() throws Exception {
if (load2 == 0) {
for (int i = 0; i < 3; i++) {
UIOutput input = new UIInput();
ValueBinding myItem =
FacesContext
.getCurrentInstance()
.getApplication()
.createValueBinding("#{biosampleItem[" + i + "]}");
input.setValueBinding("value", myItem);
UIColumn column = new UIColumn();
column.getChildren().add(input);
columns.add(column);
load2=1;
else this.columns=columns;
// Reload after every request.
return columns;
}what's wrong?
Please help me,i need to solve my problem...
thanks in advance...
Message was edited by:
giubat
Message was edited by:
giubatOk, you have more than one frame and when you make your dialog, it is only modal on one frame.
Not sure how to make a workaround for that. That would proably require that when another frame got the focus, it should check if any of the frames has a modal dialog visible, and if that is the case, it should move the dialog to the front (dialog.toFront()). -
Query to find the partitioned column(s) of a table.
Guys,
I've a partitioned table.I need to know the column(s) of the table which has been selected for partitioning.
But none of the below tables below provide me the info:
DBA_TABLES
DBA_TAB_PARTITIONS
DBA_TAB_SUBPARTITIONS
Thoughts plz??
Regards,
BhagatGuys,
I've an index which is partitioned.
From the resultset below,Would someone help me understand the range of values which each of the partition would hold?
SQL> SELECT INDEX_NAME,PARTITION_NAME,HIGH_VALUE FROM DBA_IND_PARTITIONS WHERE INDEX_NAME='FACT_605';
INDEX_NAME PARTITION_NAME HIGH_VALUE
FACT_605 P_A8_2114 'A8', 2114, MAXVALUE
FACT_605 P_G8_2114 'G8', '2114', MAXVALUE
FACT_605 Z_LAST_PARTITION MAXVALUE, MAXVALUE, MAXVALUE
Thanks,
Bhagat -
I have a couple of questions about ApplyOTLChanges and PurgeOTLChangeFile Esscmds.With ApplyOTLchangeFile you have to name the chg files that you want to apply. The only thing is that the name of this file seems to change. I have two sources, 1 target (no overlap in partitions) and the chg files in the target are named ess00001.chg and ess00001.chg one time and then can be ess00002.chg and ess00004.chg the next. What is the logic for the numbering of these chg files in the target?On the purgeOTLchangeFile command, I always seem to get the error "no matching region defined for the specified server,app,db: [servername,appname,dbname]" error 1023001.Can anyone shed any light?Thanks
The number is the partition number in the app, (look in Partition Manager). The same partition can have diff numbers when viewed from diff apps.
-
Hey, I have a question. How can I partition my HD so that I can have 2 partitions (one for Mac and one for Linux) without having to reformat and delete my Mac Disk?
TIAHi!, There are a couple of programs that purport to do that. One is DiskStudio from Micromat and iPartition
Tom
Maybe you are looking for
-
Webutil client_get_file_name does not display the select file dialog box
hi all, i'm using oracle forms : Forms [32 Bit] Version 10.1.2.0.2 (Production) Oracle Database 10g Release 10.2.0.1.0 - 64bit Production Oracle Toolkit Version 10.1.2.0.2 (Production) PL/SQL Version 10.1.0.4.2 (Production) Oracle Procedure Builder V
-
Hi, in 11.2.0.3 I run a query with hint and withou but the executed query plan from DBMS_XPLAN.DISPLAY_CURSOR are the same (any idea) even if i flushed shared pool : SQL_ID gh0mjh2ap7maf, child number 0
-
Want to play website videos on my Samsung Galaxy S5 smartphone
How do you play website video on Samsung Galaxy S5 smartphone? Device doesn't support flash player, what options are available? Help me please! Thanks
-
Image Processor keeps crashing CS2
This started this summer. If I try to use the image processor either from bridge or from the automate menu, PS immediately closes. I've uninstalled and reinstalled more than a few times. I've also deleted preferences, but can't solve this problem. Wo
-
HT1386 my iphone doesn't show up in itunes. Please help
My Iphone doesn't show up or sync with Itunes. can anyone help??