Reputation: 1
I need resize this datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919', why this simple procedure is wrong?.
Other options, plis?
SQL> begin
2 execute immediate 'alter database datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919' resize 732M';
3 exit;
4 /
execute immediate 'alter database datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919' resize 732M';
*
ERROR at line 2: ORA-06550: line 2, column 87: PLS-00103: Encountered the symbol ".269" when expecting one of the following: . ( * @ % & = - + ; < / > at in is mod remainder not rem return returning <> or != or ~= >= <= <> and or like like2 like4 likec between into using || bulk member submultiset
Upvotes: 0
Views: 1460
Reputation: 666
You need to escape single quote (') with double quote ('')
begin
execute immediate 'alter database datafile ''+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919'' resize 732M';
end;
/
But why are you using dynamic sql? You can just write
alter database datafile '+GMPDATDESA01/prod/datafile/apps_ts_tx_idx.269.878649919' resize 732M';
in sqlplus?
Upvotes: 2