Previous | Contents | Index |
define record SDE_record using 01 SDE_record. 02 SDE_b_key_grp_id usage is byte . 02 SDE_t_key_directory_1 pic x(25) . 02 SDE_t_key_filler0 pic x(1) . 02 SDE_t_key_directory_2 pic x(25) . 02 SDE_t_key_filler1 pic x(1) . 02 SDE_b_key_search_section usage is byte . 02 SDE_t_key_name pic x(39) . 02 SDE_t_key_filler2 pic x(1) . 02 SDE_b_key_type usage is byte . 02 SDE_b_key_index usage is byte . 02 SDE_q_cur_next_start usage is date . 02 SDE_i_cur_delay usage is long . 02 SDE_i_cur_flags usage is long . 02 SDE_i_filler_1 usage is long . 02 SDE_t_msc_comment_1 pic x(50) . 02 SDE_t_msc_comment_2 pic x(50) . 02 SDE_q_msc_last_start usage is date . 02 SDE_q_msc_last_submit usage is date . 02 SDE_q_msc_completed usage is date . 02 SDE_i_msc_flags usage is long . 02 SDE_i_msc_up_count usage is long . 02 SDE_i_msc_down_count usage is long . 02 SDE_t_msc_username pic x(32) . 02 SDE_i_msc_owner usage is long . 02 SDE_i_msc_protection usage is long . 02 SDE_i_msc_status usage is long . 02 SDE_t_msc_job_tag pic x(32) . 02 SDE_b_msc_restart_limit usage is byte . 02 SDE_b_filler_2 usage is byte . 02 SDE_w_filler_3 usage is word . 02 SDE_t_msc_pre_com_file pic x(50) . 02 SDE_t_msc_post_com_file pic x(50) . 02 SDE_t_rsc_calendar pic x(33) . 02 SDE_w_rsc_type usage is word . 02 SDE_t_rsc_mark pic x(1) . 02 SDE_q_rsc_interval usage is date . 02 SDE_q_rsc_time_of_day usage is date . 02 SDE_q_rsc_delayed_after usage is date . 02 SDE_i_rsc_flags usage is long . 02 SDE_r_req_est_cputime usage is real . 02 SDE_r_req_mea_cputime usage is real . 02 SDE_r_req_est_elapse usage is real . 02 SDE_r_req_mea_elapse usage is real . 02 SDE_i_req_est_io_count usage is long . 02 SDE_i_req_mea_io_count usage is long . 02 SDE_i_req_mea_count usage is long . 02 SDE_i_req_est_disk usage is long . 02 SDE_t_req_disk pic x(39) . 02 SDE_t_req_file pic x(60) . 02 SDE_t_req_filler pic x(40) . 02 SDE_t_ntf_submitted pic x(32) . 02 SDE_t_ntf_started pic x(32) . 02 SDE_t_ntf_delayed pic x(32) . 02 SDE_t_ntf_completed pic x(32) . 02 SDE_t_ntf_failed pic x(32) . 02 SDE_i_ntf_flags usage is long . 02 SDE_t_sub_cli pic x(9) . 02 SDE_t_sub_node pic x(50) . 02 SDE_t_sub_char pic x(40) . 02 SDE_q_sub_cputime usage is date . 02 SDE_i_sub_flags usage is long . 02 SDE_t_sub_log_file pic x(60) . 02 SDE_t_sub_job_queue pic x(39) . 02 SDE_t_sub_job_name pic x(39) . 02 SDE_t_sub_p1 pic x(80) . 02 SDE_t_sub_p2 pic x(40) . 02 SDE_t_sub_p3 pic x(40) . 02 SDE_t_sub_p4 pic x(40) . 02 SDE_t_sub_p5 pic x(40) . 02 SDE_t_sub_p6 pic x(40) . 02 SDE_t_sub_p7 pic x(40) . 02 SDE_t_sub_p8 pic x(40) . 02 SDE_t_sub_print_queue pic x(39) . 02 SDE_t_sub_account pic x(32) . 02 SDE_i_ws_default usage is long . 02 SDE_i_ws_extent usage is long . 02 SDE_i_ws_quota usage is long . 02 SDE_b_sub_priority usage is byte . 02 SDE_t_filler pic x(276) . |
The HISTORY file contains a record of all scheduling queue state changes. For example when a job that has been waiting for a certain file and then finds that file. It is posted into the next scheduling queue and an record is written into the history file.
Not all the components are filled in for all types of events. The amount of data is controlled by the event code. The various components of the history record are described below:
define record HST_record using 01 HST_record. 02 HST_b_key_grp_id usage is byte . 02 HST_t_key_directory_1 pic x(25) . 02 HST_t_key_filler0 pic x(1) . 02 HST_t_key_directory_2 pic x(25) . 02 HST_t_key_filler1 pic x(1) . 02 HST_b_key_search_section usage is byte . 02 HST_t_key_name pic x(39) . 02 HST_t_key_filler2 pic x(1) . 02 HST_b_key_type usage is byte . 02 HST_b_key_index usage is byte . 02 HST_q_key_date usage is date . 02 HST_i_key_set_id usage is long . 02 HST_i_event_type usage is long . 02 HST_q_log_date usage is date . 02 HST_t_sub_queue pic x(39) . 02 HST_i_sub_entry_no usage is long . 02 HST_t_sub_set_tag pic x(32) . 02 HST_i_sub_set_id usage is long . 02 HST_t_sub_set_parameter pic x(57) . 02 HST_i_sub_step usage is long . 02 HST_q_cmp_start usage is date . 02 HST_i_cmp_elapse usage is long . 02 HST_i_cmp_cpu_time usage is long . 02 HST_i_cmp_io_count usage is long . 02 HST_i_cmp_status usage is long . 02 HST_i_cmp_pid usage is long . 02 HST_i_cmp_ppaging usage is long . 02 HST_i_cmp_pgeflts usage is long . 02 HST_i_index usage is long . 02 HST_t_node pic x(6) . |
The SCHEDULE system is controlled via a group of parameters which are contained in the file SCH0_PARAMETER.DAT, which is created automatically when the distribution tape is loaded. This is a plain text file and can be edited with any editor. Typically once setup these parameters do not change very often.
The SCH0_PARAMETER.DAT is the parameter data file for scheduling group
0. Each of the other 9 potential groups (1 through 9) would have its
own parameter data file. See the section on Scheduling
groups on Section 2.4.1 for more information on scheduling
groups.
E.1 Formatting rules
The format of the data in the parameter file must follow the below rules.
IN GENERAL LEAVE THE PARAMETER VALUES BLANK. The default values are designed to be acceptable in most cases.
Once you have changed a parameter value for it to take affect the server(s) must be restarted. Use the following type of command to do this. This is best done at a time when the server is idle.
$ schedule server restart [ -cluster] |
E.2 Database node
The data files (CONTROL, QUEUE, HISTORY) can be on any node in your
cluster or network. The below parameter indicates on what node. By
default it is on the current node.
DATABASE_NODE = node_name DATABASE_NODE = CLSTR |
If the node is in the current cluster and is locally accessible
ordinary RMS operations are used to read/write the data. If the node is
on a remote node then the I/O requests are routed over the network to
the SERVER process on that node.
E.3 Channel controls
This system works in client/server fashion. The foreground interface either command line or MOTIF Editor/Monitor sends all I/O and other requests to the server process via a mailbox. The server process then performs the request or forwards the request onto the target node (if a remote system was indicated). The maximum number of RMS file channels that are used by the server process is controlled by these parameters. The channels are only opened as needed and closed when not needed. Any request for a channel that occurs after all channels are busy is queued up and performed when a channel becomes free. On a very active scheduling system these numbers may need to be increased. If you greatly increase these values the -file_limit value in the schedule_start script may need to be increased.
QD_CHANNELS = number QUEUE.DAT channels, default 12 SDE_CHANNELS = number CONTROL.DAT channels, default 6 HST_CHANNELS = number HISTORY.DAT channels, default 6 QD_CHANNELS = 25 |
E.4 Network controls
All requests that reference a remote node (either via a node specified
in submit parameter, explicitly in an initiate or prerequisite list
element, or from a foreground command) are transmitted to that node for
processing. The access on the remote node by the requesting user is
determined by equating the incoming user to one on the remote node by
reading the NETPROXY.DAT file. All the standard proxy specifications
are honored. If no local information is found the request is rejected.
By specifying a DEFAULT_USER the request is not rejected but given the
access associated with this DEFAULT_USER. Setting the DISABLE flag
indicates that the remote user has the same access rights on the remote
system as on the source system (this is usually not true).
NETPROXY_DEFAULT_USER = username last resort default user NETPROXY_DISABLED = flag 0(D)/1 treat all as local NETPROXY_DEFAULT_USER = DECNET NETPROXY_DISABLE = 0 |
E.5 Resource polling
Certain resources and events (file availability, disk space
availability and delayed job) are all detected by a polling process.
Periodically the system checks to see if the event has occurred. These
parameters control the interval between these checks.
POLLING_FILE = secs file polling interval (D=300) POLLING_DISK = secs disk pooling interval (D=300) POLLING_DELAY = secs delayed job polling interval (D=300) STUCK_AFTER = secs stuck in queue after interval (D=900) POLLING_FILE = 600 |
E.6 History controls
History data is recorded for all queue state transitions. This data can
accumulate rapidly. If this data is of no use to you then this
recording process can be turn off by setting the below variable.
HISTORY_ACTIVE = number 0/1 keep history data (D=1) HISTORY_ACTIVE = 0 |
E.7 Notification controls
All events (started, delayed, failed, completed, submit, other)
notifications are send via a batch job. When the event occurs a command
file is created containing all the parameters of the event. After the
parameters are established this command file is submited to a batch
queue for execution using the following attributes. It is important
that these messages get delivered in a timely fashion. If your
SYS$BATCH is very busy it is best to set aside a special high priority
queue for this.
NOTIFY_QUEUE = queue queue to use for jobs NOTIFY_USER = user user name to use with job NOTIFY_FILE = file notification action file NOTIFY_ENABLED = flag 0/1 if notification is done NOTIFY_PRIORITY = number submit priority value |
The default values for these are:
NOTIFY_QUEUE = SYS$BATCH NOTIFY_USER = SYSTEM NOTIFY_FILE = SCHEDULE_LIBRARY:SCHEDULE_NOTIFY.COM NOTIFY_ENABLE = 1 NOTIFY_PRIORITY = 200 |
E.8 Completion retention
Whenever a job completes a record of this event is kept in the "old
completes" queue. This allows later jobs that have a prerequisite, to
check in this queue if the prereq. job has already finished and with
what status code. These entries are only kept a certain time period.
The default value is 259200 secs. (i.e. 3 days).
OLD_COMPLETES_PURGE_INTERVAL = seconds |
E.9 Root directory protection
The root directory (i.e. /) has protection and ownership attributes
that are established by the following parameters. All the values are
specified in decimal.
The default values are:
ROOT_DIR_OWNER = 65540 (i.e. [1,4] or in hex %x00010004) |
some useful values for protection are:
-52 = (-rw-rw----) 0 = (-rw-rw-rw-) -308 = (-rw-rw-r--) |
Index | Contents |