Define Row Size in Table creation
Hi All,
I want to create a table in my database.
How to define the rowsize for that table.
What are the things to be taken care for creating a new table.
Thanks in Advance
Cheers,
Moorthy.GS
Roughly, rowsize for the table is size of all combined columns in the table. But runtime row size may vary depending on the data in the column.
e.g. a VARCHAR2(20) field will give 20 units to above addition but data "a" in this field will give 1 unit to above addition
Message was edited by:
satishkandi
Similar Messages
-
Calculate row size of table with clob
Hi
I have a table which has clob data type, how can I calculate size of each row ?Mark D Powell wrote:
What version of Oracle?
Are you interested in the combined row size of the base table row and the Lob segment or just the row size of the base table row? Or just the lob segment size?
Are you asking about a specific row or just the average for the entire table?
Depending on your version of Oracle dbms_stats which calculates the avg_row_len for the base table when lob columns are present incorrectly.
HTH -- Mark D Powell --I need row size for every record in the table, the table itself is only 1GB, can be combined size or lob size relevant to each record in a table it doesnt matter.
v11.2
thanks -
Hi,
How can I find row size of a table ?
In My table has millinon's of data inserted.
thanks in advance.Here is a PL/SQL procedure to calculate average row length. It works, but it has an issue because you cannot use VSIZE on BLOB data columns, and it could be re-done using dbms_lob.getlength(BLOB_COLUMN) to get an accurate average_row_length for rows with a BLOB column..
To find the actual size of a row I did this:
/* TABLE */
select
3 + avg(nvl(dbms_lob.getlength(CASE_DATA),0)+1 +
nvl(vsize(CASE_NUMBER ),0)+1 +
nvl(vsize(CASE_DATA_NAME),0)+1 +
nvl(vsize(LASTMOD_TIME_T),0)+1
) "Total bytes per row"
from
arch_case_data
where
case_number = 301;
Total bytes per row
3424
/* INDEX */
select sum(COLUMN_LENGTH)
from dba_ind_columns
where TABLE_NAME = 'ARCH_CASE_DATA';
SUM(COLUMN_LENGTH)
22
So, the total bytes used is 3424+22. -
Get Error while update the User defined row table through DSK Code
Hi experts,
I have got an error while updating the user row defined table.
Error is - "Invalid row"
I have created one master table "@CBF_FARM " and Child table "@CBF_FAR1"
First i inserted 5 record in the child table so in my my child table there are 5 Line id (1,2,3,4,5 one for each row).
after that i delete 2 rows (3rd & 4th row) from child table now in my child table there are 3 rows( Line id 1, 2, 5). Please See attachment.
Now i am updating the last record of child table through Code (Line id is 5) from other form, then i got error invalid row.
Following Code used for updating the user defined child table.
SAPbobsCOM.GeneralService oGeneralService1 = null;
SAPbobsCOM.GeneralData oGeneralData1 = null;
SAPbobsCOM.GeneralDataParams oGeneralParams1 = null;
SAPbobsCOM.CompanyService sCmp1 = null;
SAPbobsCOM.GeneralData oChild1 = null;
SAPbobsCOM.GeneralDataCollection oChildren1 = null;
sCmp1 = clsAddOn.LDNA_Company.GetCompanyService();
oGeneralService1 = sCmp1.GetGeneralService("CBF_FARM");
// Get UDO record
oGeneralParams1 = ((SAPbobsCOM.GeneralDataParams)(oGeneralService1.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams)));
oGeneralParams1.SetProperty("Code", oForm.Items.Item("edtFarmCd").Specific.Value);
oGeneralData1 = oGeneralService1.GetByParams(oGeneralParams1);
// Add lines on UDO Child Table
oChildren1 = oGeneralData1.Child("CBF_FAR1");
// Create data for rows in the child table
SAPbouiCOM.Item oItem = oForm.Items.Item("cmbShed");
oCombo = oItem.Specific;
string ShedCode = oCombo.Selected.Value;
ldna_Rec = clsAddOn.LDNA_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
string strQuery1 = "select LineId from [@CBF_FAR1] where U_ShedCd = " + ShedCode;
ldna_Rec.DoQuery(strQuery1);
oChild1 = oChildren1.Item(ldna_Rec.Fields.Item("LineId").Value - 1);
oChild1.SetProperty("U_Status", "Ready For Schedule");
//Update the UDO Record
oGeneralService1.Update(oGeneralData1);
Please Help me it is an urgent requirement,
-Regards
Vikashi.
Error is - "Invalid row"
Now i am updating the last record of child table through Code (Line id is 5) from other form, then i got error invalid row.
As per my knowledge
What i understood is you have 5 lines and you are going to be update 5th line
am i correct..
while u are updating the line in child table
you have to consider like this..
line number u have to update like
1 0
2 1
3 2
4 3
5 4
which means in child table treat
line 1 as 0
line 2 as 1
line 5 as 4
If you want to update the line 5 u have to mention 4 th line -
Hi All,
I have two table with similar structure and data, one is on disk and the other is in memory. I somehow calculated the difference between a row size of on disk and in memory table and found that the row size of in memory is 700 Bytes more than the disk based
tables.
aaAs others mentioned, memory optimized tables and disk based tables have different structures in SQL Server 2014.
For memory optimized tables, the number of indexes on table also contribute to the size. You can calculate the exact size of rows and thus the table size using the formula given in the below articles
Table and Row Size in Memory-Optimized Tables
Estimate the Size of a Table
Krishnakumar S -
I have a Create button, and below that 2 tables namely Order and Order_Item. I have created a composition association, and a view link.
How can I perform creation of rows in both tables with a single click of Create button?You can simply use a method in your application Module / Business Services Layer which is exposed to the ADF UI and bound to your create button.
public void createRowInMultipleTables(){
ViewRowImpl vo1Row =<SomeVO1>.createRow();
ViewRowImpl vo2Row =<SomeVO2>.createRow();
//set some default values if needed by vo1Row.setAttribute(<name>,<value>); etc
<SomeVO1>.insertRow(vo1Row);
<SomeVO2>.insertRow(vo2Row);
//commit if needed
} -
Can anyone tell me solution for following error.
Error Desc. : - table row size is larger than 176 cm.
please reply.Hi, and welcome to SDN !
to help other users to better understand your problem you should try to give more details about the context in which the error occurred.
Moreover, are you sure this is the right section (ABAP Objects) for this kind of problems?
It seems to be a printout problem, but im not sure
Best regards,
Manuel -
How to computer the row size of a table
Hi
How can i compute the row size of a table. My general Idea is
create table emp(
empno number(4),
ename varchar2(10),
hire_date date,
update_yn timestamp);
the character set is UFT8
how can i compute the size of this table
thanksHi,
for Avg. row length see this
SQL> desc dba_tables
Name Null? Type
OWNER NOT NULL VARCHAR2(30)
TABLE_NAME NOT NULL VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(30)
CLUSTER_NAME VARCHAR2(30)
IOT_NAME VARCHAR2(30)
PCT_FREE NUMBER
PCT_USED NUMBER
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NUMBER
MAX_EXTENTS NUMBER
PCT_INCREASE NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
LOGGING VARCHAR2(3)
BACKED_UP VARCHAR2(1)
NUM_ROWS NUMBER
BLOCKS NUMBER
EMPTY_BLOCKS NUMBER
AVG_SPACE NUMBER
CHAIN_CNT NUMBER
AVG_ROW_LEN NUMBER
AVG_SPACE_FREELIST_BLOCKS NUMBER
NUM_FREELIST_BLOCKS NUMBER
DEGREE VARCHAR2(10)
INSTANCES VARCHAR2(10)
CACHE VARCHAR2(5)
TABLE_LOCK VARCHAR2(8)
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
PARTITIONED VARCHAR2(3)
IOT_TYPE VARCHAR2(12)
TEMPORARY VARCHAR2(1)
SECONDARY VARCHAR2(1)
NESTED VARCHAR2(3)
BUFFER_POOL VARCHAR2(7)
ROW_MOVEMENT VARCHAR2(8)
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
DURATION VARCHAR2(15)
SKIP_CORRUPT VARCHAR2(8)
MONITORING VARCHAR2(3)
CLUSTER_OWNER VARCHAR2(30)
DEPENDENCIES VARCHAR2(8)
SQL> Regards! -
Creation of new Row in Tree Table
We are creating a new row using CreateListener which is written in Bean, after creating the row, we are adding it to the iterator and the new row is not getting highlighted and focus is not in new row in the table by default. It takes an click to make it editable. 'setActiveRowKey()' method didnot help here which is used in the af:table component to achieve the same.
Any pointers regarding this issue would be helpful..
Thanks,
ShruthiHi Max:
According to what you described, it's really wierd. An ADF table is Surrounded by a panelCollection or not doesn't matter in terms of CreateInsert operations, I think. Also each step you said OK doesn't mean that step is 100% problem free towards your final goal. For example, when you drag and drop and ADF table onto a JSF page, you forget to turn on 'row selection', it will be OK, you won't get any error message, but later on when you find that you need to turn it back on, you have to go back to JSF page source, to manually added codes to do so.
The simpliest solution and quickest one is to reinitiate a clean ADF project and do it all over again. It's simple straightforward in my view. Probably don't use PanelCollection first, just drop your ADF table on a form, or af:panelForm, but make sure your table and 'CreateInsert' button is surrounded by a form, otherwise, when you click on 'CreateInsert', nothing will happen. When everything works, then probably back it up and replace your form or af:panelForm with panelCollection. See how it goes.
Thanks,
Alex -
I've recently completed a database upgrade from 10.2.0.3 to 11.2.0.1 using the DBUA.
I've since encountered a slowdown when running a script which drops and recreates a series of ~250 tables. The script normally runs in around 19 seconds. After the upgrade, the script requires ~2 minutes to run.
By chance has anyone encountered something similar?
The problem may be related to the behavior of an "after CREATE on schema" trigger which grants select privileges to a role through the use of a dbms_job call; between 10g and the database that was upgraded from 10G to 11g. Currently researching this angle.
I will be using the following table creation DDL for this abbreviated test case:
create table ALLIANCE (
ALLIANCEID NUMBER(10) not null,
NAME VARCHAR2(40) not null,
CREATION_DATE DATE,
constraint PK_ALLIANCE primary key (ALLIANCEID)
using index
tablespace LIVE_INDEX
tablespace LIVE_DATA;When calling the above DDL, an "after CREATE on schema" trigger is fired which schedules a job to immediately run to grant select privilege to a role for the table which was just created:
create or replace
trigger select_grant
after CREATE on schema
declare
l_str varchar2(255);
l_job number;
begin
if ( ora_dict_obj_type = 'TABLE' ) then
l_str := 'execute immediate "grant select on ' ||
ora_dict_obj_name ||
' to select_role";';
dbms_job.submit( l_job, replace(l_str,'"','''') );
end if;
end;
{code}
Below I've included data on two separate test runs. The first is on the upgraded database and includes optimizer parameters and an abbreviated TKPROF. I've also, included the offending sys generate SQL which is not issued when the same test is run on a 10g environment that has been set up with a similar test case. The 10g test run's TKPROF is also included below.
The version of the database is 11.2.0.1.
These are the parameters relevant to the optimizer for the test run on the upgraded 11g SID:
{code}
SQL> show parameter optimizer
NAME TYPE VALUE
optimizer_capture_sql_plan_baselines boolean FALSE
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 11.2.0.1
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
optimizer_use_invisible_indexes boolean FALSE
optimizer_use_pending_statistics boolean FALSE
optimizer_use_sql_plan_baselines boolean TRUE
SQL> show parameter db_file_multi
NAME TYPE VALUE
db_file_multiblock_read_count integer 8
SQL> show parameter db_block_size
NAME TYPE VALUE
db_block_size integer 8192
SQL> show parameter cursor_sharing
NAME TYPE VALUE
cursor_sharing string EXACT
SQL> column sname format a20
SQL> column pname format a20
SQL> column pval2 format a20
SQL> select sname, pname, pval1, pval2 from sys.aux_stats$;
SNAME PNAME PVAL1 PVAL2
SYSSTATS_INFO STATUS COMPLETED
SYSSTATS_INFO DSTART 03-11-2010 16:33
SYSSTATS_INFO DSTOP 03-11-2010 17:03
SYSSTATS_INFO FLAGS 0
SYSSTATS_MAIN CPUSPEEDNW 713.978495
SYSSTATS_MAIN IOSEEKTIM 10
SYSSTATS_MAIN IOTFRSPEED 4096
SYSSTATS_MAIN SREADTIM 1565.746
SYSSTATS_MAIN MREADTIM
SYSSTATS_MAIN CPUSPEED 2310
SYSSTATS_MAIN MBRC
SYSSTATS_MAIN MAXTHR
SYSSTATS_MAIN SLAVETHR
13 rows selected.
{code}
Output from TKPROF on the 11g SID:
{code}
create table ALLIANCE (
ALLIANCEID NUMBER(10) not null,
NAME VARCHAR2(40) not null,
CREATION_DATE DATE,
constraint PK_ALLIANCE primary key (ALLIANCEID)
using index
tablespace LIVE_INDEX
tablespace LIVE_DATA
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 4 0
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.00 0 0 4 0
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 324
{code}
... large section omitted ...
Here is the performance hit portion of the TKPROF on the 11g SID:
{code}
SQL ID: fsbqktj5vw6n9
Plan Hash: 1443566277
select next_run_date, obj#, run_job, sch_job
from
(select decode(bitand(a.flags, 16384), 0, a.next_run_date,
a.last_enabled_time) next_run_date, a.obj# obj#,
decode(bitand(a.flags, 16384), 0, 0, 1) run_job, a.sch_job sch_job from
(select p.obj# obj#, p.flags flags, p.next_run_date next_run_date,
p.job_status job_status, p.class_oid class_oid, p.last_enabled_time
last_enabled_time, p.instance_id instance_id, 1 sch_job from
sys.scheduler$_job p where bitand(p.job_status, 3) = 1 and
((bitand(p.flags, 134217728 + 268435456) = 0) or
(bitand(p.job_status, 1024) <> 0)) and bitand(p.flags, 4096) = 0 and
p.instance_id is NULL and (p.class_oid is null or (p.class_oid is
not null and p.class_oid in (select b.obj# from sys.scheduler$_class b
where b.affinity is null))) UNION ALL select
q.obj#, q.flags, q.next_run_date, q.job_status, q.class_oid,
q.last_enabled_time, q.instance_id, 1 from sys.scheduler$_lightweight_job
q where bitand(q.job_status, 3) = 1 and ((bitand(q.flags, 134217728 +
268435456) = 0) or (bitand(q.job_status, 1024) <> 0)) and
bitand(q.flags, 4096) = 0 and q.instance_id is NULL and (q.class_oid
is null or (q.class_oid is not null and q.class_oid in (select
c.obj# from sys.scheduler$_class c where
c.affinity is null))) UNION ALL select j.job, 0,
from_tz(cast(j.next_date as timestamp), to_char(systimestamp,'TZH:TZM')
), 1, NULL, from_tz(cast(j.next_date as timestamp),
to_char(systimestamp,'TZH:TZM')), NULL, 0 from sys.job$ j where
(j.field1 is null or j.field1 = 0) and j.this_date is null) a order by
1) where rownum = 1
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 1 0.47 0.47 0 9384 0 1
total 3 0.48 0.48 0 9384 0 1
Misses in library cache during parse: 1
Optimizer mode: CHOOSE
Parsing user id: SYS (recursive depth: 1)
Rows Row Source Operation
1 COUNT STOPKEY (cr=9384 pr=0 pw=0 time=0 us)
1 VIEW (cr=9384 pr=0 pw=0 time=0 us cost=5344 size=6615380 card=194570)
1 SORT ORDER BY STOPKEY (cr=9384 pr=0 pw=0 time=0 us cost=5344 size=11479630 card=194570)
194790 VIEW (cr=9384 pr=0 pw=0 time=537269 us cost=2563 size=11479630 card=194570)
194790 UNION-ALL (cr=9384 pr=0 pw=0 time=439235 us)
231 FILTER (cr=68 pr=0 pw=0 time=920 us)
231 TABLE ACCESS FULL SCHEDULER$_JOB (cr=66 pr=0 pw=0 time=690 us cost=19 size=13157 card=223)
1 TABLE ACCESS BY INDEX ROWID SCHEDULER$_CLASS (cr=2 pr=0 pw=0 time=0 us cost=1 size=40 card=1)
1 INDEX UNIQUE SCAN SCHEDULER$_CLASS_PK (cr=1 pr=0 pw=0 time=0 us cost=0 size=0 card=1)(object id 5056)
0 FILTER (cr=3 pr=0 pw=0 time=0 us)
0 TABLE ACCESS FULL SCHEDULER$_LIGHTWEIGHT_JOB (cr=3 pr=0 pw=0 time=0 us cost=2 size=95 card=1)
0 TABLE ACCESS BY INDEX ROWID SCHEDULER$_CLASS (cr=0 pr=0 pw=0 time=0 us cost=1 size=40 card=1)
0 INDEX UNIQUE SCAN SCHEDULER$_CLASS_PK (cr=0 pr=0 pw=0 time=0 us cost=0 size=0 card=1)(object id 5056)
194559 TABLE ACCESS FULL JOB$ (cr=9313 pr=0 pw=0 time=167294 us cost=2542 size=2529254 card=194558)
{code}
and the totals at the end of the TKPROF on the 11g SID:
{code}
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 2 0.00 0.00 0 0 4 0
Fetch 0 0.00 0.00 0 0 0 0
total 3 0.00 0.00 0 0 4 0
Misses in library cache during parse: 1
Misses in library cache during execute: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 70 0.00 0.00 0 0 0 0
Execute 85 0.01 0.01 0 62 208 37
Fetch 49 0.48 0.49 0 9490 0 35
total 204 0.51 0.51 0 9552 208 72
Misses in library cache during parse: 5
Misses in library cache during execute: 3
35 user SQL statements in session.
53 internal SQL statements in session.
88 SQL statements in session.
Trace file: 11gSID_ora_17721.trc
Trace file compatibility: 11.1.0.7
Sort options: default
1 session in tracefile.
35 user SQL statements in trace file.
53 internal SQL statements in trace file.
88 SQL statements in trace file.
51 unique SQL statements in trace file.
1590 lines in trace file.
18 elapsed seconds in trace file.
{code}
The version of the database is 10.2.0.3.0.
These are the parameters relevant to the optimizer for the test run on the 10g SID:
{code}
SQL> show parameter optimizer
NAME TYPE VALUE
optimizer_dynamic_sampling integer 2
optimizer_features_enable string 10.2.0.3
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_mode string ALL_ROWS
optimizer_secure_view_merging boolean TRUE
SQL> show parameter db_file_multi
NAME TYPE VALUE
db_file_multiblock_read_count integer 8
SQL> show parameter db_block_size
NAME TYPE VALUE
db_block_size integer 8192
SQL> show parameter cursor_sharing
NAME TYPE VALUE
cursor_sharing string EXACT
SQL> column sname format a20
SQL> column pname format a20
SQL> column pval2 format a20
SQL> select sname, pname, pval1, pval2 from sys.aux_stats$;
SNAME PNAME PVAL1 PVAL2
SYSSTATS_INFO STATUS COMPLETED
SYSSTATS_INFO DSTART 09-24-2007 11:09
SYSSTATS_INFO DSTOP 09-24-2007 11:09
SYSSTATS_INFO FLAGS 1
SYSSTATS_MAIN CPUSPEEDNW 2110.16949
SYSSTATS_MAIN IOSEEKTIM 10
SYSSTATS_MAIN IOTFRSPEED 4096
SYSSTATS_MAIN SREADTIM
SYSSTATS_MAIN MREADTIM
SYSSTATS_MAIN CPUSPEED
SYSSTATS_MAIN MBRC
SYSSTATS_MAIN MAXTHR
SYSSTATS_MAIN SLAVETHR
13 rows selected.
{code}
Now for the TKPROF of a mirrored test environment running on a 10G SID:
{code}
create table ALLIANCE (
ALLIANCEID NUMBER(10) not null,
NAME VARCHAR2(40) not null,
CREATION_DATE DATE,
constraint PK_ALLIANCE primary key (ALLIANCEID)
using index
tablespace LIVE_INDEX
tablespace LIVE_DATA
call count cpu elapsed disk query current rows
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.01 0 2 16 0
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.01 0.01 0 2 16 0
Misses in library cache during parse: 1
Optimizer mode: ALL_ROWS
Parsing user id: 113
{code}
... large section omitted ...
Totals for the TKPROF on the 10g SID:
{code}
OVERALL TOTALS FOR ALL NON-RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 1 0.00 0.02 0 0 0 0
Execute 1 0.00 0.00 0 2 16 0
Fetch 0 0.00 0.00 0 0 0 0
total 2 0.00 0.02 0 2 16 0
Misses in library cache during parse: 1
OVERALL TOTALS FOR ALL RECURSIVE STATEMENTS
call count cpu elapsed disk query current rows
Parse 65 0.01 0.01 0 1 32 0
Execute 84 0.04 0.09 20 90 272 35
Fetch 88 0.00 0.10 30 281 0 64
total 237 0.07 0.21 50 372 304 99
Misses in library cache during parse: 38
Misses in library cache during execute: 32
10 user SQL statements in session.
76 internal SQL statements in session.
86 SQL statements in session.
Trace file: 10gSID_ora_32003.trc
Trace file compatibility: 10.01.00
Sort options: default
1 session in tracefile.
10 user SQL statements in trace file.
76 internal SQL statements in trace file.
86 SQL statements in trace file.
43 unique SQL statements in trace file.
949 lines in trace file.
0 elapsed seconds in trace file.
{code}
Edited by: user8598842 on Mar 11, 2010 5:08 PMSo while this certainly isn't the most elegant of solutions, and most assuredly isn't in the realm of supported by Oracle...
I've used the DBMS_IJOB.DROP_USER_JOBS('username'); package to remove the 194558 orphaned job entries from the job$ table. Don't ask, I've no clue how they all got there; but I've prepared some evil looks to unleash upon certain developers tomorrow morning.
Not being able to reorganize the JOB$ table to free the now wasted ~67MB of space I've opted to create a new index on the JOB$ table to sidestep the full table scan.
CREATE INDEX SYS.JOB_F1_THIS_NEXT ON SYS.JOB$ (FIELD1, THIS_DATE, NEXT_DATE) TABLESPACE SYSTEM;The next option would be to try to find a way to grant the select privilege to the role without using the aforementioned "after CREATE on schema" trigger and dbms_job call. This method was adopted to cover situations in which a developer manually added a table directly to the database rather than using the provided scripts to recreate their test environment.
I assume that the following quote from the 11gR2 documentation is mistaken, and there is no such beast as "create or replace table" in 11g:
http://download.oracle.com/docs/cd/E11882_01/server.112/e10592/statements_9003.htm#i2061306
"Dropping a table invalidates dependent objects and removes object privileges on the table. If you want to re-create the table, then you must regrant object privileges on the table, re-create the indexes, integrity constraints, and triggers for the table, and respecify its storage parameters. Truncating and replacing have none of these effects. Therefore, removing rows with the TRUNCATE statement or replacing the table with a *CREATE OR REPLACE TABLE* statement can be more efficient than dropping and re-creating a table." -
following is the table creation script with partition
CREATE TABLE customer_entity_temp (
BRANCH_ID NUMBER (4),
ACTIVE_FROM_YEAR VARCHAR2 (4),
ACTIVE_FROM_MONTH VARCHAR2 (3),
partition by range (ACTIVE_FROM_YEAR,ACTIVE_FROM_MONTH)
(partition yr7_1999 values less than ('1999',TO_DATE('Jul','Mon')),
partition yr12_1999 values less than ('1999',TO_DATE('Dec','Mon')),
it gives an error
ORA-14036: partition bound value too large for column
but if I increase the size of the ACTIVE_FROM_MONTH column to 9 , the script works and creates the table. Why is it so ?
Also, by creating a table in this way and populating the table data in their respective partitions, all rows with month less than "JULY" will go in yr7_1999 partition and all rows with month value between "JUL" and "DEC" will go in the second partition yr12_1999 , where will the data with month value equal to "DEC" go?
Plz help me in solving this problem
thanks n regards
MoloyHi,
You declared ACTIVE_FROM_MONTH VARCHAR2 (3) and you try to check it against a date in your partitionning clause:TO_DATE('Jul','Mon')so you should first check your data model and what you are trying to achieve exactly.
With such a partition decl, you will not be able to insert dates from december 1998 included and onward. The values are stricly less than (<) not less or equal(<=) hence such lines can't be inserted. I'd advise you to check the MAXVALUE value jocker and the ENABLE ROW MOVEMENT partitionning clause.
Regards,
Yoann. -
Hi,
would anyone know if there is a limit of the number of user defined fields that can be addeded to SAP Business One (2004A on SQL server 2000)?
I think there is (in a diffrenet way). It looks like there is a maximmum byte size - 8060.
I have the following user fields already in the business partner master data screen .
A - alphanumeric size = 50
B - alphanumeric size = 20
C - alphanumeric size = 20
D - alphanumeric size = 20
E - alphanumeric size = 254
If I try to change B to size 254 ,This is the error message I get.
"[CUFD] [Microsoft][ODBC SQL Server Driver][SQL Server] Warnning: The table 'ACRD' has been created but it's maximum row size 'User Fieds - Descr' (8522) exeeds the maximum number of bytes per row (8060)..."
there is nothig else wqrong with the field exept I cannot make it size 254 (I can if I delete the field E though), so I definitely think it is SAP restricting the size. SQL Server does not have this size restriction. I can manually go and change the size using SQL Server Enterprise manager for example.
I have managed to change the size directly on ACRD, and
CUFD but dont thinks this is a very approprite way of handilng it.
Is this an undocumented restriction/feature in SAP or have I missed reading about this ?
Thanks in advance,
Indika.Hi Spiros,
I hope you are right. But I have experiences this with many atleast 3 other seperate installations. They were all SQL Server, ranging from Enterprise versio, to Developer version to standard.
However I can directly change the size in SQL Server without an issue as I mentioned. This proves that this not an issue with SQL Server. Could it be some sort of a flag in the SAP? I get this on the SAP US demo company for example.
If anyone else had the problem please do respond.
Thanks,
Indika -
Row size anomaly...
Hi,
I am observing some row size anomaly which is causing a table to grow enormously. The table is a partitioned table. The size of row as calculated from dba_tab_columns is 2338 bytes. The average length of the row is 379 bytes, calculated by querying dba_tables. The table is analyzed just before calculating any of the values.
To calculate the size of a row manually, I have taken count of a particular partition then divided the size of the partition with that count. The result is showing the size of a single row to be around 1.9MB. This is applicable for most of the rows of that table. This kind of behavior is not observed with other tables residing at the same tablespace as that of this one.
I would be grateful to all of you if this anomaly is explained to me.
Thanks in advance for your valuable time.....
Database: 10.2.0.4
OS: UNIX
Environment: DWH, Production
Regards,
JoyHi,
I am having a similar question.
The Verison is
BANNER
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Solaris: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
The Blocksize is
SQL> SELECT name,value
FROM v$parameter
WHERE name = 'db_block_size'
NAME VALUE
db_block_size 8192
1 row selected.
The lenght in total of the table is
SQL> select sum(data_length) sum_data_length from dba_tab_columns
where owner = 'SIEBEL' and table_name = 'EIM_ACCNT_UT'
SUM_DATA_LENGTH
27131
1 row selected.
The avg_row_len and the chain_cnt is
SQL> select num_rows,avg_row_len,chain_cnt from dba_tables
where owner = 'SIEBEL' and table_name = 'EIM_ACCNT_UT'
NUM_ROWS AVG_ROW_LEN CHAIN_CNT
173 356 5223
1 row selected.
My questions are:
1.) is the value of 27131 Bytes as records lenght as I counted it, rigth or wrong ?
2.) is it a good advice to define a records of a length of 27131 Bytes whilst we have a DB-Block-Size of 8192 ?
After my point of view, fragmentation there is the consequence of relation record_lenght vs DB-Block-Size.
Best Regards,
rueisel -
Table creation - order of events
I am trying to get some help on the order I should be carrying out table creation tasks.
Say I create a simple table:
create table title (
title_id number(2) not null,
title varchar2(10) not null,
effective_from date not null,
effective_to date not null,
constraint pk_title primary key (title_id)
I believe I should populate the data, then create my index:
create unique index title_title_id_idx on title (title_id asc)
But I have read that Oracle will automatically create an index for my primary key if I do not do so myself.
At what point does Oracle create the index on my behalf and how do I stop it?
Should I only apply the primary key constraint after the data has been loaded as well?
Even then, if I add the primary key constraint will Oracle not immediately create an index for me when I am about to create a specific one matching my naming conventions?yeah but just handle it the way you would handle any other constraint violation - with the EXCEPTIONS INTO clause...
SQL> select index_name, uniqueness from user_indexes
2 where table_name = 'APC'
3 /
no rows selected
SQL> insert into apc values (1)
2 /
1 row created.
SQL> insert into apc values (2)
2 /
1 row created.
SQL> alter table apc add constraint apc_pk primary key (col1)
2 using index ( create unique index my_new_index on apc (col1))
3 /
Table altered.
SQL> insert into apc values (2)
2 /
insert into apc values (2)
ERROR at line 1:
ORA-00001: unique constraint (APC.APC_PK) violated
SQL> alter table apc drop constraint apc_pk
2 /
Table altered.
SQL> insert into apc values (2)
2 /
1 row created.
SQL> alter table apc add constraint apc_pk primary key (col1)
2 using index ( create unique index my_new_index on apc (col1))
3 /
alter table apc add constraint apc_pk primary key (col1)
ERROR at line 1:
ORA-02437: cannot validate (APC.APC_PK) - primary key violated
SQL> @%ORACLE_HOME%/rdbms/admin/utlexcpt.sql
Table created.
SQL> alter table apc add constraint apc_pk primary key (col1)
2 using index ( create unique index my_new_index on apc (col1))
3 exceptions into EXCEPTIONS
4 /
alter table apc add constraint apc_pk primary key (col1)
ERROR at line 1:
ORA-02437: cannot validate (APC.APC_PK) - primary key violated
SQL> select * from apc where rowid in ( select row_id from exceptions)
2 /
COL1
2
2
SQL> All this is in the documentation. Find out more.
Cheers, APC -
Hi,
In my example I want to get all the rows of the table. The table has 20 rows. The visibleRowCount is set to 7 and firstVisibleRow is set to 3.
I have created the table as
var oTable = new sap.ui.table.Table({
id: "oTable",
title: "My Table",
visibleRowCount: 7,
firstVisibleRow: 3,
selectionMode: sap.ui.table.SelectionMode.Single
I tried to get the rows of the table using the below code
var table = sap.ui.getCore().byId("oTable");
var rows = table.getRows(); // Returns only 7 rows
How to get all the rows of the table when the table is populated with a odata service ?Hi Vishal,
The table only put in the html file the rows that you define in visiblerowcount (rows control). The method getRows, get this controls, and you only have 7. The table control render automacatically the data in thats rows when you scroll on it.
If that you want is to retrieve the data of the rows, you need catch it from the model:
oTable.getModel().getData();
Regards,
Maybe you are looking for
-
Can i install windows 7 and OS X together on the same Mac Book Pro?
can i install windows 7 and OS X together on the same Mac Book Pro?
-
How to import data from one instance to other
Hello all, I want to modify the data in one dev instance from production instace ,but in same table can any help me out with command how to retreive the data from other instance example: I want to change the email address of a person in per_all_peopl
-
Solution to Button Action not being called in IE
All, Thought I'd post a solution to a problem I had recently. I have seen variations on a theme elsewhere on the net. IDE: Java Studio Creator 2, Update 1. Problem: The button action associated with a button component on a jspx page is not called whe
-
How do I retrieve my imessages once deleted
I have deleted a block of iMessages off my phone but want to retrieve them ? Is this possible ?
-
Hi, How do you phase out a material, then Phase IN another material? The scenario is, i need to Phase out Material A on 12/31/2008 then replace the it with Material B on 01/01/2009 so that, the FG will use this Material B in its BOM on that date. T