cancel
Showing results for 
Search instead for 
Did you mean: 

BR*Tools won't work on distributed system

Former Member
0 Kudos

Hi,

Normally we run our systems om AIX and Linux in combination with Oracle databases - and we do not work with BR*Tools from DB13. Last week i had to install two SAP Systems on Windows Server 2008 R2, Oracle 11 database as distributed system. The installation process was fine - no problems there.

Now i am configuring the system. One of the topics are database statistics, backups, ....

We want to manage that from DB13. When trying the external commands brtools, brconnect the log tells me that SAPDATA_HOME is not set. That's true and not true 🐵

SAPDATA_HOME is set on the database server but it's not set on the application server.

Can anyone tell me how to make this work? Do i have to share the SAPDATA_HOME on the database server and point the environment variable to the share? What else?

Thanks a lot!

Martin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Martin,

Do you have any application instance running on DB host?

You atleast need a gateway service running on DB host

Also, what is the exact error message you get when you fire backup from DB13?

Thanks,

Salman

martin_juen2
Contributor
0 Kudos

Hi Salman,

Do you have any application instance running on DB host?

No i haven't. The SCS and theCentral Instance for system CS1 are running on server1. The database on Server 2. Nothing else - no saprouter, no dialog instance, no other database.

You atleast need a gateway service running on DB host

It's a Solution Manager System and i want to manage the solman database only. It's also the same user cs1adm on the application server and the database. Is it correct that i need to install a gateway on db server to manage the systems own database?

Sounds strange - it's not a problem to run the BR*tools on the database server which are located on the application server (shared folders). OK - when thinking about it, it might be not so strange. The gateway is needed for the RFC-Connection to the DB Server to manage it from DB13.

Also, what is the exact error message you get when you fire backup from DB13?

I can enter the message tomorrow - it's sunday and i am not on job today.

Is SAP Note 1025707 - DBA Cockpit planning calendar and remote Oracle databases the key to solve my problems?

Thanks,

Martin

Former Member
0 Kudos

Hi,

Yes please update the exact error message...

Also, take a look at the Note 108777 - CCMS: Message 'SAPXPG failed for BRTOOLS'

Thanks,

Salman

martin_juen2
Contributor
0 Kudos

Hi Salman,

That's the message when running TA SM69 and external command BRTOOLS.

BR0651I BRTOOLS 7.20 (10) BR0152E Environment variable SAPDATA_HOME is not set BR0280I BRTOOLS time stamp: 2011-02-21 07.49.03 BR0654I BRTOOLS terminated with errors External program terminated with exit code 3

Thanks,

Martin

Former Member
0 Kudos

Hi,

Try setting the SAPDATA_HOME variable in the app server as well and see how it goes.

Another guy faced similar issue....may be this helps

Thanks,

Salman

AlbertVentosa
Participant
0 Kudos

Hi,

I think the best option is install SAP Gateway Standalone in DB node as say Note "657999 - Installing a Standalone Gateway in an MSCS Environment"

After the configuration of Standalone Gateway , you need to modify the configuration: ( as say note 941451 - PROGRAM_START_ERROR exception with external command )

copy sapxpg.exe to sapxpg_exe.exe

create file sapxpg.bat with the following content:

set ORACLE_SID=<SID>

set SAPDATA_HOME=<PATH_SAPADATA_HOME>

set SAPMNT=
<path\sapmnt

set SAPEXE=PATH_TO_SAPXPG

PATH_TO_SAPXPG\sapxpg_exe.exe %*

<make sure that you add blank line to the end of OS file >

After this, the relevant configuration os RFC SAPXPG_DBDEST_<hostname_bd> are

program = PATH_TO_SAPXPG\sapxpg.bat

Gateway = host_db

port = sapgwNN

I hope it'll usefull for you

martin_juen2
Contributor
0 Kudos

Hi all,

i moved some steps forward...

Current situation:

Server 1 with the Central Instance of system ZS1.

Server 2 with the Database of system ZS1 and Standalone Gateway ZS2.

I adapted the RFC-Connection SAPXPG_DBDEST_ZSAPZS1DB. Connection is possible.

