Quick question: alter table, alter column NOT NULL...

Hey all,.

If I change 3 populated (they have data) columns in a table with about 300 million of NULL lines that is NOT NULL:

alter table blah
change (col1, col2, col3 NOT NULL NOT NULL, NOT NULL);

... about cela "will take a long time?

I know that it is a question REALLY of high level, but I wonder how long it should consume (a few minutes or several minutes - looking for an approximate answer as well). The table has 10 columns, if that helps.

Hardware specifications are not relevant... I am looking for a basic response.

Hello

Plug material is relevant here.
It depends on the material/Oracle parameters/IO etc..
You can also view v$ session_longops to track progress.

Concerning
Anurag Tibrewal

Tags: Database

Similar Questions

  • ALTER Table Add column not null, no default

    I want to add two columns in a table with not null, and the default value 0 for two columns
    Can I write everything in a single statement or do I have to divide the declaration
    I tried, but didn't work

    ALTER table DWSODS01. DWT00301_ORD_DTL_OMS add)
    COMB_ORD_FLG NUMBER (5.0) default null, 0
    COMB_ORD_NO NUMBER (12.0)
    by default, 0 not null);

    How can I change the code?

    user10390682 wrote:
    OK, so if it is NOT NULL, while there should be a value.

    Yes.

    So, when I set these two columns as NOT NULL will only future data must be NON NULL.
    What of the old and present data if I defined as NOT NULL

    NOT NULL mean value of eachcolumn + line (current or future) _ must not be null. That's why always adding NOT NULL column to a non-empty table fails - the column value for existing lines will be NULL which does NOT violate the constraint nullability. If you add the NON NULL column with a default value, the column will be added and all lines existing column value will be defined by specified default (0 in your case). As a result Oracle will be able to settle forced to null for this newly added column from the value of this column in all the existing lines will be not not null (0 in your case).

    SY.

  • Adding column not null in the existing table.

    How to add a column not null in the existing table?
    explain.
    Thank you
    create table abc_ex(a number);
    
    alter table abc_ex add(b number not null);
    
    desc abc_ex
    

    If for use then change to ALTER column extising

    Published by: nkvkashyap on May 27, 2013 21:49

  • Columns not null showing that nullable in the table grid

    I use 2.1.0.63 sql developer.
    I ran the following in my diagram
      CREATE TABLE EXCLUDE_DATA 
       (OWNER       VARCHAR2(30), 
        TABLE_NAME  VARCHAR2(30), 
           COLUMN_NAME VARCHAR2(30), 
           CONSTRAINT CK_OWNER CHECK (owner IS NOT NULL) ENABLE, 
           CONSTRAINT CK_TABLE_NAME CHECK (table_name IS NOT NULL) ENABLE
       );
     
     COMMENT ON TABLE EXCLUDE_DATA IS 'Tables and Columns to exclude from the column checker';
     COMMENT ON COLUMN EXCLUDE_DATA.OWNER IS 'The schema that contains the table';
     COMMENT ON COLUMN EXCLUDE_DATA.TABLE_NAME IS 'The table name to be excluded from the column checker';
     COMMENT ON COLUMN EXCLUDE_DATA.COLUMN_NAME IS 'The column on the table to be excluded.  If null then the whole table is excluded';
    
      CREATE UNIQUE INDEX UK_EXCLUDE_DATA ON EXCLUDE_DATA (OWNER, TABLE_NAME, COLUMN_NAME);
    When the name of the table is selected, and the tab for the column that is selected in the main window it's showng columns as nullable (see below)
    OWNER     VARCHAR2(30 BYTE)     Yes          1     The schema that contains the table
    TABLE_NAME     VARCHAR2(30 BYTE)     Yes          2     The table name to be excluded from the column checker
    COLUMN_NAME     VARCHAR2(30 BYTE)     Yes          3     The column on the table to be excluded.  If null then the whole table is excluded
    The constraints are there however, it looks like a potential problem with just this window.

    CeeJay

    Adding a not null to a column check constraint does not have the non-nullable column.

    Try instead this statement

    CREATE TABLE EXCLUDE_DATA
    (THE VARCHAR2 (30) IN OWNER NOT NULL,)
    TABLE-NAME VARCHAR2 (30) NOT NULL,
    COLUMN_NAME VARCHAR2 (30)
    );

    COMMENT on TABLE EXCLUDE_DATA IS "Tables and columns to exclude from the audit of the column;
    COMMENT ON THE EXCLUDE_DATA COLUMN. OWNER IS 'of the schema that contains the table.
    COMMENT ON THE EXCLUDE_DATA COLUMN. Table_name IS "the name of table to be excluded from the audit of the column;
    COMMENT ON THE EXCLUDE_DATA COLUMN. Column_name IS ' column on the table to be excluded. If set to null, then the entire table is excluded. "

    CREATE A UNIQUE UK_EXCLUDE_DATA ON EXCLUDE_DATA (OWNER, TABLE_NAME, COLUMN_NAME) INDEX;

    The database AUTOMATICALLY adds check for columns NOT NULL constraints.

    Hope this helps

    Concerning
    Chris

  • ADD A NEW COLUMN NOT NULL

    Hello
    I try to add a new column not null in the emp default table exist. Initially, I created the column (like BONUS) and then I try to apply the constraint in this amended by order. But it does not happen I mean forced is not added to the column as already the column will have NULL values for records existing (or lines). Can someone help me how to solve the problem?

    Thank you and best regards,
    Vishnu.

    first disable constraint...

    ALTER table dept change the ur_constraint_name disable constraint;

    then insert the data can

    ALTER table dept change the ur_constraint_name novalidate constraint;

    then

    ALTER table dept change enable NOVALIDATE constraint ur_constraint_name;

    Try this we can help

  • Change the default value of column NOT NULL to NULL

    Hi all
    How can I change the default value of column not NULL to NULL?
    Suppose I have run the following commands:
    SQL> alter table hr.test modify temp_num2 default null;
    
    Table altered.
    
    SQL> desc hr.test;
     Name                            Null?    Type
     ----------------------------------------- -------- ----------------------------
     TEMP_NUM                             NUMBER
     TEMP_NUM2                       NOT NULL NUMBER
    Why forced temp_num2 has not changed with the NULL value? I'm under 11.g rel2

    Best regards
    Valerie

    You can NOT change the column constraint NULL to contain NULL values by:

    alter table table_name modify column_name null; 
    

    After this change, the column can contain null values. In Oracle, not null constraints are created automatically when not null is specified for a column. Similarly, they are deleted automatically when the column is changed to allow NULL values.

  • force a view column not null

    I can't create a view with a column not null. Using this script, you can see that the resulting table is a constraint not null for the first column, even if the two columns of the source of this line are not null. Is anyway to force the view on the occasion of this first column as not null? (I need to ODP.NET if I get an error here)

    DROP TABLE MYTABLE;

    CREATE the table MYTABLE
    (COL1 NUMBER (2) NOT NULL,)
    col2 number (2));

    drop table mytable2;

    CREATE the MYTABLE2 table
    (THE NUMBER (2) COLA NOT NULL,)
    colB number (2));

    create or replace view MYVIEW as select col1, col2 from mytable union select cola, colb from mytable2;

    Bird DESC;

    >
    Is anyway to force the view on the occasion of this first column as not null?
    >
    No--and there's a related problem if you create a table with a view. For example, the table emp has empno as NOT NULL. I have a copy of the named emp1 emp where empno is also NOT NULL.

    create or replace view v_emp as select empno from emp
    

    A view on the highest describe statement shows empno as NOT NULL. But, as you've discovered if you ask another Union column will become NULLABLE in the view described.

    The question is that if I use the view (on the single table of emp - no union or the second query) to create a table

    create table t_emp as select * from v_emp
    

    A describe on this table statement will show empno as NULLABLE.

  • Update on nulls in the column vs add column not null default 11 g

    Hello

    Let's take a scenario following 1. *

    We have a large partitioned table LARGE_TABLE1 (say: NUM_ROWS 5 904 977 029, size GB 326) in the Oracle 11 database.

    We want to add a new column NEW_COLUMN (NUMBER) and give a value of-999 to NEW_COLUMN each record in this table.
    ALTER TABLE LARGE_TABLE1 ADD (NEW_COLUMN NUMBER DEFAULT -999 NOT NULL);
    In Oracle 11 it would probably a second since the value of default -999 would be permanently added in metadata without updating each and every record 6 bln.

    Take a scenario 2 *

    We have another large partitioned table LARGE_TABLE2 (of similar size as LARGE_TABLE1) in the Oracle 11 database.

    We have an existing EXISTING_COLUMN (NUMBER) column that contains nulls 90% (90% of scores only contain null values in the field, and 10% of the scores only contain non-null values in this field)

    I would like to replace null values in EXISTING_COLUMN with number - 999.

    Update the column full Ascension not going :-) and doing so in a loop (the partition partition) would take a few days.

    Question:
    Do you know a way somehow write this -999 "overall" in the metadata as in scenario 1 instead of updating a null value in all the records to-999? No clever workaround solution would be appreciated...

    Edited by: SwPiotr 2012-04-24 07:26
    ALTER TABLE LARGE_TABLE1 ADD NEW_COLUMN NUMBER GENERATED ALWAYS AS nvl(col1, -999);
    
  • Virtual column NOT NULL

    Hello dear colleagues,

    Anyone able to replicate this?
    BANNER
    --------------------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Create a small table:
    SQL> create table t(x number not null);
    
    Table created.
    Now, add a virtual column, using decode:
    SQL> alter table t add (y varchar2(1) as (decode(x, 1, 'A', 'B')) not null);
    
    Table altered.
    'The same', using case column
    SQL> alter table t add (z varchar2(1) as (case x when 1 then 'A' else 'B' end));
    
    Table altered.
    Only it wasn't the same, I wanted to NOT NULL.
    If I do, I get:
    SQL> alter table t add (w varchar2(1) as (case x when 2 then 'A' else 'B' end) not null);
    alter table t add (w varchar2(1) as (case x when 2 then 'A' else 'B' end) not null)
                                                                     *
    ERROR at line 1:
    ORA-03113: EOF pÕ kommunikationskanal
    Process ID: 3400
    Session ID: 140 Serial number: 213
    This is consistent with this database on my laptop.


    Concerning
    Peter

    Looks like you have perhaps hit Bug Bug 9277263: ORA-07445 [ATBNUL () + 299] WHEN ADDING a CONSTRAINT INLINE ON a VIRTUAL COLUMN

  • Column not null in rows in SQL query

    I have the below query,

    WITH t

    Did YOU (SELECT NULL col_1, col_2, 'C' FROM DUAL col_3 NULL

    UNION ALL

    SELECT 'A' col_1, col_2 NULL, NULL FROM DUAL col_3

    UNION ALL

    NULL SELECT col_1, col_2 "B", NULL FROM DUAL col_3)

    SELECT *.

    T;

    who will pick up three rows, on which single column will have a value for each row.
    And the other columns are left out as below.

    COL_1 COL_2 COL_3
    C
    A
    B

    I don't need that values should be extracted in the column name that is not null.

    as

    COL_1 COL_2 COL_3
    ABC


    Please advise me

    You can use the MAX aggregate function. But do not know what you are trying to reach.

  • Constraint CHECK on a column not null

    Is this OK

    create table tab
    check the col1 varchar2 (10) not null (col1 in (' has ',' b '),)
    col2 varchar2 (10) check (col2 in ('c' ' d ' "))
    );

    Hello

    The syntax was that not good use

     CREATE TABLE tab
    (
       col1   VARCHAR2 (10) NOT NULL CHECK (col1 IN ('a', 'b')),
       col2   VARCHAR2 (10) CHECK (col2 IN ('c', 'd'))
    );
    

    Concerning

  • Oracle Spatial Index on a column NOT NULL

    I'm using the Oracle 11 g with data space init.

    I have a SDO_GEOM column in a table that has NULL values for some records. I have to run spatial query based on this column so the need of a spatial index on it. Is it possible to create a Spatial Index on a column SDO_GEOM even if some of them have the NULL value and results of spatial query?


    Thank you
    Alan

    Published by: user3883362 on 29 April 2013 05:59

    Alan,

    Is it possible to create a Spatial Index on a column SDO_GEOM even if some of them are NULL

    Yes.

    SQL> CREATE TABLE test (ID NUMBER PRIMARY KEY, geom MDSYS.SDO_GEOMETRY);
    
    Table created.
    
    -- "insert a row with non-NULL geometry"
    SQL> INSERT INTO test VALUES (1, SDO_GEOMETRY('POINT (6000000 2100000)', 40986));
    
    1 row created.
    
    -- "insert a row with NULL geometry"
    SQL> INSERT INTO test VALUES (2, NULL);
    
    1 row created.
    
    SQL> CREATE INDEX test_spx ON test (geom) INDEXTYPE IS MDSYS.SPATIAL_INDEX;
    
    Index created.
    

    .. .and getting results of spatial query

    Yes, assuming that your data is valid.

    -- "Creates a 10' buffer around the point we previsouly inserted then applies SDO_INSIDE"
    SQL> SELECT ID, SDO_INSIDE(geom, SDO_GEOM.SDO_BUFFER(geom, 10, 1)) FROM test;
    1 TRUE --"our point geometry"
    2 FALSE --"our NULL"
    
    2 rows selected.
    

    If you encounter problems here, I think you can use the functions that are choking in NULL values, for example, the conversion of NULL in WKT geometry.

    How do you access data (sqlplus, application, custom, etc.)? What is the query, and we see a few examples of data?

    Kind regards
    Noel

  • How to add the not null columns to an existing table?

    I have a table with hundreds of row inside. I try to add a new column not null. It gives me the following error

    ALTER TABLE sys.xyz CHANGE xyz_no number 4 DEFAULT '1' NOT NULL;

    ORA-02296: impossible to activate (sys.) - found null values

    Also I tried to do the following

    ALTER TABLE sys.xyz CHANGE xyz_no number 4 DEFAULT '1';

    And then I tried to ALTER TABLE sys.xyz CHANGE xyz_NO number 4 NOT NULL; and I still gives me the same error. I took the tally for null values for the same column and has 1555.

    In this case how can I change my article with not null not?. Please help, I am a newbie in oracle.

    I cry out to you for creating a table as SYS. However, I'm going to fully support Sybrand making. Never, ever, create any object as SYS unless the source code received you from Oracle in a patch.

    Now to your question.

    SQL> CREATE TABLE test (
      2  col1 NUMBER,
      3  col2 NUMBER);
    
    Table created.
    
    SQL> INSERT INTO test VALUES (1,1);
    
    1 row created.
    
    SQL> INSERT INTO test VALUES (2,NULL);
    
    1 row created.
    
    SQL> ALTER TABLE test ADD (newcol NUMBER);
    
    Table altered.
    
    SQL> ALTER TABLE test
      2  MODIFY (newcol NOT NULL DISABLE);
    
    Table altered.
    
    SQL> SELECT * FROM test;
    
          COL1       COL2     NEWCOL
    ---------- ---------- ----------
             1          1
             2
    
    SQL> UPDATE test SET newcol = 3;
    
    2 rows updated.
    
    SQL> SELECT * FROM test;
    
          COL1       COL2     NEWCOL
    ---------- ---------- ----------
             1          1          3
             2                     3
    
    SQL> SELECT constraint_name
      2  FROM user_constraints
      3  WHERE table_name = 'TEST';
    
    CONSTRAINT_NAME
    ------------------------------
    SYS_C0036620
    
    ALTER TABLE test ENABLE CONSTRAINT SYS_C0036620;
    
  • Column mandatory (NOT NULL) constraint

    Need not pre-existing NOT NULL constraint column label presented next to the default column, column name and data type, when you display a data model to engineering reverse for end users to review the provisions of tables. How and NOT on label NULL is generated for display of reverse engineering constraints?

    I'm not sure to understand what you want - have marked the columns not null (required) on diagram (they are marked with ' *' character before the name of column) or not null constraint name printed on the diagram. I first thought that it is generation of DDL.

    Philippe

  • What is the solution to add is not null to an existing table that has the data

    I have an employee table that contains the data that I want to change the column NOT NULL .i get error saying e-mail
    table cannot be changed when the data is there... any other solution for this?

    I have an employee table that contains the data that I want to change the column not NULL.
    I get error message saying table cannot be changed when the data is there... any other solution for this?

    Create a new column that can contain NULL.
    New column UPDATED with the old data
    remove the old column
    Rename new old column_name column

Maybe you are looking for

  • Mail will not quit

    When I try to close, it opens again in the following seconds. No matter how many times I close it back. I wind force to quit smoking, but a few times it will not be forced to leave and I have to turn off the computer. Any help would be welcome Scott

  • HP Pavilion 500 - 200 t: card memory HP Pavilion 500-200 t and upgrade information

    I'm about to take my 10 GB of RAM RAM 16 GB of RAM and 500-200 t has only two slots for memory card. When I replace (2 x 8 GB cards) I have two 5 GB cards flying over. I need to know the exact left specifications more cards? I want to put the card in

  • IPHONE 6 SCREEN FLICKER, GHOST AND NO ANSWER KEYS WHEN WAKING UP

    WHENEVER MY IPHONE 6 MORE THAN 128 GB REMAINED IN MODE 'SLEEP' FOR A EVERYTHING (½ HOUR OR ALMOST) WHEN I WAKE IT UP, THE SCREEN FLICKERS BETWEEN THE UPPER EDGE, AND THE SCREEN DOES NOT MEET ALL KEY COMMANDS. I REBOOTED, I RESET, I DELETED AND RESTAR

  • How downgrade from JB to ICS?

    I want to downgrade my xperia 1605 double E back to ICSas I have a wifi problem!I tried the "contact us" and there is no help at all I'm an advanced user... not a beginner to pay to help not support centres in my country "Issues of the Middle East."

  • RV042 Dual WAN Port DMZ not acquire an IP from ISP

    Hello I am trying to replace my router with the more robust RV042 of current load balancing. Installation seems simple enough. However, I am having an issue gets an IP address of the DMZ port in load balancing mode. The two WAN is the same ISP and is