[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::rdb_60

Title:Oracle Rdb - Still a strategic database for DEC on Alpha AXP!
Notice:RDB_60 is archived, please use RDB_70..
Moderator:NOVA::SMITHISON
Created:Fri Mar 18 1994
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5118
Total number of notes:28246

4964.0. "RDBSERVER logical name" by CHSR36::JSUBRI (Focus on Open/Rdb++) Mon Jan 27 1997 06:53

Rdb 7.0 MV trying to use Rdb 7.0 MV over RDB$REMOTE, if the RDBSERVER logical
name point to a VMS search list "SYS$SYSTEM" as documented in the install 
guide, the connection fails. 
Pointing to sys$common:[sysexe] workaround this problem, I noticied this
behavior only on OpenVMS/AXP.

Is it known ?
/Jean-Luc


SQL> att 'f chsr38::rdb$root2:[70]mf_personnel';
** CLIENT: Engine config filename =
SYS$COMMON:[SYSLIB]rdb$engine_configuration.dat
** CLIENT: The parsed database filename = CHSR38::RDB$ROOT2:[70]MF_PERSONNEL
** CLIENT: security:  Calling cosi_implicit_authent_client.
** CLIENT: security: status from cosi_implicit_authenticate_client =  0X1
** CLIENT: security: implicit authenticate subcode... =  0X7ca010
** CLIENT: security: implicit authenticate port number =  0X0
** CLIENT: Calling cosi_ipc_allocate_connection for service RdbServer
** CLIENT: Calling cosi_ipc_connect to node CHSR38
** CLIENT: ERROR: cosi_ipc_connect failed
** CLIENT: ********************* DATABASE ENGINE ERROR ******************
** CLIENT: imgeng: Database engine returned an error:  0X13880c4
** CLIENT: imgeng: RCI Call is attach_database
** CLIENT: imgeng: %RDB-F-IO_ERROR, input or output error
** CLIENT: imgeng: -SYSTEM-F-LINKEXIT, network partner exited
** CLIENT: ERROR: Connect to server using new protocol failed.
%SQL-F-ERRATTDEC, Error attaching to database chsr38::rdb$root2:[70]mf_personnel
-RDB-F-IO_ERROR, input or output error
-SYSTEM-F-LINKEXIT, network partner exited

----------- NETSERVER.LOG ----------
$ write sys$output "Network login :     =>> w2:[jsubri]login.com
Network login : =>> w2:[jsubri]login.com
$! for using RDB$REMOTE with a proxy account
$! DEFINE RDBSERVER SYS$COMMON:[SYSEXE]RDBSERVER70.EXE            <== OK
$ DEFINE RDBSERVER SYS$SYSTEM:RDBSERVER70.EXE                     <=== ?
$ DEFINE RDMS$VERSION_VARIANT 70
$ EXIT
$ !  Copyright (c) 1987 Digital Equipment Corporation.  All rights reserved.
$ IF "" .NES. "" THEN NETSERVER$COMMAND
$ IF ""  .EQS. "" THEN NETSERVER$VERIFY = 0
$ V = F$VERIFY(NETSERVER$VERIFY)

        --------------------------------------------------------

        Connect request received at 27-JAN-1997 12:24:39.18
            from remote process CHSR36::"0=JSUBRI"
            for object "SYS$COMMON:[SYSEXE]RDBSERVER.COM"

        --------------------------------------------------------

SYS$SYSTEM:RDBSERVER70.EXE is not found in SYS$COMMON:<SYSEXE>    <=== ?
RDBSERVER logical is SYS$SYSTEM:RDBSERVER70.EXE                   <=== ?
    
T.RTitleUserPersonal
Name
DateLines
4964.1NOVA::DICKSONMon Jan 27 1997 11:151
    What type of system is SQL running on in this example?
4964.2RDB$DISPATCH V5.1 ???CHSR36::JSUBRIFocus on Open/Rdb++Tue Jan 28 1997 02:5737
    >What type of system is SQL running on in this example?
    
    The client is an alphastation 400 4/233 VMS V7.0 and the remote
    database is running on an alphastation 400 4/233 VMS V6.2  
    
    Client CHSR36:
    CHSR36_jsubri_> @sys$library:rdb$shover versions all
       "RDBVMS$INSTALLED_VERSIONS" = "V6.1-04" (LNM$PROCESS_TABLE)
            = "*V6.0-15"
            = "*V7.0-01"
       "SQL$INSTALLED_VERSIONS" = "V6.1-04" (LNM$PROCESS_TABLE)
            = "*V6.0-15"
            = "*V7.0-01"
       "RDB$DISPATCH_INSTALLED_VERSIONS" = "V6.1-04" (LNM$PROCESS_TABLE)
            = "*V6.0-25"
            = "*V7.0-01"
    
    Remote CHSR38:
    CHSR38_jsubri_> @sys$library:rdb$shover versions all
       "RDBVMS$INSTALLED_VERSIONS" = "V6.0-15" (LNM$PROCESS_TABLE)
            = "*V5.1-1"
            = "*V6.0-1"
            = "*V6.1-1"
            = "*V7.0-0"
            = "*V7.0-0"
       "SQL$INSTALLED_VERSIONS" = "V6.0-15" (LNM$PROCESS_TABLE)
            = "*V5.1-1"
            = "*V6.0-1"
            = "*V6.1-1"
            = "*V7.0-0"
       "RDB$DISPATCH_INSTALLED_VERSIONS" = "V6.0-25" (LNM$PROCESS_TABLE)
            = "*V5.1-2"
            = "*V6.0-22"
            = "*V6.1-1"
            = "*V7.0-0"
    
    /Jean-Luc
4964.3Value of sys$system?NOVA::BINGHAMPaula Bingham, DTN 381-2591Wed Jan 29 1997 10:3912
What does the logical name sys$system expand to on your remote system?
Please expand it through any searchlists and embedded logical names.

Can you do both of the following on the remote system:

$ dir sys$system:rdbserver70.exe
$ dir sys$common:[sysexe]rdbserver70.exe

I'm trying to verify here that your sys$system includes sys$common:[sysexe]
in its searchlist.


4964.4CHSR36::JSUBRIFocus on Open/Rdb++Mon Feb 17 1997 04:5927
I see this problem on all AXP 'OpenVMS'.

/Jean-Luc


$ dir sys$system:rdbserver70.exe

Directory SYS$COMMON:[SYSEXE]

RDBSERVER70.EXE;6          587/588     27-SEP-1996 18:22:23.45 

$ dir sys$common:[sysexe]rdbserver70.exe

Directory SYS$COMMON:[SYSEXE]

RDBSERVER70.EXE;6          587/588     27-SEP-1996 18:22:23.45 

$ sho log sys$system/full
   "SYS$SYSTEM" [exec] = "SYS$SYSROOT:[SYSEXE]" (LNM$SYSTEM_TABLE)
$ sho log sys$sysroot/full
   "SYS$SYSROOT" [exec] = "CHSR38$DKA100:[SYS0.]" [concealed,terminal]
(LNM$SYSTEM_TABLE)
        = "SYS$COMMON:"
1  "SYS$COMMON" [exec] = "CHSR38$DKA100:[SYS0.SYSCOMMON.]" [concealed,terminal]
(LNM$SYSTEM_TABLE)

    
4964.5Maybe netserver.log can tell us moreNOVA::BINGHAMPaula Bingham, DTN 381-2591Wed Feb 19 1997 14:3111
The logical information looks OK.

I'm wondering if there is a way to include more of what is happening in
your netserver.log in the unsuccessful case. Perhaps making a "set verify"
the last line of your login.com where you set the rdbserver and
rdms$version_variant logical names? If you removed some lines from your
earlier post of the netserver.log for brevity/clarity, could you please
post a complete file?

Do you by any chance have the logical rdb$enable_highest_version defined
on either node? If so, please post its value.
4964.6log_len logic set for sys$commonCHSR36::JSUBRIFocus on Open/Rdb++Thu Feb 20 1997 08:12123
with rdb$enable_highest_version defined everything is ok.

>I'm wondering if there is a way to include more of what is happening in
>your netserver.log in the unsuccessful case.

OK, I made a set verify in rdbserver.com 

$ ! Copyright � Oracle Corporation 1995.  All Rights Reserved.
$ GOTO START
$ START:
$
$   ! Initialize
$   say = "write sys$output"
$   rdbserver_image = ""
$
$   ! Case 1
$   ! Check if the logical RDB$ENABLE_HIGHEST_VERSION exist
$   if f$trnlnm ("RDB$ENABLE_HIGHEST_VERSION") .nes. ""
$   endif
$
$   ! Case 2
$   ! Check if the logical RDBSERVER exists
$   ! If yes, check for correct image name and location
$   ! If no, activate RDBSERVER.EXE in SYS$COMMON:<SYSEXE>.
$   rdbserver_image = f$trnlnm ("RDBSERVER")
$   if "SYS$SYSTEM:RDBSERVER70.EXE" .nes. ""
$   then
$	GOSUB VALIDATE_RDBSERVER
$ VALIDATE_RDBSERVER:
$   log_len = f$length (rdbserver_image)
$   if .not. -
       ((f$locate ("SYS$COMMON:<SYSEXE>",rdbserver_image) .ne. log_len) .or. -
        (f$locate ("SYS$COMMON:[SYSEXE]",rdbserver_image) .ne. log_len))
$   then
$	say "SYS$SYSTEM:RDBSERVER70.EXE is not found in SYS$COMMON:<SYSEXE>"
SYS$SYSTEM:RDBSERVER70.EXE is not found in SYS$COMMON:<SYSEXE>
$	say "RDBSERVER logical is SYS$SYSTEM:RDBSERVER70.EXE"
RDBSERVER logical is SYS$SYSTEM:RDBSERVER70.EXE
$	exit


A strange logic is applied in "VALIDATE_RDBSERVER:" routine, this routine 
expect  rdbserver logical name pointing to sys$common I changed rdbserver.com 
to check against sys$system and made a return instead of an exit. 
Strange to me, this file as not changed since years. 

--------- Home made modification ---------------------

$ ! Copyright � Oracle Corporation 1995.  All Rights Reserved.
$ GOTO START
$ START:
$
$   ! Initialize
$   say = "write sys$output"
$   rdbserver_image = ""
$
$   ! Case 1
$   ! Check if the logical RDB$ENABLE_HIGHEST_VERSION exist
$   if f$trnlnm ("RDB$ENABLE_HIGHEST_VERSION") .nes. ""
$   endif
$
$   ! Case 2
$   ! Check if the logical RDBSERVER exists
$   ! If yes, check for correct image name and location
$   ! If no, activate RDBSERVER.EXE in SYS$COMMON:<SYSEXE>.
$   rdbserver_image = f$trnlnm ("RDBSERVER")
$   if "SYS$SYSTEM:RDBSERVER70.EXE" .nes. ""
$   then
$	GOSUB VALIDATE_RDBSERVER
$ VALIDATE_RDBSERVER:
$   log_len = f$length (rdbserver_image)
$!   if .not. -
$!       ((f$locate ("SYS$COMMON:<SYSEXE>",rdbserver_image) .ne. log_len) .or. -
$!        (f$locate ("SYS$COMMON:[SYSEXE]",rdbserver_image) .ne. log_len))
$!
$! jsubri modif, changed check from sys$common to sys$system
$!
$   if .not. -
       (f$locate ("SYS$SYSTEM",rdbserver_image) .ne. log_len) 
$   endif
$
$   if (f$locate ("RDBSERVER",rdbserver_image) .eq. log_len)
$   endif
$
$   if .not. ((log_len .eq. 28) .or. -
	      (log_len .eq. 32) .or. -
	      (log_len .eq. 30) .or. -
	      (log_len .eq. 34))
$   then
$	say "RDBSERVER logical does not have the following formats:"
RDBSERVER logical does not have the following formats:
$	say "    SYS$COMMON:<SYSEXE>RDBSERVER"
    SYS$COMMON:<SYSEXE>RDBSERVER
$	say "    SYS$COMMON:<SYSEXE>RDBSERVER.EXE"
    SYS$COMMON:<SYSEXE>RDBSERVER.EXE
$	say "    SYS$COMMON:<SYSEXE>RDBSERVERnn"
    SYS$COMMON:<SYSEXE>RDBSERVERnn
$	say "    SYS$COMMON:<SYSEXE>RDBSERVERnn.EXE"
    SYS$COMMON:<SYSEXE>RDBSERVERnn.EXE
$	say "RDBSERVER logical is SYS$SYSTEM:RDBSERVER70.EXE"
RDBSERVER logical is SYS$SYSTEM:RDBSERVER70.EXE
$!
$! jsubri modif, RETURN instead of exit, to run rdbserver
$!
$ RETURN
$	GOTO RUN_RDBSERVER
$ RUN_RDBSERVER:
$   say "Running SYS$SYSTEM:RDBSERVER70.EXE..."
Running SYS$SYSTEM:RDBSERVER70.EXE...
$   RUN SYS$SYSTEM:RDBSERVER70.EXE
*** 20-FEB-1997 13:30:05.90 :  V7.0-01 RdbServer: Client has been acknowledged
 V7.0-01 RdbServer: Keyword values negotiated between client and server...
    NETWORK_BUFFER_SIZE: 4096
    MESSAGE_VECTOR_RETURN_TYPE: Internal
 These keywords are client specific and are not transmitted:
    NETWORK_NUMBER_ATTACHES
    RCV_PREFETCH_ROWS
    SGS_PREFETCH_ROWS
*** 20-FEB-1997 13:30:11.56 :  V7.0-01 RdbServer: Exiting Server
.
. OK
.
    
4964.7This is a documentation bugNOVA::BINGHAMPaula Bingham, DTN 381-2591Thu Feb 27 1997 10:148
This turns out to be an error in the documentation content. Please submit
a documentation bug.

In the VMS Install Guide in section 4.3.7.1, the example line that
reads "$ DEFINE RDBSERVER SYS$SYSTEM:RDBSERVER70.EXE" is incorrect.
It should read: "$ DEFINE RDBSERVER SYS$COMMON:[SYSEXE]RDBSERVER70.EXE".

I am also forwarding this to our writer.