When i run the env-command from SM49 the following appears:

NODNSSAPTRANSHOST=1

NUMBER_OF_PROCESSORS=2

ORACLE_SID=ZS1

OS=Windows_NT

Path=
ZSAPZS140\sapmnt\ZS1\SYS\exe\uc\NTAMD64;E:\oracle\ZS1\112\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

PERL5LIB= PPID=2436

PROCESSOR_ARCHITECTURE=AMD64

PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 26 Stepping 5, GenuineIntel

PROCESSOR_LEVEL=6

PROCESSOR_REVISION=1a05

PROMPT=$P$G PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules

SAPARCH=F:\oracle\ZS1\saparch

SAPBACKUP=F:\oracle\ZS1\sapbackup

SAPCHECK=F:\oracle\ZS\sapcheck

SAPDATA1=E:\oracle\ZS1\sapdata1

SAPDATA2=E:\oracle\ZS1\sapdata2

SAPDATA3=F:\oracle\ZS1\sapdata3

SAPDATA4=F:\oracle\ZS1\sapdata4

SAPDATA_HOME=E:\oracle\ZS1

SAPEXE=C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64

SAPLOCALHOST=ZSAPZS1DB

SAPREORG=F:\oracle\ZS1\sapreorg

SAPSYSTEMNAME=ZS2

SAPTRACE=F:\oracle\ZS1\saptrace

SIDE_INFO=C:\usr\sap\ZS2\G00\data\sideinfo.DAT

SystemDrive=C:

SystemRoot=C:\Windows

TEMP=C:\usr\sap\ZS2\tmp

TMP=C:\usr\sap\ZS2\tmp

USER=OURDOMAIN\zs1adm

USERNAME=SYSTEM

That looks good to me. But when i run the brtools or brconnect command from SM49 i get this message.

Can't exec external program (No such file or directory)

WaitForSingleObject failedwith %d (No such device or address)

I can start BR*Tools on the DB-Server with User zs1adm and also with the user zs2adm. zs2adm is the gateway user.

To be able to start the BR*Tools locally with zs2adm i had to share sapmnt (Application Server) with user zs2adm. I also had to allow zs2adm permission to the initZS1.sap and initZS1.ora.

i also set the user variable for zs2adm to OURDOMAIN\zs1adm which is the user of the solman system.

When i start the DB-check Job from DB13 these messages appear:

Job started

