cancel
Showing results for 
Search instead for 
Did you mean: 

Standalone Enqueue and Replication server linkage

Former Member
0 Kudos

Hi,

I have setup SAP Netweaver 2004s SR2 for High availability on node1 and node2 in active-passive mode. And I have ABAP+Java installation. So, my ABAP's Central Services instance (ASCS00) and Java's Central Services Instance (SCS01) are running on node1 (both are having stand alone enqueue servers). However, I want to setup Replication Enqueue Server for both ASCS00 and SCS01 on node2.

I am successfully setup ERS10 with the following instance properties and startup file.

  1. cat START_ERS10_hacmp-42

SAPSYSTEMNAME = HAT

SAPSYSTEM = 10

INSTANCE_NAME = ERS10

DIR_CT_RUN = $(DIR_EXE_ROOT)/run

DIR_EXECUTABLE = $(DIR_INSTANCE)/exe

DIR_PROFILE = $(DIR_INSTALL)/profile

PF = $(DIRPROFILE)/HAT_ERS10_hacmp-42

SETENV_00 = LD_LIBRARY_PATH=$(DIR_LIBRARY):%(LD_LIBRARY_PATH)

SETENV_01 = SHLIB_PATH=$(DIR_LIBRARY):%(SHLIB_PATH)

SETENV_02 = LIBPATH=$(DIR_LIBRARY):%(LIBPATH)

#----


  1. Copy SAP Executables

#----


CPARG0 = list:$(DIRCT_RUN)/ers.lst

Execute_00 = immediate $(DIR_CT_RUN)/sapcpe$(FT_EXE) pf=$(_PF) $(_CPARG0)

#----


  1. Start enque replication server

#----


EN = en.sap$(SAPSYSTEMNAME)$(INSTANCE_NAME)

Execute_03 = local rm -f $(_EN)

Execute_04 = local ln -s -f $(DIR_EXECUTABLE)/enrepserver$(FT_EXE) $(_EN)

Start_Program_01 = local $(_EN) pf=$(DIR_PROFILE)/HAT_ERS10_hacmp-42

  1. cat HAT_ERS10_hacmp-42

SAPSYSTEMNAME = HAT

SAPSYSTEM = 10

INSTANCE_NAME = ERS10

DIR_CT_RUN = $(DIR_EXE_ROOT)/run

DIR_EXECUTABLE = $(DIR_INSTANCE)/exe

#----


  1. SAP Locking Service

#----


#enque/serverhost = hacmp-sap-01

#enque/serverinst = 00

#

When I start the above instance (ERS10) on my node2, it starting fine and getting connected to ASCS00's enqueue server. So, far it's fine. (but one thing I observed is that..it is getting connected on 3300 port on node1, is it normal?).

So, my query is how do I setup the Replication for my Java Enqueue server (i.e SCS01) on node2? Let's call ERS11,

So, what should I take care , when I start ERS11 on node2 to get it connected to SCS01?

Thank you in advance.

Srini

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks Michael, No problem, I can understand.

One last query on this topic. Do you think the Standalone Enqueue Server and it's Enqueue Replication server should need to have the same instance number? i.e if ASCS00 has 00 as its instance number do you think, it's ERS should have the same instance number i.e 00 ? I don't think so, But Can any one confirm?

Former Member
0 Kudos

Hi again

I recommend using different instance numbers, i never configure duplicate instance numbers in one SAP system even though it is possible, as long as they are running on different servers.

Regards, Michael

Former Member
0 Kudos

Hi Micheal,

Thank you,

ensmon, indeed gives the info on how much replication has done.

Since, I am not a SAP expert but a HACMP, Can you please throw some light on how, when ASCS00 on node1 moves to node2 (i.e simply stopsap ASCS00 hacmp-sap-01 on node1 and then startsap ASCS00 hacmp-sap-01) can get this lock information back from the ERS10, what extra steps one has to go through other than just doing a startsap ASCS00 hacmp-sap-01 on node2?

Thank you very much for your quick replies.

Former Member
0 Kudos

Since, I am not a SAP expert but a HACMP, Can you please throw some light on how, when ASCS00 on node1 moves to node2 (i.e simply stopsap ASCS00 hacmp-sap-01 on node1 and then startsap ASCS00 hacmp-sap-01) can get this lock information back from the ERS10, what extra steps one has to go through other than just doing a startsap ASCS00 hacmp-sap-01 on node2?

Sorry, i cannot help you there, i only implemented ASCS/ERS in a RAC (Oracle Real Application Clusters) configuration. So i don't know details about the cluster integration of HACMP. I didn't even investigate how it works with RAC so far, and i probably won't as long as the failover works.

I think there must be a docu to implement HA for SAP with HACMP if it is officially supported.

However i use this procedure to test the failover of the enqueue service.

- logon with SAPGui -> transaction DB13 (creates a lock, can be seen in SM12)

- kill the sapstart process of the ASCS (simulates crash of the enqueue server)

Now if the cluster implementation is working, it should restart the ASCS on the ERS side. After that the lock from DB13 should still exist in your enqueue table.

