The problem has to do with the Shareplex user not having enough quota on the tablespace. The error can happen on any Shareplex process, say sp_tconf, sp_opst, etc. For example:
11/30/03 18:42 Error: sp_tconf(rom) (for o.SID queue *) Processing of
chained rows failed 1536 for owner.tablename
11/30/03 18:42 Error: sp_tconf (for o.SID queue *) Failed to build rowmap
02/12/04 18:44 Notice: sp_opst(osp) (for o.SID1-o.SID2 queue queuename)
ORA-01536: space quota exceeded for tablespace .
02/12/04 18:44 Error: sp_opst(osp) (for o.SID1-o.SID2 queue queuename)
Unexpected Oracle error: ORA-01536: space quota exceeded for
tablespace . in lcache.c:1994
02/12/04 18:44 Process exited sp_opst (for o.SID1-o.SID2 queue queuename)
[pid = 4729] - exit(1)
Though the setting of debug may appear to point to a transaction happening on a table in replication that needs to be looked into for the owners quota on the tablespace where the table resides, it usually is not the case. For the most part it has to do with the inadequate quota on the part of Shareplex user. Initially when ora_setup is run, the Shareplex user has UNLIMITED TABLESPACE quota system privilege granted to it. If someone changes it to a lower limit, this problem may occur.
The solution is to grant UNLIMITED TABLESPACE system privilege to Shareplex user and then restart the stopped process.
This can be verified use the sql below.
ttitle - center Splex user Tablespace Quotas skip 2
col ownr format a20 justify c heading Owner
col name format a20 justify c heading Tablespace trunc
col qota format a12 justify c heading Quota (KB)
col used format 999,999,990 justify c heading Used (KB) break on ownr skip 1
select username ownr, tablespace_name name, decode(greatest(max_bytes, -1), -1, Unrestricted,
to_char(max_bytes/1024, 999,999,990) ) qota, bytes/1024 used
where max_bytes!=0 or bytes!=0 and username=upper(&USERNAME) order by 1,2
There may be a dependency object on this table.
Insert on this object may need to update the dependant object, which really exhausted the quota.
But the error will be reported generally.
1.Find for any dependant object over that table.
select NAME,TYPE from dba_dependencies where REFERENCED_NAME=table name;
2.If found, find the owner of that object.
select OWNER,OBJECT_NAME from dba_objects where OBJECT_NAME=dependant object name;
3.Grant unlimited tablespace to that user.
grant unlimited tablespace to <dependant object owner name>;