SQL & PL/SQL :: Sum Of Length Of Column Data Of All Tables
Jul 24, 2012
i want to add a column data of datatype number of all the tables at a time in a database..
i am trying with the all_tab_columns but i can get only the column info whether it is number or varchar2 or any other data type but i am unable to retrieve the column name and the sum of length of the data present in all the rows in that column...
I'm loading data from text file separated by TAB and i got the error below for some lines. Event the column is CLOB data type is there a limitation of the size of a CLOB data type. The error is:
Record 74: Rejected - Error on table _TEMP, column DEST. Field in data file exceeds maximum length
I'm using SQL Loader and the database is oracle 11g r2 on linux Red hat 5. Here are the line causing the error from my data file and my table description for test:
create table TEMP ( CODE VARCHAR2(100), DESC VARCHAR2(500), RATE FLOAT, INCREASE VARCHAR2(20), COUNTRY VARCHAR2(500), DEST CLOB, [code]........
I want to find the max length for a column in oracle, without querying each of the columns. Are these stats stored somewhere?
I have several fields defined as varchar2(4000). Not all of them use up 4000. Instead of querying each one ..max(column name) i want to explore if there is a way, i can find the max size stored somewhere? dba_tab_cols provides size of the field. is there any table that provides max used so far?
create table test_schema( col1 varchar2(50) ) insert all into test_schema values ('this_is_a_test') into test_schema values ('this_is_a_test_test') into test_schema values ('this_is_a_test_test_xxxx') into test_schema values ('this_is_a_test_test_aaaaaaaa') select * from dual;
I want to get the length of the col1 value with maximum length of characters also with that field value.
We have to update a single column data in about 10 tables which has child/parent table relations, pk/fk constraints.. The column that we are updating is a part of primary key in half of the tables and part of foreign key in the other half tables.. I'm thinking of disabling all the foreign key constraints in the tables then update the column data then enable the foreign key constraints in these tables.
I had a varchar2 variable which was storing some data and I could use the LENGTH function to get the length of the data. However, If I change it to CLOB. What is the best way to get the length?
We have some tables in our database in which for loading data we have the setup in place to do Exchange partition after data load into staging. Today we did changes to column length to one pair of main and staging table. Post that Exchange partition stop working.
I have one issue while loading the value through sql*loader the last column data is SG1 and when its loaded , it is length of this columns is showing 4 char. Unable to understand, how to find this extra space. Though used TRIM but does not work.
I need to insert these two records into below tables(NGF_REC_LINK,MDU_19).I got below mentioned result while trying to execute my ctl file (ngf_test.ctl )
For 1st record : I am getting beloe error
Record 1: Rejected - Error on table NGF_REC_LINK, column TABLENAME.Field in data file exceeds maximum length
For 2nd record : Because inputs filed is missing in file,Data is miss arranged into table like
How the length of column width effects index performance?
For example if i had IOT table emp_iot with columns: (id number, job varchar2(20), time date, plan number)
Table key consist of(id, job, time)
Column JOB has fixed list of distinct values ('ANALYST', 'NIGHT_WORKED', etc...).
What performance increase i could expect if in column "job" i would store not names but concrete numbers identifying job names. For e.g. i would store "1" instead 'ANALYST' and "2" instead 'NIGHT_WORKED'.
I am struggling with a simple data load using sqlldr
Ref: I am running Oracle 11.2 on Linux 5.7. =========================== Here is my table: SQL> desc ntwkrep.CARD Name Null? Type
[code]...
Looking at the actual data and counting the characters for the "REALIZES" column data, I see that it is roughly slightly over 1000 characters.
So, attempting various ideas to fix the problem, I tried changing nls_length_semantics to "char" and recreating the table, but this still didn't work and still got the same data load errors on the same rows.
Then, I changed nls_length_semantics back to byte and recreated the table again.This time, I altered the table manually as: SQL> ALTER TABLE ntwkrep.CARD MODIFY (REALIZES VARCHAR2(4000 char));
Table altered.
SQL> desc ntwkrep.card Name Null? Type ----------------------------------------------------------------- -------- -------------------------------------------- CIM_DESCRIPTION VARCHAR2(255) CIM_NAME NOT NULL VARCHAR2(255) COMPOSEDOF VARCHAR2(4000)
[code]...
Here is a copy of the first row of data which fails to load every time no matter how I change the "REALIZES" column in the table.
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Solaris: Version 11.2.0.3.0 - ProductionNLSRTL Version 11.2.0.3.0 - Production I'm trying to load a table, small in size (110 rows, 6 columns). One of the columns, called NOTES is erroring when I run the load. It is saying that the column size exceeds max limit. As you can see here, the table column is set to 4000 Bytes)
CREATE TABLE NRIS.NRN_REPORT_NOTES ( NOTES_CN VARCHAR2(40 BYTE) DEFAULT sys_guid() NOT NULL, REPORT_GROUP VARCHAR2(100 BYTE) NOT NULL, AREACODE VARCHAR2(50 BYTE) NOT NULL, ROUND NUMBER(3) NOT NULL, NOTES VARCHAR2(4000 BYTE),
I have to cleanup data from our tables (Production Environment) that contain millions of rows. The question is apart from the solution of the partitioned tables what alternative recommended solution suggests Oracle?
To delete these tables by using a cursor PL/SQL block or to import all the database and in the tables that we want to remove the old rows to use the QUERY option of the data pump utility.
I have used both ways and i have to admit that datapump solution is much much faster than the deletion that suffers from I/O disk.The question again is which method from these two is more reliable and less risky for the health of the database.
I came across an implementation where data from DB2 tables are moved to Oracle tables, for BI solutioning, using some oracle procedures called from MS SQL DTS packages which are scheduled jobs.Just being curious, can this be done using OWB or ODI rather than the above detour. I suppose there are some changes being done in those procedures before the data is being loaded into Oracle tables, can't this be done using OWB/ODI? Can it be scheduled too as jobs using OWB/ODI?
How do i list all tables from dba_tab_columns which contains both column name='id' and 'date'. I don't want to list the tables contains either 'id' or 'date'
I need to export only the data from schemas or tables, how to do that with Oracle Data Pump? when we use schemas parameter this export all schema, not only the data right?
I created a data warehouse in oracle 10g n with three Dimension and one cube after that it crates 4 tables . How to use an insert sql statement to insert data in those tables n how to access them.
I need to implement the foreign key on a column of a table from 2 tables. My requirement is in bellow.
drop table t1; create table t1 (slno number, acc_no number);
drop table t2; create table t2 (acc_no number primary key, acc_name varchar2(100));
drop table t3; create table t3 (acc_no1 number primary key, acc_name1 varchar2(100)); [code]...
It is provided that the values of acc_no in t2 and acc_no1 in t3 are unique.Now it required that while inserting into t1 , the system will check either t2 or t3 tables.
select framedquery from ( SELECT CASE WHEN table_name='MT_MEMBERS_SCOPED' THEN ' case when 1>0 then nvl (( select value from MT_MEMBERS_SCOPED where source_code=123499 and member_id= soln_test.member_id and attribute_id= '||attribute_id ||''||'),0) else ''00'' end ' || ATTRIBUTE_NAME ||', ' WHEN table_name='MT_MEMBERS'
[Code]....
My requirement is soln_test table contains 3 records ,for each record need to match member_id in the MT_MEMBERS_SCOPED for the four records in the table.. output should be 3 records in soln_test table + 4 records in SOLN_STAR_MATRIX_123456_TMP1 totally 7 records it means column to row...
if the member_id not exists in both tables it should return '0000' value.
I have a table where i have description column which free text column, the data in description column is seperated and i want to corvert 1 row data in multiple rows dependeing on the number of words.
eg
id description 78664 Pumps Alarm from CAMS RTU154
In the above example this column has 5 word so i want data in 5 rows like below
78664 Pumps 78664 Alarm 78664 from 78664 CAMS 78664 RTU154
This column data can be varied from 1 to any number of words.
I am getting ORA-39726 error when a dropping a column on a non-compressed table.
SQL> select distinct TABLE_OWNER,COMPRESSION,COMPRESS_FOR from dba_tab_partitions where TABLE_NAME='STM_AE_STMT_HISTORY_DETAIL'; TABLE_OWNER COMPRESSION COMPRESS_FOR ------------------- ---------------------- ------------------- APP_SU DISABLED SQL> ALTER TABLE APP_SU.STM_AE_STMT_HISTORY_DETAIL DROP COLUMN RATE_DESCR; ALTER TABLE APP_SU.STM_AE_STMT_HISTORY_DETAIL DROP COLUMN RATE_DESCR * ERROR at line 1: ORA-39726: unsupported add/drop column operation on compressed tables