You must have ACLSPECIAL
access rights (LIBNAME option ACLSPECIAL=YES) to run privileged OPER
commands. To use privileged OPER commands, submit the following command
to set yourself as the proxy operator:
SET MODE OPER;
The SET MODE OPER command
sets you as the operator of the user proxy that you are currently
set to. A user proxy can have only one operator at any time. If you
submit the SET MODE OPER command when someone is already established
as operator of the user proxy, you get the following message:
ERROR: Operator mode owned by another connection.
Cannot grant this request.
After you have successfully
set yourself as the operator, you can submit the following commands:
OPER CANCEL [/DUMP];
cancels and exits the
user proxy. If you specify the /DUMP option for a nonlocking user
proxy, the proxy exits with an abort() call, which produces a core
file. If you are the operator of a locking user proxy, the /DUMP option
is ignored. The OPER CANCEL command initiates a hard exit of the user
proxy. Hard exits might leave tables opened for UPDATE access, which
is an inconsistent and unusable state. In this case, you can submit
the PROC DATASETS REPAIR command to restore the tables to a usable
state.
OPER DISCONNECT;
drops the control socket
from the user proxy to the client. This action causes the user proxy
to terminate the next time it tries to communicate with the client.
This termination initiates a hard exit of the user proxy. Hard exits
might leave tables opened for UPDATE access, which is an inconsistent
and unusable state. In this case, you can submit the PROC DATASETS
REPAIR command to restore the tables to a usable state.
The OPER DISCONNECT
command differs from the OPER CANCEL command. When the OPER DISCONNECT
command is submitted, the user proxy continues until it detects that
the control socket connection has been dropped. As a result, the OPER
DISCONNECT command has the potential to complete. However, the point
at which the user proxy detects that the control socket has been disconnected
varies, which produces different results.
OPER INTERRUPT;
sets a soft interrupt
flag in any open tables that belong to the user proxy. During certain
long-running operations such as large table sorts, table scans with
a WHERE clause, or index creations, the user proxy periodically checks
for an interrupt flag in all of the open tables that are involved
in the operation. If the user proxy detects an interrupt flag, it
terminates the operation and any previously opened tables are closed.
Unlike the OPER CANCEL
command or the OPER DISCONNECT command, the OPER INTERRUPT command
initiates a soft exit of the user proxy. The user receives a message
in the SAS log that states that the job has been interrupted. If the
job did not finish, then the results might be incomplete. However,
the user LIBNAME is intact, and the user proxy is still viable. You
cannot determine whether a job will be interrupted; it depends on
the job that is currently running. To determine whether a job can
be interrupted, submit a SHOWLIBNAME libref / DATA=_ALL_ command before
you submit the OPER INTERRUPT command to see all of the open tables.
You can also submit the SHOWLIBNAME libref/ DATA=_ALL_ command after
you submit the OPER INTERRUPT command to see whether all of the open
tables were closed. If the tables are still open after you submitted
the OPER INTERRUPT command, you can wait and check again later. If
the tables need to be closed immediately, you can issue OPER CANCEL
to cancel the user proxy.