Best regards, Michael

Former Member
0 Kudos

Hi Michael,

Yes, you are correct that, Setting up ERS for Java is the same as that of ABAP.

But if I start the ERS11 (for Java) , which has same instance and startup files as that of ERS10 (for ABAP), then no guess, that ERS11 is also trying to connect to ASC00

(I can see that this happening on /usr/sap/HAT/ASCS00/work/dev_enqrepl

[Thr 1286] Mon Jan 14 13:17:04 2008

[Thr 1286] Connect received, but already connected

[Thr 1286] Connect from host hacmp-42.in.ibm.com

)

So, this time I made the following changes, I have added

enque/encni/repl_port = 50016 (5XX16, XX is the instance number , to reflect ASC00)

line in both ASCS00 and ERS10 instance properties file

and then

enque/encni/repl_port = 50116 (5XX16, XX is the instance number, to reflect SCS01)

line in both SCS01 and ERS11 instance properties file.

and then both are appropriately connected to each other, so, the trick which did this is the usage of enque/encni/repl_port.

But problems are not completely solved.

when I issue the following command on node1:

hacmp-sap-03:hatadm 154> enqt pf=/usr/sap/HAT/SYS/profile/HAT_SCS01_hacmp-sap-01 6,61

PeakEntry...: 11

MaxEntries..: 3603

Nr NI -Name- M -Arg-- UI -User- Use VI -UsVB- UVB B --- Stamp ---

1 1 $service.j X 0 0 1 200801 1 200300041 28000

3 3 $service.e X sap.com/ca 0 0 3 200801 1 200300099 15000

4 4 $service.e X sap.com/ca 0 0 3 200801 1 200300098 0

5 5 $service.e X sap.com/ca 0 0 3 200801 1 200300098 15000

6 6 $service.e X sap.com/ca 0 0 3 200801 1 200300098 26000

7 7 $service.e X sap.com/ca 0 0 3 200801 1 200300098 37000

Entries in Enqueue-Entry-Table...: 6

I see 6 lock entries,

but when I did the following on node2:

hacmp-42:hatadm 56> enqt pf=/usr/sap/HAT/SYS/profile/START_ERS11_hacmp-42 6,61

PeakEntry...: 0

MaxEntries..: 3603

Nr NI -Name- M -Arg-- UI -User- Use VI -UsVB- UVB B --- Stamp ---

Entries in Enqueue-Entry-Table...: 0

hacmp-42:hatadm 57>

I see no entries, any idea why (but before that, is that the right way to see the replication happening properly?)

To answer your query on how did I see it connected to 3300, I just did that netstat -Aan on my AIX box.

also, I don't see the usage of process_location at

http://help.sap.com/saphelp_nw2004s/helpdata/en/39/da8d840167402cb39c5920b340bbb6/content.htm

and

http://help.sap.com/saphelp_nw2004s/helpdata/en/fd/c675698b8d462b8895583c27bdc9bd/content.htm

so, is it valid for Netweaver 2004s?

Former Member
0 Kudos

Hi again

enque/encni/repl_port: obviously if your SCS instance number is 00, which is the default, the replication will work. Thats why the java ERS connected to the ASCS.

enque/process_location = REMOTESA might not be necessary on the ERS, forget about it.

I checked the enqt pf=<instprof> 6,61, and it also does not display the lock entries on the ERS. But you can verify the replication with ensmon:

host1:sidadm> ensmon pf=SID_ASCS00_host1

  -> 2: Get replication information

replication table statistics:
-----------------------------
lines inserted     : 162
lines failed       : 0
"lines in table     : 1"
max lines in table : 5
frags in queue     : 0
max frags in queue : 0
last stamp in table: 1/200301850/0
stamp in queue     : 0/0/0

Regards, Michael

Former Member
0 Kudos

Hi Anantoju

It looks like the replication server (ERS) is connecting to the enqueue server (ASCS) on port 43000 (enque/encni/repl_port 😞

host1:/root # lsof -i tcp:43300
COMMAND     PID   USER   FD   TYPE    DEVICE SIZE NODE NAME
en.sapSID 30626 sidadm   22u  IPv4 406750442       TCP *:43300 (LISTEN)
en.sapSID 30626 sidadm   28u  IPv4 406802181       TCP vhost1:43300->host2:55706 (ESTABLISHED)

I am missing some stuff in your HAT_ERS10_hacmp-42:

#--------------------------------------------------------------------
# Settings for enqueue monitoring tools (enqt, ensmon)
#--------------------------------------------------------------------
enque/process_location = REMOTESA

#--------------------------------------------------------------------
# standalone enqueue details from (A)SCS instance
#--------------------------------------------------------------------
SCSID = 00
SCSHOST = vhost1
enque/serverinst = $(SCSID)
enque/serverhost = $(SCSHOST)
enque/encni/repl_port = 43300

How did you see the ERS is connecting on port 3300? The setup of a java ERS should be the same like the abap ERS, but i never did it for java myself.

Regards

Michael