The connection to the database can not be opened. In more detail, the following symptoms can occur:
- 1. Starting the R/3 System with 'startsap' terminates with the error message:
R3trans test connect to the database failed
Return code: 12
The explicit check of the connection to the database with 'R3trans -d' terminates with the error message:
2EETW169 no connect possible: "DBMS = INFORMIX --- ...
The log file of R3trans contains entries such as:
***LOG (BY2): sql error -952 performing CON
***LOG (BY0): INF-952: User's password is not correct
for the database server
- 2. The R/3 processes cannot connect correctly to the database. In the R/3 trace files (2.xy: 'dev_db*'; 3.xy: 'dev_w*'), there are entries such as:
***LOG (BY2): sql error -952 performing CON
***LOG (BY0): INF-952: User's password is not correct
for the database server
- 3. The Informix log file ('online_
listener-thread: err = -952: User's password is not correct
for the database server
- 4. The execution of 'update statistics' via transaction DB02 using the program 'infupdstat' terminates with the SQL error -952. The file 'infupdstat.log' contains entries such as:
SQL-Error: -952. command
User's password is not correct for the database server.
- 5. The execution of an 'archive' or 'backup' via Transaction DB13 using the program 'infarcexe' or 'infbarexe' terminates with the SQL error -952. The backup with the Informix programs ('ontape', 'onarchive' 'onbar') may still work.
- 6. The license check program 'saplicense' that is implicitly executed when you start the database with 'startdb' as well as when manually calling 'saplicense -check' terminates with SQL error -952 although a correct license is installed.
STARTSAP, STARTDB, TP, R3TRANS, UPDATE STATISTICS, INFUPDSTAT, DB02, INFARCEXE, DB13, SAPLICENSE, INFORMIX_DB_PASSWD, SAPUSER, INF952
This error may have the following causes (sorted according to their likelihood):
- 1. The password used by the programs to connect to the database is wrong.
The database connect is usually performed as the user 'sapr3'. The password to connect to the database must correspond to the login password for the operating system user 'sapr3' on the database host. Depending on the R/3 version, the individual programs determine the password for 'sapr3' as follows:
- Up to R/3 Release 2.1I/2.2C:
The password is always determined from the environment variable INFORMIX_DB_PASSWD of the parent process.
- From R/3 Release 2.1J/2.2D:
The password is determined from the database table '<>adm'.sapuser.
Caution:
In R/3 Release 2.1J/2.2D, some programs have not been switched to this logic. They still determine the password using the old method via the environment variable INFORMIX_DB_PASSWD of the parent process. From R/3 Release 2.1L/2.2E, these programs have also been changed.
These programs are: saplicense, infupdstat, infarcexe.
The password used by the programs is too long.
- 2. The database system cannot read the file '/etc/shadow', as the program 'oninit' has the wrong authorizations.
- 3. The permissions for the directory '/INFORMIXTMP' in the database host are wrong, and the file '.inf.sapinf
- 4. The value set by the operating system for the user 'informix' for the 'Maximum number of file descriptors' has been reached. Until now, this situation has only occurred when the database has been enhanced previously by adding a new 'chunk'. So far, it has only been observed on the platform SUN.
The problem can be corrected as follows (the numbering for the solutions corresponds to the listed causes):
- 1. Adjust the logon password used by the the programs to match that of the operating system user 'sapr3' (notice the overlap in the two procedures for R/3 Releases 2.1K and 2.2D):
- Up to (and including) R/3 Release 2.1J/2.2D:
Set the value of the environment variable INFORMIX_DB_PASSWD for the user '
Adjust the login files for the user '
. informix.csh and .informix.sh (up to 2.1F)
.dbenv.csh and .dbenv.sh, (from 2.1G/2.2A)
.dbenv_
correspondingly, to permanently eliminate the problem.
- From (and including) R/3 Release 2.1J/2.2D:
Check the password used by the programs to log on to the database with:
$ su -
echo "select * from sapuser
where userid = 'sapr3';" | dbaccess
If this does not match the password
$ su -
$ echo "update sapuser set passwd = '
where userid = 'sapr3';" | dbaccess
Restart the R/3 System after this.
- 2. Check whether the password for the user 'sapr3' is longer than 6 characters. Depending on the operating system only 6 or 8 characters are evalued. It then seems as if the passwords match. However, when connecting the SAP programs (tp, R3trans, sapdba) this results in an error. If this is the case, reduce the length of the password.
- 3. Check the authorizations of the program 'oninit' with:
$ ls -la $INFORMIXDIR/bin/oninit
The output should look like this:
-rwsr-sr-- root informix /informix/
If this is not the case, the software installation on the database system cannot be used, and the software must be re-installed. R/3 and the database must be stopped to do this. It is then sufficient, depending on the hardware platform to run 'installesqrt/installonline' or 'pkgadd' according to the installation guide, chapter 'Installation of the Database Software', 'Understanding the Installation Phase' (sections 2.a and 2.b).
- 4. Check the permissions for the directory '/INFORMIXTMP' with:
$ ls -ald /INFORMIXTMP
The output should look like this:
drwxrwxr-x root informix /INFORMIXTMP
If this is not the case, correct it with:
$ su - root
$ chmod 775 /INFORMIXTMP
- 5. Check the current value for the 'Maximum number of file descriptors' for the operating system user with:
$ limit descriptors
The output should look like this:
descriptors 1024
If the entered value is significantly smaller than 1024, increase this by using the statement
$ limit descriptors 1024
to explicitly increase the value for the duration of the logon. You should add this statement to the login file of the user 'informix' to eliminate the problem permanently.
No comments:
Post a Comment