Remote Command Server
Some options and dialogs in Visual DBA result in the launch of an operating system level command (such as createdb or destroydb) on the server. These "remote commands" are performed by the Remote Command Server (RMCMD) process on behalf of Visual DBA.
The Remote Command Server (RMCMD) allows remote execution of operating system commands. It must be started in installations where a DBMS server is running for certain DBA tasks to be accessible remotely with Visual DBA. The Remote Command Server is started on the server side, not on the Visual DBA client.
DBA tasks are primarily those that do not have an equivalent through an SQL statement, for example, creating or dropping a database, displaying selected portions of the journal for a database, or starting a replication server remotely. By default, only the installation owner is authorized to perform such tasks remotely through Visual DBA.
The rmcmd process is started and stopped with Ingres, according to the settings for the Remote Command component in CBF or Configuration Manager.
Grant Access to Remote Users
To allow a user other than the installation owner to execute remote commands, you can use the following methods:
• In Actian Director, use the Create User or Modify User dialog, select Options, Remote Command Privileges
• In VDBA, use the Create or Alter User dialog. Enable the Remote Command (rmcmd) Privileges checkbox.
• You can execute the following SQL statements, while connected to the imadb database as the installation owner:
grant select,insert,update,delete on $ingres.remotecmdinview to user
grant select,insert,update,delete on $ingres.remotecmdoutview to user
grant select,insert,update,delete on $ingres.remotecmdview to user
grant execute on procedure $ingres.launchremotecmd to user
grant execute on procedure $ingres.sendrmcmdinput to user
grant register, raise on dbevent $ingres.rmcmdcmdend to user
grant register, raise on dbevent $ingres.rmcmdnewcmd to user
grant register, raise on dbevent $ingres.rmcmdnewinputline to user
grant register, raise on dbevent $ingres.rmcmdnewoutputline to user
grant register, raise on dbevent $ingres.rmcmdstp to user
Note: Grants must not be made directly to the underlying tables.
How Remote Commands Are Executed
Operating system commands executed by the Remote Command (rmcmd) Server are executed on the server side under the user ID that launched that server (typically the installation owner).
For commands that support the –u option, the rmcmd server will accept the command execution request only if it contains a –uusername argument, where username is the user ID of the session through which the client application (typically VDBA) does the request.
For commands that do not support the –u option, such as sysmod, alterdb, or relocatedb, the request will be accepted only if the user ID of the session is the same as the user who launched the rmcmd server on the server side.
Last modified date: 01/30/2023