Oracle DB 12.2.0
RHEL 7.4
Hello Team,
I have a few queries regarding datatypes used for calculating field size
https://docs.oracle.com/database/121/SQLQR/sqlqr06002.htm#SQLQR959
As per doc above,
1. NUMBER(10) - does this mean the field stores NUMBER of size 10 bytes?
2. BINARY_DOUBLE - what size by default is binary_double? Is it 8 bytes?
3. TIMESTAMP(6) - does this mean TIMESTAMP of size 6 bytes? As per doc, it says frational seconds precision. Or does this field takes by default 11 bytes irrespective of the fractional seconds precision - TIMESTAMP(6), TIMESTAMP(10) ...?
Can anyone pls validate code below?
set serveroutput on
DECLARE
ub NUMBER;
ab NUMBER;
cl sys.create_table_cost_columns;
BEGIN
cl := sys.create_table_cost_columns(
sys.create_table_cost_colinfo('VARCHAR2',11 ) ,
sys.create_table_cost_colinfo('VARCHAR2',2 ) ,
sys.create_table_cost_colinfo('VARCHAR2',20 ) ,
sys.create_table_cost_colinfo('NUMBER',20) ,
sys.create_table_cost_colinfo('NUMBER',20) ,
sys.create_table_cost_colinfo('TIMESTAMP', 11) ,
sys.create_table_cost_colinfo('VARCHAR2',30 ),
sys.create_table_cost_colinfo('VARCHAR2',20 ) ,
sys.create_table_cost_colinfo('VARCHAR2',20 ) ,
sys.create_table_cost_colinfo('VARCHAR2',10 ) ,
sys.create_table_cost_colinfo('BINARY_DOUBLE' ,8),
sys.create_table_cost_colinfo('VARCHAR2',255) ,
sys.create_table_cost_colinfo('NUMBER',10) ,
sys.create_table_cost_colinfo('TIMESTAMP',11),
sys.create_table_cost_colinfo('VARCHAR2',100 ) ,
sys.create_table_cost_colinfo('VARCHAR2',100 )
);
DBMS_SPACE.CREATE_TABLE_COST('TESTTBS',cl,16709155 ,10,ub,ab);
DBMS_OUTPUT.PUT_LINE('Used s = ' || TO_CHAR(ub));
DBMS_OUTPUT.PUT_LINE('Allocated s = ' || TO_CHAR(ab));
END;
/
Regards,
Joe