Customer Database Schema
Crossroads
®
ReadVerify™ Appliance
Release: 5.0 (updated 5.0.4)
RVA provides read-only access to its database, allowing third-party reporting applications to retrieve data from the tables. To enable a database connection, refer to the RVA online help. Then, ensure that the PostgreSQL driver is installed on the system where the third-party application resides. The ODBC driver for Windows applications is available at http://
www.postgresql.org/ftp/odbc/versions/msi/. The JDBC driver for Java applications is available at http://jdbc.postgresql.org/.
After the database connection is enabled, the reporting application can connect through the PostgreSQL port on RVA. Up to five concurrent connections are supported. In addition to the username and password that are provided when you enable a database connection, you may need to provide the following information to the application:
• Database type: PostgreSQL 8.3 • Database port: 5432
• Database name: crds_production
If you want to access the database directly, be sure to use an application that provides a way to retrieve detailed information, such as column types, primary keys, foreign keys, and check constraints. For example, you can use psql, which is the PostgreSQL interactive terminal command. See http://www.postgresql.org/docs/8.3/static/app-psql.html for more information about psql, including how to connect to a database.
This document describes the tables provided by the RVA database. For each table, the indexes and constraints are provided.
public.component_versions
Stores versions of components that make up RVA.
Note The rva component is the schema version of the crds_production database, not the
version of RVA.
The following columns are included in this table:
rva.acsls_volume_types
Stores the mapping between the volume type reported by ACSLS and the Crossroads internal tape type. “Tape type” is a designation by Crossroads of a tape type that is consistent across all library types. For a given tape cartridge, a SCSI library may report the “type” differently than an ACSLS library. In this case, the Crossroads “tape type” will be the same.
The following columns are included in this table:
rva.asc_ascq_descriptions
Describes the known possible SCSI ASC/ASCQ values that a device can return. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
name character Yes No The name of the component version character No No The version number (string)
Name Data type Not Null? Primary key? Description
volume_type character
varying Yes Yes The volume type as expected to be reported by the ACSLS server
tape_type character
varying Yes No Designation by Crossroads of a tape type that is consistent across all library types.
Name Data type Not Null? Primary key? Description
ascq smallint Yes Yes The SCSI ASCQ asc smallint Yes Yes The SCSI ASC
rva.av_in_progress
Provides status information about currently running ArchiveVerify jobs. The following columns are included in this table:
description character No No A textual description of the ASC/ASCQ
severity smallint No No ID of the severity (see
rva.severity_descriptions)
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID lib_id integer Yes No ID of the library (see
rva.libraries) in which the ArchiveVerify job is running drive_id integer Yes No ID of the drive (see rva.drives)
the ArchiveVerify job is using tape_id integer Yes No ID of the tape (see rva.tapes)
that the job is verifying av_policy_id integer No No ID of the policy (see
rva.av_policy) that caused the tape to be verified
start_date time-stamp with time zone
Yes No The date and time when the job was started
current_pid integer No No The process ID of the verifier for this job
status USER-DEFINE D
Yes No One of the following: • Process starting • Initialization • Reserving drive • Mounting tape
• Waiting for unit ready • Ready to verify • Verifying • Verify done • Unmounting tape • Releasing drive • Complete
last_ver_block integer No No The last block verified in this job
tape_address character
varying No No The address from which the tape was loaded and where ArchiveVerify will attempt to return it (it is possible the tape will be returned to a different location if this location is occupied) session_id integer No No ID of the session (see
rva.sessions) for this ArchiveVerify job cancel_pending boolean Yes No True if the job is in the
process of being canceled Default: false
tape_moved boolean Yes No True if this job has moved the tape into the drive
successfully Default: false
drive_reserved boolean Yes No True if ArchiveVerify has reserved the drive successfully Default: false
rva.av_policy
Provides a list of currently configured ArchiveVerify policies. The following columns are included in this table:
rva.av_policy_member
Lists the mapping between pools and policies. A pool manifests itself as a tag (see rva.tags) in the database, and a tape in a pool manifests itself as a tagging (see rva.taggings). The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID name character
varying Yes No User-defined policy name description character
varying Yes No User-defined description policy active boolean Yes No True if the policy is active
Default: true av_policy_template_
id integer Yes No ID of the template (see rva.av_policy_template) from which this policy is derived priority smallint Yes No The priority of the policy;
lower number is higher priority
lib_id integer Yes No ID of the library where the tape resides
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID av_policy_id integer Yes No ID of the policy (see
rva.av_policy) for this mapping
tag_id integer Yes No ID of the tag (see rva.tags) for this mapping
rva.av_policy_param
Stores the parameters of a given ArchiveVerify policy. If a policy has parameters (for example, the number of days since a tape was last read), they are stored in this table. Currently, there is no easy way to match a param_num with the corresponding parameter from the web interface.
The following columns are included in this table:
rva.av_policy_template
Stores the possible policy types that can be created. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID av_policy_id integer Yes No ID of the policy (see
rva.av_policy) to which this parameter belongs
param_num smallint Yes No An internal identifier of the parameter (if the policy has multiple) that the row represents
value character
varying No No The value of the parameter (for example, “10” for the number of days since a tape was last read)
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID name character
varying Yes No The name of the policy as shown in the web interface description character
varying Yes No A short, textual description of the policy as displayed in the web interface
num_params smallint Yes No The number of parameters available to be configured for the policy
quick_av boolean Yes No True if the template is for a Quick Verify policy, or false otherwise
view_name character
rva.av_policy_template_param
Stores the types, descriptions, and default values of ArchiveVerify policies. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID av_policy_template_
id integer Yes No The policy type (see rva.av_policy_template) to which this parameter belongs param_num smallint Yes No The parameter (of multiple)
on the policy template that this row represents
name character
varying Yes No The name of the parameter description character
varying Yes No A short, textual description of the parameter param_type
USER-DEFINE D
Yes No The parameter type, including one of “Integer” or “String” (for example, “10” is an Integer and “my custom label” is a String)
default_value character varying
(255)
No No The default value of the parameter
rva.av_reason
Indicates the success or failure reasons for ArchiveVerify. The following column is included in this table:
Name Data type Not Null? Primary key? Description
reason character
varying No No Description of the reason for success or failure. One of the following values may be used: • Success
• General Failure • Tape had bad blocks • Unit Ready Failure • I/O Failure • Interrupted • Blackout period • Suspended • User cancelled • AV Shutdown • Drive not eligible • System Interrupted • General Error • Invalid Changer • Tape not found • Tape in another drive • Tape in a mail slot • Drive not found • Drive is occupied • Could not reserve drive • Could not release drive • Could not load tape • Could not unload tape • Verify(6) command not
rva.av_tape_health_description
Provides a description of a tape’s health. The following columns are included in this table:
rva.av_urgent_tape
Stores the list of tapes that are marked for urgent verification. Rows are removed as tapes are verified or marked as not urgent. The following columns are included in this table:
rva.av_verification
Stores the data that is displayed on the ArchiveVerify History page of the web interface. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
description text Yes No A description, including one of the following:
• healthy • hard errors • unreadable • unmountable
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
tape_id integer Yes No ID of the urgent tape (see
rva.tapes) that the row represents
date_added time-stamp with time zone
Yes No The date when the tape was marked urgent
quick_av boolean Yes No True if the ArchiveVerify job should follow Quick Verify logic
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
job_id integer No No ID of the ArchiveVerify job (see rva.av_in_progress)
lib_id integer No No ID of the library where the verification occurred (see
rva.libraries)
drive_id integer No No ID of the drive (see rva.drives) where the verification was performed
tape_id integer No No ID of the tape (see rva.tapes) that was verified
av_policy_id integer No No ID of the policy that caused the verification
start_date time-stamp with time zone
Yes No The date when verification started
end_date time-stamp with time zone
Yes No The date when verification finished
result rva.av_
result No No One of the following:• Completed: The verification finished • Failed: Not used
• Interrupted: The job was interrupted before it could finish
• Error: There was some problem/error such that the tape could not be verified. To be distinguished from ArchiveVerify was able to verify the tape, but the tape reported errors. The result might be “Error” if ArchiveVerify was unable to get the library to load the tape into the drive. bytes_read bigint Yes No The number of bytes verified
by the ArchiveVerify job
bad_blks bit
varying No No The found during the job; a bad number of bad blocks block is a block that the verify command returned an error while verifying
num_blocks integer Yes No The number of blocks, including bad blocks, verified by the ArchiveVerify job reason character
varying No No If finished with a status of Error the ArchiveVerify job or Interrupted, the reason column will be filled in with more information. One of the following values:
• Success
• General Failure • Tape had bad blocks • Unit Ready Failure • I/O Failure • Interrupted • Blackout period • Suspended • User cancelled • AV Shutdown • Drive not eligible • System Interrupted • General Error • Invalid Changer • Tape not found • Tape in another drive • Tape in a mail slot • Drive not found • Drive is occupied • Could not reserve drive • Could not release drive • Could not load tape • Could not unload tape • Verify(6) command not
supported
rva.av_verification_eod_cartridge_memory
Stores data collected by a verification job related to the EOD information for each partition of a tape.
The following columns are included in this table:
session_id integer No No ID of the session (see
rva.sessions) that records further details about the ArchiveVerify job
tape_health integer No No ID of the tape health (see
rva.av_tape_health_descriptio n) determined by the ArchiveVerify job eod_parsed_ correctly_partition_ one
boolean Yes No Whether RVA was able to successfully parse the EOD marker on partition 1 of a tape
eod_supported boolean Yes No True if reading the EOD marker is possible for the type of tape used in the AV
session, or false otherwise eod_valid_partition_
one boolean Yes No Whether the EOD marker is valid on partition 1 of a tape quick_av boolean Yes No Whether the record pertains
to a quick-verify session tape_health_
displayed_ui text Yes No The description of the tape health as determined by RVA
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID tstamp
time-stamp with time zone
Yes No Timestamp when this record was created
av_verification_id integer No No Foreign key to the
rva.av_verification row to which this belongs
rva.av_verification_read_data_by_partition
Stores read statistics captured by the verification job, sorted by partition. The following columns are included in this table:
tape_id integer No No Foreign key to the rva.tapes
row to which this belongs partition_number integer Yes No Identifies the partition on the
tape
eod_supported boolean Yes No Represents whether EOD information is supported in the cartridge memory for this tape
eod_valid boolean No No Represents if the verification job detected a valid EOD from the cartridge memory
eod_passed_crc boolean No No Represents if the verification job verified that the EOD cartridge memory passed a CRC checksum
eod_page_found boolean No No Represents if the verification job found the EOD page in the cartridge memory of the tape for this partition
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID read_errors_
uncorrected integer Yes No Number of hard errors detected mib_read_
uncompressed integer Yes No MiB of data read (uncompressed) tstamp
time-stamp with time zone
Yes No Timestamp when the record was created
av_verification_id integer No No Foreign key to the
rva.av_verification row with which this data is associated
rva.cleanup_settings
Stores cleanup settings for generated reports and email messages. The following columns are included in this table:
tape_id integer No No Foreign key to the rva.tapes
row with which this data is associated
partition_number integer Yes No Specifies the tape partition over which this data was collected
read_errors_
corrected integer Yes No Number of soft errors detected mib_read_
compressed integer Yes No MiB of data read (compressed)
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
enabled boolean Yes No Whether the setting is enabled
days_ago integer Yes No The number of days ago before records will be deleted qualifier character
varying No No The cleanup strategy qualifier for the model class model_class character
varying Yes No The model class to which the setting applies
rva.compatible_tape_types_drive_types
Describes the mapping between internally defined tape types and compatible internally defined drive types. This table is used by ArchiveVerify to determine the tapes that can be loaded into drives for use with ArchiveVerify.
The following columns are included in this table:
rva.daily_drive_stats
Stores drive data aggregated from the rva.drive_stats table in 24-hour intervals. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
tape_type character
varying Yes Yes Tape type as defined by Crossroads drive_type character
varying Yes Yes Drive Crossroadstype as defined by
Name Data type Not Null? Primary key? Description
lib_id smallint No No ID of the library (rva.libraries) that contained the drive when the data was collected; a null represents no library (such as for a
standalone drive)
drive_id smallint No No ID of the drive (see rva.drives) from which the data was collected
tape_id integer No No ID of the tape (see rva.tapes) that was in the drive when the data was collected; a null tape_id represents an
unknown tape or may be due to polling inaccuracies with the library
session_id integer No No ID of the session (see
rva.sessions) to which this segment belongs
segment_start time-stamp with time zone
Yes No The start time, aligned on a 24-hour boundary, for the segment. Data belongs to this segment if the time that the data corresponds to is greater than or equal to
segment_start and strictly less than segment_start plus 24 hours.
read_mib integer Yes No The MiB that RVA observed for the data that was read from the drive by the host during the 24-hour interval represented by the row Default: 0
read_mib_
compressed integer Yes No The MiB that RVA observed for the data read from the media to the drive during the 24-hour interval represented by the row
Default: 0 read_errors_
corrected smallint Yes No The number of “soft” read errors that RVA observed during the 24-hour interval represented by the row Default: 0
read_errors_
uncorrected smallint Yes No The number of “hard” read errors that RVA observed during the 24-hour interval represented by the row Default: 0
read_active smallint Yes No The approximate number of seconds the drive was actively reading
Default: 0
write_mib integer Yes No The MiB that RVA observed for data written from the host to the drive during the 24-hour interval represented by the row
Default: 0
write_mib_
compressed integer Yes No The MiB that RVA observed for data written from the drive to the media during the 24-hour interval represented by the row
Default: 0 write_errors_
corrected smallint Yes No The number of “soft” write errors that RVA observed during the 24-hour interval represented by the row Default: 0
write_errors_
uncorrected smallint Yes No The number of “hard” write errors that RVA observed during the 24-hour interval represented by the row Default: 0
write_active smallint Yes No The approximate number of seconds the drive was actively writing
Default: 0
total_active smallint Yes No The approximate number of seconds the drive was actively reading or writing (this is not the sum of read_active and write_active)
Default: 0
occupancy_time smallint Yes No Used to calculate the tape occupancy percentage as displayed on the drives page
rva.daily_drive_stats_no_av
Stores drive data aggregated from the rva.drive_stats table in 24-hour intervals except data associated with an ArchiveVerify session. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
lib_id smallint No No ID of the library (rva.libraries) that contained the drive when the data was collected; a null represents no library (such as for a
standalone drive)
drive_id smallint No No ID of the drive (see rva.drives) from which the data was collected
tape_id integer No No ID of the tape (see rva.tapes) that was in the drive when the data was collected; a null tape_id represents an
unknown tape or may be due to polling inaccuracies with the library
session_id integer No No ID of the session (see
rva.sessions) to which this segment belongs
segment_start time-stamp with time zone
Yes No The start time, aligned on a 24-hour boundary, for the segment. Data belongs to this segment if the time that the data corresponds to is greater than or equal to
segment_start and strictly less than segment_start plus 24 hours.
read_mib integer Yes No The MiB that RVA observed for the data that was read from the drive by the host during the 24-hour interval represented by the row Default: 0
read_mib_
compressed integer Yes No The MiB that RVA observed for the data read from the media to the drive during the 24-hour interval represented by the row
read_errors_
corrected smallint Yes No The number of “soft” read errors that RVA observed during the five-minute interval represented by the row
Default: 0 read_errors_
uncorrected smallint Yes No The number of “hard” read errors that RVA observed during the 24-hour interval represented by the row Default: 0
read_active smallint Yes No The approximate number of seconds the drive was actively reading
Default: 0
write_mib integer Yes No The MiB that RVA observed for data written from the host to the drive during the 24-hour interval represented by the row
Default: 0 write_mib_
compressed integer Yes No The MiB that RVA observed for data written from the drive to the media during the 24-hour interval represented by the row
Default: 0 write_errors_
corrected smallint Yes No The number of “soft” write errors that RVA observed during the 24-hour interval represented by the row Default: 0
write_errors_
uncorrected smallint Yes No The number of “hard” write errors that RVA observed during the 24-hour interval represented by the row Default: 0
write_active smallint Yes No The approximate number of seconds the drive was actively writing
Default: 0
rva.downtime
Provides a record of when RVA was powered off, accurate to the minute. The following columns are included in this table:
rva.drive_error_rates
Stores the average encountered errors for drives of various types. The following columns are included in this table:
total_active smallint Yes No The approximate number of seconds the drive was actively reading or writing (this is not the sum of read_active and write_active)
Default: 0
occupancy_time smallint Yes No Used to calculate the tape occupancy percentage as displayed on the drives page
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID downtime_start
time-stamp with time zone
Yes No Start of the downtime
downtime_end time-stamp with time zone
Yes No End of the downtime
Name Data type Not Null? Primary key? Description
drive_type character
varying No No The drive type as defined by Crossroads errs_per_gb double
precision No No Average errors per gigabyte errs_per_mib double
precision No No Average errors per mebibyte
rva.drive_firmware_sessions
Indicates the history of firmware for a drive. The following columns are included in this table:
rva.drive_library_sessions
Stores the history of installations of drives within libraries. The following columns are included in this table:
product character
varying No No The product of the drive as reported by a SCSI inquiry vendor character
varying No No The vendor of the drive as reported by a SCSI inquiry
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
drive_id integer Yes No ID of the drive using the firmware
ending_at time-stamp with time zone
No No Time when the firmware ceased being used with the drive
firmware character
varying No No The firmware type or version starting_at
time-stamp with time zone
No No Time when the firmware started being used with the drive
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID drive_id integer Yes No ID of the drive ending_at
time-stamp with time zone
No No Time when the drive was detected as being removed from the library
rva.drive_location_sessions
Provides the history of where drives reside in a library. The following columns are included in this table:
rva.drive_rates
Provides information about the expected best performance rates for various drives. The following columns are included in this table:
lib_id integer No No ID of the library starting_at
time-stamp with time zone
No No Time when the drive was first detected in the library
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID drive_id integer Yes No ID of the drive ending_at
time-stamp with time zone
No No Time when the drive was detected as leaving the location in the library location character
varying No No The library type-specific string describing a location starting_at
time-stamp with time zone
No No Time when the drive was detected as entering the location in the library
Name Data type Not Null? Primary key? Description
id smallint Yes Yes Internal ID vendor character
varying Yes Yes The from a SCSI inquiry to the vendor string as returned drive
product character
varying Yes Yes The returned from a SCSI inquiry product string as to the drive
rva.drive_stats
Stores drive data in a star schema in five-minute intervals. This table is considered “sparse” in that a row for particular five-minute interval is present only if data was collected for the corresponding library, drive, tape, and time interval. The tuple, including null values, of lib_id, drive_id, tape_id, session_id, and segment_start should be treated as the primary key. The following columns are included in this table:
stream real No No The best “streaming” rate for the drive as defined by Crossroads
one_to_one real No No The best one-to-one rate of the drive as defined by Crossroads
two_to_one real No No Deprecated
The best two-to-one rate of the drive as defined by Crossroads
three_to_one real No No Deprecated
The best three-to-one rate of the drive as defined by Crossroads
Name Data type Not Null? Primary key? Description
lib_id smallint No No ID of the library (rva.libraries) that contained the drive when the data was collected; a null represents no library (such as for a
standalone drive)
drive_id smallint No No ID of the drive (see rva.drives) from which the data was collected
tape_id integer No No ID of the tape (see rva.tapes) that was in the drive when the data was collected; a null tape_id represents an
unknown tape or may be due to polling inaccuracies with the library
session_id integer No No ID of the session (see
rva.sessions) to which this segment belongs
segment_start time-stamp with time zone
Yes No The start time, aligned on a five-minute boundary, for the segment. Data belongs to this segment if the time that the data corresponds to is greater than or equal to
segment_start and strictly less than segment_start plus five minutes.
read_mib integer Yes No The MiB that RVA observed for the data that was read from the drive by the host during the five-minute interval represented by the row
Default: 0 read_mib_
compressed integer Yes No The MiB that RVA observed for the data read from the media to the drive during the five-minute interval
represented by the row Default: 0
read_errors_
corrected smallint Yes No The number of “soft” read errors that RVA observed during the five-minute interval represented by the row
Default: 0 read_errors_
uncorrected smallint Yes No The number of “hard” read errors that RVA observed during the five-minute interval represented by the row
Default: 0
read_active smallint Yes No The approximate number of seconds the drive was actively reading
Default: 0
write_mib integer Yes No The MiB that RVA observed for data written from the host to the drive during the five-minute interval represented by the row
Default: 0 write_mib_
compressed integer Yes No The MiB that RVA observed for data written from the drive to the media during the five-minute interval
represented by the row Default: 0
write_errors_
corrected smallint Yes No The number of “soft” write errors that RVA observed during the five-minute interval represented by the row
Default: 0 write_errors_
uncorrected smallint Yes No The number of “hard” write errors that RVA observed during the five-minute interval represented by the row
Default: 0
write_active smallint Yes No The approximate number of seconds the drive was actively writing
Default: 0
total_active smallint Yes No The approximate number of seconds the drive was actively reading or writing (this is not the sum of read_active and write_active)
Default: 0
occupancy_time smallint Yes No Used to calculate the tape occupancy percentage as displayed on the drives page
rva.drive_status_descriptions
Lists the possible drive statuses (see rva.drive_statuses) and short textual descriptions for each. The following columns are included in this table:
rva.drive_status_owners
Provides an incomplete list of the possible internal Crossroads modules that can observe information about a drive. Future releases will further populate this table as more status information is collected. For example, statuses observed from issuing a logsense to a drive and issuing an inquiry to the drive are tracked separately. It is possible and quite common that SCSI logsense queries issued to drives return errors while SCSI inquiries do not.
The following columns are included in this table:
rva.drive_statuses
Provides the observed statuses for drives (see rva.drive_status_descriptions for list of possible statuses). The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id smallint Yes Yes Internal ID status_name character
varying Yes No The internal “key” of the status description character
varying Yes No A textual description of the status
Name Data type Not Null? Primary key? Description
id smallint Yes Yes Internal ID owner character
varying Yes No The the particular module, description representing subsystem, or command that
could observe statuses about drives
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID. owner_id smallint Yes No Deprecated.
drive_id smallint Yes No The ID of the drive (see
rva.drive_tape_alerts
Stores the tape alerts received from drives during ArchiveVerify sessions or from SNMP traps for properly configured IBM libraries. The following columns are included in this table:
severity_id smallint Yes No The ID of the severity (see
rva.severity_descriptions). status_description_
id smallint Yes No The ID of the status description (see
rva.drive_status_descriptions
), designating which status the row represents.
status_checked time-stamp with time zone
Yes No The most recent time RVA observed this status; internal and deprecated.
status_start time-stamp with time zone
Yes No The time the status was first observed or when it started.
status_end time-stamp with time zone
No No The time the status was no longer observed, or when it ended. It is null when the status is “current” or presently being observed. details xml No No Internal and deprecated. lib_id integer No No The ID of the library
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID. drive_id smallint Yes No The ID of the drive (see
rva.drives).
library_id smallint No No The ID of the library (see
rva.libraries).
owner_id smallint Yes No The ID of the status owner (see
rva.drive_status_owners). drive_status_id integer Yes No Reference to the drive status
associated with the tape alert.
status_start time-stamp with time zone
Yes No The time the status was first observed or when it started.
status_end time-stamp with time zone
No No The time the status was no longer observed, or when it ended. It is null when the status is “current” or presently being observed. status_checked
time-stamp with time zone
Yes No The most recent time RVA observed this status.
code smallint Yes No The Tape Alert reported by the drive (see
rva.tape_alert_descriptions). tape_id integer No No ID of the tape (see rva.tapes)
that was in the drive that generated the Tape Alert.
rva.drive_types
Stores the list of drive types as defined by Crossroads. This is a string that represents a particular drive type. It abstracts the differences from libraries, drives, and connection methods (such as ACSLS, SG, IBM 3494) and how a physical drive is reported.
The following column is included in this table:
Name Data type Not Null? Primary key? Description
drive_type character
varying Yes Yes One of the following values:• 3590B1A • 3590E1A • 3590H11 • 3592E05 • 3592E06 • 3592E07 • 3592J1A • 9840 • AIT-3 • DLT-S4 • DLT4000 • DLT7000 • DLT8000 • LTO1 • LTO2 • LTO3 • LTO4 • LTO5 • LTO6 • SAIT-1 • SAIT-2 • SDLT220 • SDLT320 • SDLT600 • T10000A • T10000B • T10000C • T9840B • T9840C • T9840D • T9940A • T9940B • unknown
rva.drives
Lists all drives that are being or have been polled. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id smallint Yes Yes Internal ID
lib_id smallint No No ID of the library (see
rva.libraries) where the drive currently resides
tape_id integer No No ID of the tape (see rva.tapes) that is currently in the drive; Null if no tape is loaded status integer No No Deprecated (see
rva.drive_stats) sn character
varying Yes No The serial number of the drive as reported by a SCSI SN Inquiry
wwnn character
varying No No The first World Wide Node Name of the drive as observed from RVA
name character
varying No No The user-defined name of the drive Default: The drive serial number
drive_type character
varying No No The drive type as defined by Crossroads (see
rva.drive_types) vendor character
varying No No The vendor of the drive as reported by a SCSI inquiry product character
varying No No The product of the drive as reported by a SCSI inquiry firmware character
location character
varying No No A representative of where the location string drive resides in the library. Value depends on the library type. For SG, it is the element ID. For IBM 3494, it is the library device number (represented by a decimal value). For ACSLS, it is the ACS, LSM, Panel, Column, and Row.
needs_cleaning boolean No No True if the drive needs cleaning as reported by logsense queries; can be null if it cannot or has not yet been determined if the drive needs cleaning
polling_enabled boolean Yes No True if the drive is currently configured to be polled Default: true
last_load timestam p(0) with time zone
No No The date and time when a tape was last loaded in the drive
last_contact time-stamp (0) with time zone
No No The date and time when a SCSI command was last sent to the drive successfully; “successfully” is defined as the drive responded, even if it reported errors; for example, last_contact would not be updated if the cable was unplugged or the FC card was faulty or the drive was zoned out
first_contact time-stamp (0) with time zone
No No Deprecated and currently incorrect
downed boolean No No Deprecated and currently not used
Default: false
verify_allowed boolean No No True if ArchiveVerify is configured to use this drive Default: false
verify_allow_read boolean No No True if ArchiveVerify is allowed to issue SCSI read commands instead of verify commands
Default: true av_backoff_end_
date time-stamp with time zone
No No The date when ArchiveVerify will attempt to use the drive
again. If a drive is having “problems”, the backoff end date is set to some short time in the future and
ArchiveVerify will ignore the drive until that time. This is to avoid making a bad problem worse.
verify_requires_read boolean No No True if there is no way to verify the data without sending a SCSI read command (for example, the drive does not support the SCSI verify command) Default: false
av_failure_count smallint Yes No Number of ArchiveVerify failures for the drive bma_failures smallint Yes No Errors encountered when
attempting to reserve the drive from a BMA
polling_strategy_id smallint Yes No Internal use last_bma_request_
at time-stamp with time zone
No No The last time a request was made to reserve the drive from the BMA
reserve_from_bma_
lib_id smallint No No ID of the library from which the drive is reserved through integration with the BMA
rva.event_definitions
Lists the possible events that a tape, library, or drive may encounter (for example, “a drive was removed from the library”). The following columns are included in this table:
rva.events
Lists the events that a tape, library, or drive has encountered. (for example, “a drive was removed from the library”). The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id smallint Yes Yes Internal ID event_name character
varying Yes No A “short” or “constant” name used to identify the event description character
varying No No A such as “A tape was loaded description of the event, into a drive”
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
lib_id smallint No No ID of the library (see
rva.libraries) to which the event corresponds; May be null if the event is not applicable to a library
drive_id smallint No No ID of the drive (see rva.drives) to which the event
corresponds; May be null if the event is not applicable to a drive
tape_id integer No No ID of the tape (see rva.tapes) to which the event
corresponds; May be null if the event is not applicable to a tape
event_def_id smallint Yes No ID of the event type (see
rva.event_definitions) tstamp
time-stamp with time zone
Yes No The date and time when the event occurred
rva.hourly_drive_stats
Stores drive data aggregated from the rva.drive_stats table in one-hour intervals. The following columns are included in this table:
data character
varying No No Other the event, specific to the event data associated with and event type in question;
usually null processed time-stamp with time zone No No Internal flag Default: NULL::timestamp with time zone
Name Data type Not Null? Primary key? Description
lib_id smallint No No ID of the library (rva.libraries) that contained the drive when the data was collected; a null represents no library (such as for a
standalone drive)
drive_id smallint No No ID of the drive (see rva.drives) from which the data was collected
tape_id integer No No ID of the tape (see rva.tapes) that was in the drive when the data was collected; a null tape_id represents an
unknown tape or may be due to polling inaccuracies with the library
session_id integer No No ID of the session (see
rva.sessions) to which this segment belongs
segment_start time-stamp with time zone
Yes No The start time, aligned on a one-hour boundary, for the segment. Data belongs to this segment if the time that the data corresponds to is greater than or equal to
segment_start and strictly less than segment_start plus one hour.
read_mib integer Yes No The MiB that RVA observed for the data that was read from the drive by the host during the one-hour interval represented by the row Default: 0
read_mib_
compressed integer Yes No The MiB that RVA observed for the data read from the media to the drive during the one-hour interval represented by the row
Default: 0 read_errors_
corrected smallint Yes No The number of “soft” read errors that RVA observed during the one-hour interval represented by the row Default: 0
read_errors_
uncorrected smallint Yes No The number of “hard” read errors that RVA observed during the one-hour interval represented by the row Default: 0
read_active smallint Yes No The approximate number of seconds the drive was actively reading
Default: 0
write_mib integer Yes No The MiB that RVA observed for data written from the host to the drive during the one-hour interval represented by the row
Default: 0
write_mib_
compressed integer Yes No The MiB that RVA observed for data written from the drive to the media during the one-hour interval represented by the row
Default: 0 write_errors_
corrected smallint Yes No The number of “soft” write errors that RVA observed during the oe-hour interval represented by the row Default: 0
write_errors_
uncorrected smallint Yes No The number of “hard” write errors that RVA observed during the one-hour interval represented by the row Default: 0
write_active smallint Yes No The approximate number of seconds the drive was actively writing
Default: 0
total_active smallint Yes No The approximate number of seconds the drive was actively reading or writing (this is not the sum of read_active and write_active)
Default: 0
occupancy_time smallint Yes No Used to calculate the tape occupancy percentage as displayed on the drives page
rva.hourly_stats_no_av
Stores drive data aggregated from the rva.drive_stats table in one-hour intervals except for data associated with an ArchiveVerify session. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
lib_id smallint No No ID of the library (rva.libraries) that contained the drive when the data was collected; a null represents no library (such as for a
standalone drive)
drive_id smallint No No ID of the drive (see rva.drives) from which the data was collected
tape_id integer No No ID of the tape (see rva.tapes) that was in the drive when the data was collected; a null tape_id represents an
unknown tape or may be due to polling inaccuracies with the library
session_id integer No No ID of the session (see
rva.sessions) to which this segment belongs
segment_start time-stamp with time zone
Yes No The start time, aligned on a one-hour boundary, for the segment. Data belongs to this segment if the time that the data corresponds to is greater than or equal to
segment_start and strictly less than segment_start plus one hour.
read_mib integer Yes No The MiB that RVA observed for the data that was read from the drive by the host during the one-hour interval represented by the row Default: 0
read_mib_
compressed integer Yes No The MiB that RVA observed for the data read from the media to the drive during the one-hour interval represented by the row
Default: 0 read_errors_
corrected smallint Yes No The number of “soft” read errors that RVA observed during the one-hour interval represented by the row Default: 0
read_errors_
uncorrected smallint Yes No The number of “hard” read errors that RVA observed during the one-hour interval represented by the row Default: 0
read_active smallint Yes No The approximate number of seconds the drive was actively reading
Default: 0
write_mib integer Yes No The MiB that RVA observed for data written from the host to the drive during the one-hour interval represented by the row
Default: 0 write_mib_
compressed integer Yes No The MiB that RVA observed for data written from the drive to the media during the one-hour interval represented by the row
Default: 0 write_errors_
corrected smallint Yes No The number of “soft” write errors that RVA observed during the one-hour interval represented by the row Default: 0
write_errors_
uncorrected smallint Yes No The number of “hard” write errors that RVA observed during the one-hour interval represented by the row Default: 0
rva.libraries
Provides the list of libraries detected during discovery. The following columns are included in this table:
write_active smallint Yes No The approximate number of seconds the drive was actively writing
Default: 0
total_active smallint Yes No The approximate number of seconds the drive was actively reading or writing (this is not the sum of read_active and write_active)
Default: 0
occupancy_time smallint Yes No Used to calculate the tape occupancy percentage as displayed on the drives page
Name Data type Not Null? Primary key? Description
id smallint Yes Yes Internal ID sn character
varying Yes No The serial number of the library, which may be obtained through various mechanisms, including manual configuration wwnn character
varying No No The first World Wide Node Name of the library observed by RVA over Fibre Channel name character
varying No No The user-defined name of the library Default: The serial number description character
varying No No Not used vendor character
varying No No The vendor of the library, which may be obtained through various mechanisms, differs by communication type (such as SG, ACSLS, IBM 3494), and may be null
product character
varying No No The description of the library, product or model which may be obtained
through various mechanisms, differs by communication type (such as SG, ACSLS, IBM 3494), and may be null firmware character
varying No No The library, which may be firmware revision of the obtained through various
mechanisms, differs by communication type (such as SG, ACSLS, IBM 3494), and may be null
slot_count integer No No The number of slots reported by the library, which may be
null for some libraries and communication types unknown_drives_
count integer Yes No The number of drives reported by the library minus the ones known by RVA. Some libraries and
communication types do not report the serial numbers or locations for the drives in the library. In this case, it is necessary to manually configure the drives (of many possible on the SAN) that belong to the library. If not all of them are configured, or if new drives are added to the library after configuration, unknown_drives_count can change.
Default: 0
display_enabled boolean Yes No True if the library is not hidden
Default: true
manual_config boolean Yes No True if the library was manually configured Default: false
last_contact time-stamp (0) with time zone
Yes No The last time RVA successfully received a response (even an error response) from the library Default: rva.crds_timestamp() first_contact
time-stamp (0) with time zone
Yes No Deprecated and currently incorrect
Default: rva.crds_timestamp() non_barcoded_count integer No No Currently incorrect
The number of tapes reported by the library without
barcodes; RVA does not support tapes without barcodes or duplicate barcodes (they should be removed from the library) av_backoff_end_
date time-stamp with time zone
No No The date when ArchiveVerify will attempt to use the library again. If a library is having “problems”, the backoff end date is set to some short time in the future and
ArchiveVerify will ignore the library until that time. This is to avoid making a bad
problem worse.
av_failure_count smallint Yes No Number of ArchiveVerify failures for the drive sticky_drive_
attributes boolean No No True if maintaining the drive name and pool membership after the drive is replaced with new hardware with a new serial number
suspended boolean Yes No True if the ArchiveVerify configuration has been set to suspended, or false otherwise map_drive_name_
to_location boolean Yes No True if the drive name should be set to the physical location of the device (ACSLS and IBM 35000 libraries) or to the element ID for other libraries
rva.library_connections
Stores the list of libraries to which RVA is currently connected and polling. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID name character
varying No No The user-defined name for the connection type character
varying No No The type of the connection (SG, ACSLS, IBM 3494) to the library
library_id integer Yes No ID of the library (see
rva.libraries) for this connection
polling_enabled boolean No No True if the library is currently configured to be polled using this connection
lsms character
varying No No The list of LSMs to be polled if the library is polled using ACSLS
acs character
varying No No The ACS to poll if the library is polled using ACSLS lsms_discovered character
varying No No The list of all LSMs reported by the library discovered_on_last_
attempt boolean No No True library was possible when the if communication to the last discovery was performed display_enabled boolean No No If false, the library is
classified as hidden and not part of normal RVA
monitoring
polling_interval smallint No No How often the library is polled connection_definitio
n_id integer No No ID of the connection definition which contains information required to make the
connection (such as hostname, username, and password for ACSLS)
rva.mam_attribute_descriptions
Provides the Medium Auxiliary Memory (MAM) codes defined within the SCSI specification. The following columns are included in this table:
rva.mam_data
Provides the Medium Auxiliary Memory (MAM) data read from tape cartridges over SCSI. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
code integer Yes Yes Numeric code
description text Yes No Human-readable description
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
binary_value bytea No No The binary chunk of data for the MAM code
code integer Yes No Refers to a MAM code defined in the SCSI specification and defined in
rva.mam_attribute_descriptio ns
drive_id smallint Yes No The ID of the drive containing the tape containing the MAM data
tape_id integer Yes No The ID of the tape containing the MAM data
text_value text No No The character chunk of data for the MAM code
tstamp time-stamp with time zone
Yes No Time when the data was retrieved
rva.ramessage
Stores the alerts and reports that have been generated. The following columns are included in this table:
rva.scsi_drive_statuses
Provides the SCSI statuses observed for drives RVA that is monitoring. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
raf_id integer No No ID of the report or alert that caused this to be generated raf_name character
varying Yes No The name of the report or alert alert boolean Yes No True if this was an alert body text Yes No Contents of the message timestamp
time-stamp with time zone
Yes No The time the message was generated
lib_id integer No No ID of the library from which the alert was generated
Name Data type Not Null? Primary key? Description
id integer No Yes Internal ID
drive_id smallint Yes No ID of the drive from which the status was polled
owner_id smallint Yes No ID of the Crossroads module that observed the status of the drive
drive_status_id integer Yes No ID of the Crossroads-defined drive status (see
rva.drive_statuses) status_start
time-stamp with time zone
Yes No Time when the status was first observed
rva.scsi_status_descriptions
Describes the known possible SCSI status values that a device can return. The following columns are included in this table:
rva.segments
Provides the time dimension in a star schema or standard dimensional model. The following columns are included in this table:
status_end time-stamp with time zone
No No Null if status is in progress
status_checked time-stamp with time zone
Yes No The last time status was observed
Default: rva.crds_timestamp() status smallint No No Status received from the drive sense_key smallint No No Sense key received from the
drive
asc smallint No No ASC received from the drive ascq smallint No No ASCQ received from the drive
Name Data type Not Null? Primary key? Description
status smallint Yes No The SCSI status
severity smallint No No The ID of the severity (see
rva.severity_descriptions) description character
varying No No A textual description of the SCSI status
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID segment_start
time-stamp with time zone
No No The start of the five-minute interval
rva.sense_key_descriptions
Describes the known possible SCSI sense key (skey) values that a device can return. The following columns are included in this table:
rva.sessions
Stores information about a session, which consists of loading tape into a drive, collecting data from the drive, and unloading the tape from the drive. Note that if reservation conflicts occur, session data may be inaccurate.
The following columns are included in this table:
Name Data type Not Null? Primary key? Description
skey smallint Yes No The SCSI sense key (skey) severity smallint No No The ID of the severity (see
rva.severity_descriptions) description character
varying No No A textual description of the SCSI sense key (skey)
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
lib_id smallint No No ID of the library (see
rva.libraries) used during the session
drive_id smallint Yes No ID of the drive (see rva.drives) used during the session tape_id integer Yes No ID of the tape (see rva.tapes)
used during the session; may be incorrect if reservation conflicts occurred due to non-compliant drives
last_activity time-stamp (0) with time zone
Yes No The last date and time when RVA observed data read or written to or from the drive Default: rva.crds_timestamp() session_start
time-stamp (0) with time zone
Yes No The date and time when RVA observed the tape being loaded in the drive
session_end time-stamp (0) with time zone
No No The date and time when RVA observed the tape being unloaded from the drive read_mib bigint No No The MiB that RVA observed
for the data that was read from the drive by the host during the course of the session
Default: 0 read_mib_
compressed bigint No No The MiB that RVA observed for the data read from the media by the drive during the course of the session
read_errors_
corrected integer No No The number of “soft” read errors that RVA observed during the course of the session
Default: 0 read_errors_
uncorrected integer No No The number of “hard” read errors that RVA observed during the course of the session
Default: 0
read_active integer No No The approximate number of seconds the drive was actively
reading Default: 0
write_mib bigint No No The MiB that RVA observed for data written from the host to the drive during the course of the session
Default: 0 write_mib_
compressed bigint No No The MiB that RVA observed for data written from the drive to the media during the course of the session
Default: 0
write_errors_
corrected integer No No The number of “soft” write errors that RVA observed during the course of the session
Default: 0 write_errors_
uncorrected integer No No The number of “hard” write errors that RVA observed during the course of the session
Default: 0
write_active integer No No The approximate number of seconds the drive was actively writing
Default: 0
total_active integer No No The approximate number of seconds the drive was actively
reading or writing (this is not the sum of read_active and write_active)
Default: 0
occupancy_time integer Yes No Used to calculate the tape occupancy percentage as displayed on the View Drives page
rva.severity_descriptions
Provides the enumeration of severities for various error and status conditions (for example, “drive on fire” is more severe than “waiting for drive to become ready after tape load”). The following columns are included in this table:
rva.simultaneous_drives_in_use
Provides aggregate data for drives in use within a particular five-minute interval. This data is occupancy based. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id smallint Yes Yes ID of the severity, lower being more severe Default: nextval('rva.severity_ descriptions_sequence':: regclass) description character
varying Yes No The name of the severity (such as “Critical” or “Information”); analogous to log levels
Name Data type Not Null? Primary key? Description
id integer Yes No Internal ID.
throughput numeric No No The amount of data
transferred within the time interval.
drives_in_use integer No No The count of drives in use. segment_start
time-stamp with time zone
No No The start time, aligned on a five-minute boundary, for the segment. Data belongs to this segment if the time that the data corresponds to is greater than or equal to
segment_start and strictly less than segment_start plus five minutes.
rva.taggings
Provides the association of tapes, drives, and libraries to pools (see rva.tapes, rva.drives,
rva.libraries). May be used for other generic internal many-to-many associations as well. The following columns are included in this table:
rva.tags
Lists the possible pools in which tapes (see rva.tapes) may be placed. This may also be used for other internal Crossroads groupings. The following columns are included in this table:
segment_duration integer No No The number of seconds within the five minutes that the count of drives were in use. This number will not exceed 300 seconds.
lib_id smallint No No Id of the library
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
tag_id integer Yes No ID of the tag (see rva.tags) in this association
obj_id integer Yes No ID of the tape, drive, or library in this association obj_type character
varying Yes No The type of the object in this association; one of the following:
• RvaSchema::Tape • RvaSchema::Drive • RvaSchema::Library
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID name character
varying Yes No The name of the pool or tag description text Yes No Not used
rva.tape_alert_descriptions
Maps tape alert codes to text descriptions. The following columns are included in this table:
rva.tape_cartridge_memory
Provides the cartridge memory data read from LTO tape cartridges. The following columns are included in this table:
lib_id integer Yes No ID of the library associated with the tag
type character
varying No No Discriminator column denoting whether this is a drive pool or tape pool tag
Name Data type Not Null? Primary key? Description
code smallint Yes Yes Tape Alert code reported by the drive
severity smallint No No RVA severity for the alert description text Yes No Text description of the alert
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
bool_val boolean No No The boolean value of the data char_val character
varying No No The character value of the data checked_at
time-stamp with time zone
No No Time when the data was retrieved
int_val integer No No The integer value of the data name character
varying Yes No Descriptive name of the data (currently only EOD supported)
tape_id integer Yes No The tape from which the cartridge memory was retrieved
rva.tape_types
Lists the supported tape types as defined by Crossroads. The type of tape is used to abstract libraries and connection method (ACSLS, SG, IBM 3494) differences from how a physical tape is reported by the library.
The following columns are included in this table:
Name Data type Not Null? Primary key? Description
tape_type character
varying Yes Yes An that represents the class of internally defined string tapes
is_cleaning_tape boolean No No True if the tape is a a cleaning tape (ACSLS may give conflicting data, through a manual override in ACSLS, that RVA ignores)
cleaning_tape_type character
varying Yes No The cleaning cartridge type appropriate for the tape type. Value will be one of the following: • 3480CLN • 3490CLN • 3590CLN • 3592CLN • 8mmSDXCLN • 9840CLN • 9840DCLN • 9940CLN • DD3DCLN • DLTCLN • JLABELCLN • KLABELCLN • LTOCLN • SAIT1CLN • SAIT2CLN • SDLTCLN • SDLTICLN • SDX1CLN • T10KCLN • unknown • VCART • virtual
rva.tapes
Lists the tapes that have been reported by a library. The following columns are included in this table:
Name Data type Not Null? Primary key? Description
id integer Yes Yes Internal ID
lib_id smallint No No ID of the library (see
rva.libraries) where the tape currently resides; may be null or out-of-date if the tape was present when polling stopped or switched and the tape has not been seen in a different library
barcode character
varying Yes No Volume ID or barcode of the tape as reported by the library
name character
varying No No The user-defined name of the tape tape_type character
varying No No The internal tape type
is_cleaning_tape boolean No No Deprecated and currently incorrect; use rva.tape_types
av_licensed boolean Yes No True if this tape has consumed an ArchiveVerify license Default: false first_contact time-stamp with time zone
Yes No Deprecated and currently incorrect Default: rva.crds_timestamp() entered_library time-stamp with time zone
av_backoff_end_
date time-stamp with time zone
No No The date when ArchiveVerify will attempt to use the tape again. If a tape is having “problems”, the backoff end date is set to some short time in the future and
ArchiveVerify will ignore the tape until that time. This is to avoid making a bad problem worse.
av_failure_count smallint Yes No Number of ArchiveVerify failures for the tape av_in_progress boolean Yes No True if a verification is in
progress for this tape status_id smallint Yes No ID of the description for the
tapes current status.
status_reason_id smallint No No ID of the reason for the tape's current status.
status_time timestam p with time zone
No No Time the tape entered its current status.
default_tape_type character
varying No No References the row that is the default for this rva.tape_types tape
bma_failures smallint Yes No Errors encountered when attempting to reserve this tape loaded from the BMA last_bma_request_
at time-stamp with time zone
No No The last time a request was made to reserve the tape from the BMA
reserve_from_bma_
lib_id smallint No No The ID of the library from which the tape is reserved by BMA integration