Solved

error on rebuild indexes script

Posted on 2013-12-29
3
538 Views
Last Modified: 2014-01-08
Hello,

When I execute with following scripts, I have this error :
SQL> SQL> SQL> SQL> SP2-0042: unknown command "SQL>" - rest of line ignored.
SP2-0734: unknown command beginning "SQL> SELEC..." - rest of line ignored.

export SID=$1
export SCHEMA=$2
export ANA_LOG=/opt/oracle/logs
export ANA_SQL=/opt/oracle/scripts
export HOME=/home/oracle
. ${HOME}/.bash_profile

if [ -f ${ANA_LOG}/rebuild_index_$1_$2.log ] ; then
   rm ${ANA_LOG}/rebuild_index_$1_$2.log
fi

logf=${ANA_LOG}/rebuild_index_$1_$2.log


date >${logf}


export ORACLE_SID=${SID}

sqlplus /nolog  << EOF >>${logf}
connect / as sysdba

set feedback off
set pagesize 0

SPOOL /opt/oracle/scripts/Indexrebuild_${ORACLE_SID}_${SCHEMA}.SQL 

SELECT 'ALTER INDEX '||OWNER||'.'||SEGMENT_NAME||' REBUILD  TABLESPACE '||TABLESPACE_NAME||';' FROM DBA_SEGMENTS 
WHERE OWNER='${SCHEMA}' AND SEGMENT_TYPE='INDEX';

SPOOL OFF

@/opt/oracle/scripts/Indexrebuild_${ORACLE_SID}_${SCHEMA}.SQL

EOF

date >>${logf}
exit;

Open in new window


How can I resolve it?

Thanks
0
Comment
Question by:bibi92
  • 2
3 Comments
 
LVL 34

Expert Comment

by:johnsone
ID: 39744624
Take a look at the SQL file that is being generated.  I believe you are going to see the SQL statements echoed in the file.

You should add at least these to your settings:

set echo off
set lines 32767
set trimspool on

That should get you closer.

I believe that your resulting script is actually working, those errors are just extraneous messages.

If you could post at least the first few lines of the SQL file, through the first couple of alter statements, then we could help more.  Please make the suggested changes first.
0
 

Author Comment

by:bibi92
ID: 39744702
I modified the settings like :
set feedback off
set pagesize 0
set echo off
set lines 32767
set trimspool on

The following error occurs:
SQL> Connected.
SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL> SQL>   2  SQL> SQL> SQL> SQL> SP2-0042: unknown command "SQL>" - rest of line ignored.
SP2-0734: unknown command beginning "SQL> SELEC..." - rest of line ignored.
SP2-0042: unknown command "SQL>" - rest of line ignored.
SP2-0734: unknown command beginning "SQL> SPOOL..." - rest of line ignored.
SP2-0044: For a list of known commands enter HELP
and to leave enter EXIT.
SQL> SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Sun Dec 29 15:53:41 CET 2013



SQL> SQL> SQL> SQL> SP2-0042: unknown command "SQL>" - rest of line ignored.
SP2-0734: unknown command beginning "SQL> SELEC..." - rest of line ignored.
0
 
LVL 34

Accepted Solution

by:
johnsone earned 500 total points
ID: 39746990
Then I would also change the "sqlplus /nolog" command to "sqlplus -s /nolog".  That should get rid of most of what you are seeing.

If that does not work, please post the script and the .SQL file that are generated.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Have you ever had to make fundamental changes to a table in Oracle, but haven't been able to get any downtime?  I'm talking things like: * Dropping columns * Shrinking allocated space * Removing chained blocks and restoring the PCTFREE * Re-or…
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.
This video shows how to configure and send email from and Oracle database using both UTL_SMTP and UTL_MAIL, as well as comparing UTL_SMTP to a manual SMTP conversation with a mail server.

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now