我有一个存储的proc,它执行一个非常大的更新。有时作业由于错误ORA-30036 Unable to extend segment by 8 in undo tablespace 'undotbs2'而失败
但几个小时后,我们重新安排了工作,并成功地完成了。
我检查并发现undotbs2已经将AUTOEXTENSIBLE设置为YES,大小为3GB,因此我想撤销表空间已经有相当大的大小,并且已经打开了自动空间管理。
我的问题是,为什么在我们重新运行它之后,它会成功地完成呢?是因为同时使用undotbs2的其他事务吗?对于此错误,Oracle提到“另一种选择是等待活动事务提交”,
我正在尝试比较两个表,它们在我的系统中非常大(Oracle 10g)。我过去比较的方法是“减号”运算。由于表的大小,我想实时了解临时表空间的使用情况。
我用谷歌搜索了一下如何获得tempory表空间的使用情况。但我不确定哪一个是right.Here是三种方式:
1.从V$TEMP_SPACE_HEADER中选择TABLESPACE_NAME,BYTES_USED,BYTES_FREE;
2.从V$TEMP_EXTEND_POOL中选择BYTES_USED,BYTES_CACHED
What is the difference of BYTES_USED and BYTES_CACHED
我用asmcmd删除了数据文件。我需要删除这个表空间上的表空间和表。我试过:
drop tablespace tablespace_name including contains cascade constraints
获取错误:
ORA-14405: partitioned index contains partitions in a different tablespace
当我尝试删除表、索引或分区时,获取此事件而什么也不做。
optimizer stats update retry.
如何轻松地删除表空间和表空间中的所有表?
谢谢。
(Oracle 11.2.0.4.0)
表描述是...
COLUMN NAME / DATA TYPE
------------------------------------------
MNUM VARCHAR2(33)
ALIAS VARCHAR2(200)
REMARK VARCHAR2(200)
NTFDATE VARCHAR2(8)
SGG_OID INTEGER
COL_ADM_SECT_CD VARCHAR2(5)
我曾经用下面的脚本为我的Oracle表创建复合Oracle。
CREATE INDEX index_name ON my_table (column1,column2,column3) TABLESPACE tablespace_name;
当我在DB2中尝试同样的操作时,在tablespace上得到了一些错误,我尝试使用以下脚本,
CREATE INDEX index_name ON my_table (column1,column2,column3);
这在DB2行吗?因为我对DB2很陌生,在DB2中搜索复合索引时没有语法发现,所以不确定这一点。需要建议。
我使用Oracle已经有一年了,遇到了一个关于表空间TEMP的新问题--这里可能缺少我的术语。如何修改临时表段大小以使select查询始终成功运行。
我有一个select语句,它可以在某个时间点工作,但在其他时间会失败。Oracle中的临时表段大小是否可能会以某种方式发生变化,从而影响给定的select语句是否可以在某一时刻工作,但在另一时刻失败?原因是b/c我已经运行了一条select语句,该语句将成功运行一次,但下一次将失败。当它失败时,它会给出这个错误:
ORA-01652: unable to extend temp segment by 64 in tablespace TEMP
另
我试图通过命令在Oracle中创建一个表:
CREATE TABLE xml_binary (
id NUMBER,
fv XMLTYPE)
XMLTYPE fv STORE AS BINARY XML
XMLSCHEMA "http://www.example.com/fvInteger_binary.xsd"
ELEMENT "ROOT";
但是,我得到了错误:
ORA-43853:安全文件lobs不能在非ASSM表空间中使用
在中,我发现一个解决方案是通过命令忽略错误:
改变系统集db_secur