Step 001 started (program RSDBAJOB, variant &0000000000008, user ID RPRI110

No application server found on database host - rsh/gateway will be used

Ausfu00FChrung des logischen Kommandos BRCONNECT auf Rechner ZSAPZS1DB

Parameter: -u / -jid CHECK20110301102414 -c -f check

Can't exec external program (No such file or directory)

WaitForSingleObject failedwith %d (No such deviceor address)

SXPG_COMMAND_EXECUTE gescheitert fu00FCr BRCONNECT - Ursache: unknown

Job cancelled after system exception ERROR_MESSAGE

So everything is working fine on OS but not from DB13 or SM49. Can anyone help me to move on?

Maybe a problem with the environment variables? Most of them i set as system variables and not es user variables...

Thanks,

Martin

Former Member
0 Kudos

Hi Martin,

Does the gateway host & gateway port in DEST "SAPXPG_DBDEST_ZSAPZS1DB" points to the standalone gateway host & port?

Is the standalone gateway started?

Does the test connection work?

Thanks,

Salman

martin_juen2
Contributor
0 Kudos

Hi Salman,

yes the RFC-Connection SAPXPG_DBDEST_ZSAPZS1DB is working.

When running SM49 and command env i use the SAPXPG_DBDEST_ZSAPZS1DB RFC-Destination to connect to the database Server.

Thanks,

Martin

AlbertVentosa
Participant
0 Kudos

Martin

What is your definition of sapxpg executable in your RFC SAPXPG_DBDEST_ZSAPZS1DB ( field program ) ?

martin_juen2
Contributor
0 Kudos

Hi.

I entered the full path to sapxpg.

C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\sapxpg

regards, Martin

AlbertVentosa
Participant
0 Kudos

Can you try to enter the extension of executable and try again?

C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\sapxpg.exe ( or .bat if you've done what I said in the first post )

It seems by the type of error that it can't find the executable :

...

+Can't exec external program (No such file or directory)

WaitForSingleObject failedwith %d (No such device or address)+

....

martin_juen2
Contributor
0 Kudos

Hi Albert,

thanks for your help.

I didn't create the sapxpg.bat file - i think it's not necessary...

When running the external command "env" on the database server via the rfc-connection sapxpg_dbdest* the result is shown in the results window of SM49. So i think sapxpg is working and brconnect is not found.

I am able to run brtools (with and without exe extension) on command line of the database / gateway server. I can do it with the <sid>adm of the SolMan System AND also with the Gateway <sid>adm. The BRTools are located on the application server. They are shared as sapmnt and saploc.

I also entered the extension for sapxpg in the sapxpg*-connection. The result was the same. It did not work :o(

Am i right if i say thet sapxpg is working and brconnect not?

Thanks, Martin

AlbertVentosa
Participant
0 Kudos

OK,

Can you try to do the workaround of sapxpg.bat.? ( So we can discard. It's five minuts)

On Unix ( and perhaps in windows ) it's necessary to do because when RFC logins throught gateway it do without enviorement variables, and the script provides of them.

martin_juen2
Contributor
0 Kudos

Hi Albert,

Now i created the batch file and rerun the brconnect from SM49 - nothing changed.

In the RFC Trace on the Gateway i can see that sapxpg_exe was used...

I entered these variables into sapxpg.bat file

set ORACLE_SID=ZS1 <SID OF THE SOLMAN SYSTEM>

set SAPDATA_HOME=E:\oracle\ZS1

set SAPMNT=
<hostname of SolMan Application Server>\sapmnt

set SAPEXE=C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\

C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\sapxpg_exe.exe %*

My sapdata files are located on two disks (E and F) - i hope the sapdata home is correct set.

regards, Martin

AlbertVentosa
Participant
0 Kudos

Hi,

for discard:

copy your brtools in the path C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64

and modify your .bat as:

set ORACLE_SID=ZS1 <SID OF THE SOLMAN SYSTEM>

set SAPDATA_HOME=E:\oracle\ZS1

set SAPMNT=

<hostname of SolMan Application Server>\sapmnt

set SAPEXE=C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\

set PATH=C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64;%PATH%

C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\sapxpg_exe.exe %*

set > C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\enviorement.txt

after this, paste the results of file C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64\enviorement.txt

martin_juen2
Contributor
0 Kudos

Hi Albert,

It's getting better 🐵

this is the result of the environment.txt:

AdmUser=<OURDOMAIN>\zs2adm

ComSpec=C:\Windows\system32\cmd.exe

CPIC_MAX_CONV=10

FP_NO_HOST_CHECK=NO

NODNSSAPTRANSHOST=1

NUMBER_OF_PROCESSORS=2

ORACLE_SID=ZS1

OS=Windows_NT

Path=C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64;
ZSAPZS140\sapmnt\ZS1\SYS\exe\uc\NTAMD64;E:\oracle\ZS1\112\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

PERL5LIB=

PPID=4056

PROCESSOR_ARCHITECTURE=AMD64

PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 26 Stepping 5, GenuineIntel

PROCESSOR_LEVEL=6

PROCESSOR_REVISION=1a05

PROMPT=$P$G

PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\

SAPARCH=F:\oracle\ZS1\saparch

SAPBACKUP=F:\oracle\ZS1\sapbackup

SAPCHECK=F:\oracle\ZS1\sapcheck

SAPDATA1=E:\oracle\ZS1\sapdata1

SAPDATA2=E:\oracle\ZS1\sapdata2

SAPDATA3=F:\oracle\ZS1\sapdata3

SAPDATA4=F:\oracle\ZS1\sapdata4

SAPDATA_HOME=E:\oracle\ZS1

SAPEXE=C:\usr\sap\ZS2\SYS\exe\nuc\NTAMD64

SAPLOCALHOST=ZSAPZS1DB

SAPMNT=
zsapzs140\sapmnt

SAPREORG=F:\oracle\ZS1\sapreorg

SAPSYSTEMNAME=ZS2

SAPTRACE=F:\oracle\ZS1\saptrace

SIDE_INFO=C:\usr\sap\ZS2\G00\data\sideinfo.DAT

SystemDrive=C:

SystemRoot=C:\Windows

TEMP=C:\usr\sap\ZS2\tmp

TMP=C:\usr\sap\ZS2\tmp

USER=<OURDOMAIN>\zs1adm

USERNAME=SYSTEM

windir=C:\Windows

When running the SM49 command BRCONNECT i get this:

02.03.2011 12:52:03 Job wurde gestartet

02.03.2011 12:52:03 Step 001 gestartet (Programm RSDBAJOB, Variante &0000000000013, Benutzername RPRI110)

02.03.2011 12:52:03 Kein Applikationsserver auf Datenbankrechner - rsh/Gateway wird benutzt

02.03.2011 12:52:03 Ausfu00FChrung des logischen Kommandos BRCONNECT auf Rechner ZSAPZS1DB

02.03.2011 12:52:03 Parameter: -u / -jid CHECK20110302125203 -c -f check

02.03.2011 12:52:04 BR0801I BRCONNECT 7.20 (12)

02.03.2011 12:52:04 BR0252E Function CreateFile() failed for 'E:\oracle\ZS1\112\database\initZS1.sap' at location BrFileStatGet-2

02.03.2011 12:52:04 BR0253E errno 5: Access is denied.

02.03.2011 12:52:04 BR0273E Determination of file status for E:\oracle\ZS1\112\database\initZS1.sap failed

02.03.2011 12:52:04 BR0280I BRCONNECT time stamp: 2011-03-02 12.52.04

02.03.2011 12:52:04 BR0301E SQL error -1017 at location db_connect-2,SQL statement:

02.03.2011 12:52:04 'CONNECT /'

02.03.2011 12:52:04 ORA-01017: invalid username/password; logon denied

02.03.2011 12:52:04 BR0310E Connect to database instance ZS1 failed

02.03.2011 12:52:04

02.03.2011 12:52:04 BR0806I End of BRCONNECT processing: cefitkiu.log2011-03-02 12.52.04

02.03.2011 12:52:04 BR0280I BRCONNECT time stamp: 2011-03-02 12.52.04

02.03.2011 12:52:04 BR0804I BRCONNECT terminated with errors

02.03.2011 12:52:04 External program terminated with exit code 3

02.03.2011 12:52:04 BRCONNECT returned error status E

02.03.2011 12:52:04 Job wurde beendet

My new questions:

- zs2adm has full access on file E:\oracle\ZS1\112\database\initZS1.sap; Do i have to give this rights to sapservicezs2 too?

- why it's not possible to use the brtools located on the appl server?

- the user/password problem is the next step to solve...

Thanks,

Martin

AlbertVentosa
Participant
0 Kudos

Hi

You have to create the OPS$ user for ZS2 as say

Note 50088 - Creating OPS$ users on Windows NT/Oracle

use the attached script ORADBUSR.TXT with zs1adm as example :

C:\>sqlplus /@ZS1 as sysdba @c:\ORADBUSR.TXT SAPZS1 NT <DOMAIN/HOSTNAME> ZS2

this script will create two user: OPS$DOMAIN_or_HOSTNAME/sidadm and OPS$DOMAIN_or_HOSTNAME/SAPServiceSID

for initZS1.sap, i think you have to give rights only to user zs2adm

Former Member
0 Kudos

In a nutshell, the methods to resolve this are either a) have the standalone gateway run as the sidadm user so that the DB environment is consistent between hosts or b) use scripting to load the necessary DB environment settings when running sapxpg as the standalone gateway user.

Personally, I think its better to set it up via method b in case you are using the DB host for multiple oracle instances. That way you can have your different sapxpg scripts defined in each SAP instances' RFC destination to the database.

Answers (0)