troubleshooting Question

Best way to rerun DDL in oracle database within shell script on linux

Avatar of enthuguy
enthuguyFlag for Australia asked on
Shell ScriptingOracle DatabaseLinux
2 Comments1 Solution178 ViewsLast Modified:
Hi,
we have a set of DDL which I execute every time as part of a process on oracle database.

1. First time when we execute, it creates and alter tables.
2. On all the subsequent executions it will throw an error which I ignore safely. Since they already exist in the database.
3. I agree this is not the best way to re-execute. I should have some kind of check before re-executing each ddl.
4. Recently it is taking time between 20 mins to 50 mins to even throw error depends on the environments

Pls help what is the best way to check if column/index already exist and skip this.

thanks in advance

Below are the sample script with only few ddl and their error msg and elapsed time.

alter table SAMPLE.EIM_GROUP
  add "REL_SEQ_FLG" VARCHAR2(1 CHAR); 

  ERROR at line 2:
ORA-01430: column being added already exists in table


Elapsed: 00:00:00.01

alter table SAMPLE.EIM_GROUP
  add "SCORE" NUMBER(10,0);
ERROR at line 2:
ORA-01430: column being added already exists in table


Elapsed: 00:00:00.01

CREATE INDEX SAMPLE.CHILD_X1_X ON SAMPLE.CON_CHILD (ATTRIB_07,UCM_TYPE_CD,OBJECT_TYPE,OBJECT_TABLE,CREATED) TABLESPACE USER_TBLSPACE;
ERROR at line 1:
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP


Elapsed: 00:07:21.57
ASKER CERTIFIED SOLUTION
Abhimanyu Suri
Database Engineer

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Top Expert 2016

The Distinguished Expert awards are presented to the top veteran and rookie experts to earn the most points in the top 50 topics.

Join our community to see this answer!
Unlock 1 Answer and 2 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 2 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros