Problem in setting replication Table does not exist or is invalid [message #342211] |
Thu, 21 August 2008 12:39 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
ma_rabii
Messages: 11 Registered: June 2008
|
Junior Member |
|
|
hi everybody
I want to set up advance replication for 3 master site
(multimaster)
I created 3 master site named orc1,orc2,orc3
and followed up oracle replication management of API book instruction
I created 2 tables(tes1,test2) in hr schema in all 3 master site
with the same data.
then I created the following steps
1-CONNECT repadmin/repadmin@orc1
2-Create the master group named hr_test_repg
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPGROUP(
gname => 'hr_test_repg');
END;
/
4-add tables test1 and test2 to the group
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
gname => 'hr_test_repg',
type => 'TABLE',
oname => 'test1',
sname =>'hr',
use_existing_object => TRUE,
copy_rows => FALSE);
END;
/
BEGIN
DBMS_REPCAT.CREATE_MASTER_REPOBJECT(
gname => 'hr_test_repg',
type => 'TABLE',
oname => 'test2',
sname =>'hr',
use_existing_object => TRUE,
copy_rows => FALSE);
END;
/
5: add additional master sites to define other sites that will BEGIN
DBMS_REPCAT.ADD_MASTER_DATABASE(
gname => 'hr_test_repg',
master => 'orc2',
use_existing_objects => TRUE,
copy_rows => FALSe,
propagation_mode => 'SYNCHRONOUS');
END;
/
BEGIN
DBMS_REPCAT.ADD_MASTER_DATABASE(
gname => 'hr_test_repg',
master => 'orc3',
use_existing_objects => TRUE,
copy_rows => FALSe,
propagation_mode => 'SYNCHRONOUS');
END;
/
6:Then I tried to Generate replication support
which i confronted an error
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
sname => 'hr',
oname => 'test1',
type => 'TABLE',
min_communication => TRUE);
END;
/
BEGIN
DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT(
sname => 'hr',
oname => 'test2',
type => 'TABLE',
min_communication => TRUE);
END;
/
I could create DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT for test2 but not for test1 and it produces error
RROR at line 1:
RA-23309: object hr.test1 of type TABLE exists
RA-06512: at "SYS.DBMS_SYS_ERROR", line 105
RA-06512: at "SYS.DBMS_REPCAT_MAS", line 2552
RA-06512: at "SYS.DBMS_REPCAT", line 562
RA-06512: at line 2
Anybody has an idea?
i read some where to drop REPLICATION_VERIFY but if it is the answer I don't know how can I do that and If it's not I would be thankful to know the correct one
Mery
|
|
|
|
|
Re: Problem in setting replication Table does not exist or is invalid [message #342571 is a reply to message #342429] |
Fri, 22 August 2008 18:15 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
ma_rabii
Messages: 11 Registered: June 2008
|
Junior Member |
|
|
Thank you for your advices
I removed everything today and again I made it it works .I think
it happened because of the order of the script everything works
but when I wanted to test the result and I inserted
one row in the test1 table in hr schema of orc1 and commit it
and then connected to hr schema of orc2 and select from table test1
I didn't see the added row ?
I put interval >= 1/17280,delay_seconds => 0 in SCHEDULE_PUSH which I meant each one second do the propagation.Is it wrong?
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH(
destination => 'orc2',
interval => 'SYSDATE + (1/17280)',
next_date => SYSDATE,
parallelism => 1,
stop_on_error => FALSE,
delay_seconds => 0);
END;
/
BEGIN
DBMS_DEFER_SYS.SCHEDULE_PUSH(
destination => 'orc3',
interval => 'SYSDATE + (1/17280)',
next_date => SYSDATE,
parallelism => 1,
stop_on_error => FALSE,
delay_seconds => 0);
Atached is the related the file named RepSetting.sql contains my steps
|
|
|
Re: Problem in setting replication Table does not exist or is invalid [message #342579 is a reply to message #342211] |
Fri, 22 August 2008 20:28 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
ma_rabii
Messages: 11 Registered: June 2008
|
Junior Member |
|
|
I want to add s.th to my previous description:
As I mentioned although my replication as I send the file of the related scripts works and I could run RESUME_MASTER_ACTIVITY
After I inserted one row in table test1 I couldn't see that in the other multimaster databases.
Then I ran a script for update conflict resolution(TimeStampUpdResolution.sql) which i will attach it now to this post.Then I could suddenly see the inserted row in all databases.
first:I wonder why before that I couldn't see the inserted row in test1 table in the other databases(orc2,orc3)?!!!
second:Moreover after I ran update conflict resolution script
I got the ORA-02049: timeout: distributed transaction waiting for lock error which I think I know why.I think it is because of the change of schema and adding timestamp while still data didn't propagated referring to my first question.
Now I just don't know how can I unlock it?to continue resume the master activity?Any idea?
Could you please answer these 2 questions?
Thank you in advance.
Mery
|
|
|
|