安装新的软件包时,需要执行下新的sql生效,没有报错。但是卸载软件包的时候,需要把旧的sql执行下生效,但一直执行就报错。如果重复执行新的sql也没有问题。 sqlplus -s /nolog < < SQLPLUS set feedback off connect ${DB_USER}/${DB_PASSWORD}@${DB_SERVER} @ /etc/sql/schema/c_reporting.sql.pre; //旧的sql commit; quit; 报错如下: CREATE OR REPLACE PACKAGE BODY a_pkg
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-30036: unable to extend segment by 8 in undo tablespace 'ROLLBACK' 如果是表空间分配不够,为什么执行新的sql没有问题呢?
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-30036: unable to extend segment by 8 in undo tablespace 'ROLLBACK' 如果是表空间分配不够,为什么执行新的sql没有问题呢?
他这个是根据你的SQL来的...现在你用的撤消表空间,
并不是数据表空间
比如说临时表空间是用来排序时候使用的.
我看你还是优化你的sql吧.百你的c_reporting.sql.pre贴出来让大家看看就知道了
修改的是里面的几个procedure.
请问 如果想只重新执行下修改的proceduce,不是重新执行package的sql,可以吗?
谢谢
同意,可以是有大事务导致undo扩展超过undo的size
------------------------------
ROLLBACKSQL> show parameter undo_management;NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
SQL> select file_name from dba_data_files;FILE_NAME
--------------------------------------------------------------------------------
/qscora/oradata/system1.dbf
/qscora/oradata/rollback1.dbf
/qscora/oradatatools1.dbf
/qscora/oradata/users1.dbf我觉得应该是/qscora/oradata/rollback1.dbf这个数据文件,但它应该是自动扩展的,是需要手工去扩展吗?
-rw-r----- 1 qscora dba 268443648 Feb 23 09:05 rollback1.dbf现在的数据文件有200多M,是增加这个吗?
Database altered.SQL> commit;Commit complete.SQL> @ /etc/sql/schema/reporting.sql;Package created.No errors.Package body created.No errors.SQL> commit;Commit complete.SQL> @ /etc/sql/schema/c_pkg_aria_reporting.sql;Package created.No errors.
CREATE OR REPLACE PACKAGE BODY aria_reporting_pkg
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-30036: unable to extend segment by 8 in undo tablespace 'ROLLBACK'
No errors.-rw-r----- 1 qscora dba 314580992 Feb 23 10:31 /qscora/oradata/arial/rollback1.dbf
重新扩展后,又写满了,又报错不能扩展了?
ERROR:
ORA-01031: insufficient privileges应该是sh里面没有识别
connect /as sysdba;请问应该怎么写呢?