Gives you access to one or more domains, relations, databases, or record types and controls the access of other users to those domains or databases. You can also use the READY command to ready a domain or database again in order to change your access mode or access option. Format 1 READY domain-path-name [AT node-spec] [AS alias-1] [ PROTECTED ] [ READ ] [ ] [ WRITE ] [ CONSISTENCY ] [ SHARED ] [ MODIFY ] [ CONCURRENCY ][,...] [ EXCLUSIVE ] [ ] [ ] [ EXTEND ] [SNAPSHOT] Format 2 READY database-path-name [SNAPSHOT] [PROTECTED ] [ READ ] [ ] [ WRITE ] [ CONSISTENCY ] [SHARED ] [ MODIFY ] [ CONCURRENCY ] [EXCLUSIVE ] [ ] [ ] [ EXTEND ] [ { rdb-relation-name } ] [USING { dbms-record-name } [ AS alias ] ] [ { } ] [ [SNAPSHOT] ] [ ][,...] [ [ PROTECTED ] [READ ] ] [ [ ] [WRITE ] [CONSISTENCY ] ] [ [ SHARED ] [MODIFY ] [CONCURRENCY ] ] [ [ EXCLUSIVE ] [ ] [ ] ] [ [EXTEND ] ]
1 – Arguments
domain-path-name Is the dictionary path name of a domain to which you want access or the domain table whose access option you want to change. node-spec Is the name of a node and an optional access control string. A node name is a 1- to 6-character name that identifies the location on the network. Examples are BIGSYS and LILSYS. An access control string indicates a particular account on the remote node. It consists of a user name, followed by one or more blanks or tabs, a password, and an optional account name. The following three node specifications are valid: BIGSYS BIGSYS"MORRISON RYLE" BIGSYS"MORRISON RYLE KANT" On DECnet links to some non-OpenVMS systems, you can use the UIC number in place of the user name. For example: BIGSYS"[240,240] RYLE" BIGSYS"[240,240] RYLE KANT" In the examples, the remote node is BIGSYS the user name is MORRISON, the UIC is [240,240], the password is RYLE, and the account name is KANT. You can also use a prompting value expression to prompt the user for the user name, password, account name, or UIC. Use single quotation marks for the prompt string. For example: DTR> READY CDD$TOP.DTR32.MORRISON.YACHTS AT CON> BIGSYS"*.'username' *.'password'" Enter username: MORRISON Enter password: DTR> alias Is a name you use if you include the AS clause in the READY command to refer to the domain, relation, or Oracle CODASYL DBMS record specified. You use the alias in place of the given name of the domain, relation, or Oracle CODASYL DBMS record where the syntax of a statement calls for that domain, relation, or Oracle CODASYL DBMS record name. If you are using an alias for a domain name, do not use the alias in full or relative dictionary path names. database-path-name Is the Oracle CDD/Repository path name defined for the DEC DATATRIEVE definition of the Oracle CODASYL DBMS, Oracle Rdb, VAX Rdb/ELN, or DEC DB Integrator Gateway database, or for the relational database definition created by Oracle Rdb. It can also be a CDD$DATABASE object. If you ready a Oracle CODASYL DBMS or relational database without specifying any relation or record names, DEC DATATRIEVE readies all relations or records in the database. READY accepts both DMU and CDO style path names. relation-name Is the name assigned to the relation when the relational database was created. The relation name can be the name of a view relation. record-name Is the name assigned to the Oracle CODASYL DBMS record when the database was created. SNAPSHOT Are the options you can select to control the access of other users to a domain, relation, or Oracle CODASYL DBMS record you ready. The specific constraints are explained in Access Options: Table 1-6 Access Options Option Access Constraints SNAPSHOT SNAPSHOT is a READ access for databases that takes a "picture" of the database when it is readied. In order to have SNAPSHOT access, all relations or records pertaining to the database must be readied with SNAPSHOT access. Any other user can access the same database with any access mode and option. In general, you do not see other users' changes until the end of the transaction. If you use SNAPSHOT with another option, such as CONCURRENCY, you may see other users' changes, depending on the database system. SNAPSHOT is the default for relational databases, relations, and domains based on relational sources. PROTECTED Any other user can have only READ access to records in the domain or relation. No other user can have WRITE, MODIFY, or EXTEND access to the records in the domain or relation. This option is the default for domains containing records from RMS files and for all view domains. SHARED Any other user can have access to the domain, database, relation, or Oracle CODASYL DBMS record at the same time, in any access mode. This option is the default for Oracle CODASYL DBMS domains, Oracle CODASYL DBMS databases, and Oracle CODASYL DBMS records. EXCLUSIVE No other user can have access to the domain, database, relation, or Oracle CODASYL DBMS record at the same time, in any access mode. If the domain is based on a RMS file, the file containing the data is locked by RMS. READ Are the options you can select to request a mode of access to a domain, database, relation, or Oracle CODASYL DBMS record. When using Format 1, whether you get that mode of access is determined by privileges assigned to you in the access control list of the domain. When using Format 2, whether you get that mode of access is determined by privileges assigned to you in the access control list of the database definition. When you are using either Format 1 or Format 2 and you are accessing a Oracle CODASYL DBMS or relational database, you must also have appropriate privileges in the Oracle CODASYL DBMS, Oracle Rdb or VAX Rdb/ELN access control lists to request the access mode you select. For Oracle CODASYL DBMS, you need access to the schema, subschema, record and DEC DATATRIEVE database definitions in the data dictionary. CONSISTENCY Are the options you can select to determine whether you can see changes made by other users to the data you are accessing. CONSISTENCY guarantees that while you are accessing data, you do not see updates made by other users. CONCURRENCY allows you to see other users' updates to the data you are accessing. CONSISTENCY is the DEC DATATRIEVE default for the first ready of a relational source. Once you specify CONSISTENCY or CONCURRENCY, that option becomes the default until you change the option in a subsequent ready or you finish the database. Multi-User Access to Domains Based on RMS Files summarizes the effects of various combinations of access options and access modes for domains based on RMS files. Table 1-7 Multi-User Access to Domains Based on RMS Files Another User Your Can Then Effect You Ready a Ready the on Other Domain Domain Users Other Users'Effect on You EXCLUSIVE No access. No one No effect. READ else can EXCLUSIVE read the WRITE file. PROTECTED PROTECTED No one No effect. READ READ else can SHARED READ write to the file. PROTECTED SHARED READ No one No effect. WRITE else can write to the file. SHARED READ PROTECTED No one Users with WRITE access READ with may change records you are PROTECTED WRITE reading or have read. WRITE access SHARED READ can SHARED WRITE select your selected record. SHARED WRITE SHARED READ No one You cannot write to the SHARED WRITE else can selected record of any modify other user. You cannot your write to the target record selected of a MODIFY or ERASE record statement entered by or the a SHARED WRITE user. A target SHARED WRITE user can also record write to a record you have of your just modified. MODIFY or ERASE state- ment. You can modify a record another user has just modi- fied. When two applications try to access the same domain based on a RMS file, RMS may lock a record that DEC DATATRIEVE needs to access. DEC DATATRIEVE then tries for 12 seconds to access the record. At the end of this period, DEC DATATRIEVE takes one of two actions, depending on whether SET LOCK_WAIT is in effect. o If SET NO LOCK_WAIT is in effect, you receive an RMS$_RLK message: "Target record currently locked by another stream." Then DEC DATATRIEVE aborts the statement. SET NO LOCK_WAIT is the default. o If SET LOCK_WAIT is in effect, DEC DATATRIEVE turns control over to RMS to wait for the record. You cannot use CTRL/C to cancel the wait. RMS waits until the record is released, or, in case of deadlock, you receive the RMS deadlock error message. The LOCK_WAIT setting applies to all sources, including Oracle CODASYL DBMS and relational databases which are readied after the SET LOCK_WAIT command is issued. NO LOCK_WAIT was selected as the default for DATATRIEVE because it is the RMS default. However, NO LOCK_WAIT is not always the recommended mode for relational access. LOCK_WAIT is required for DEC DB Integrator Gateway. Multi-User Access to Oracle CODASYL DBMS, Oracle Rdb, and VAX Rdb/ELN Sources summarizes the effects of various combinations of access options and access modes for Oracle CODASYL DBMS domains and Oracle Rdb or VAX Rdb/ELN domains and relations. Table 1-8 Multi-User Access to Oracle CODASYL DBMS, Oracle Rdb, and VAX Rdb/ELN Sources Another You Ready User Can a Domain, Then Ready Database, the Domain, Relation, Database, Your Oracle Oracle Effect CODASYL CODASYL on Other DBMS Record DBMS Record Users Other Users' Effect on You EXCLUSIVE No access. No one No effect. READ else can EXCLUSIVE read the WRITE realm or rela- tion. PROTECTED PROTECTED No one No effect. READ READ else can SHARED READ write to the realm or rela- tion. PROTECTED SHARED READ No one You may encounter read WRITE else can locks other users have put write on a record when you try to the to modify it. realm or re- lation. Other users may en- counter write locks during your transac- tion. SHARED READ PROTECTED A SHARED You may encounter write READ WRITE locks during another PROTECTED user user's transaction. WRITE may have SHARED READ to wait SHARED WRITE until you release your read locks. SNAPSHOT for With any No You do not see changes Oracle Rdb access and effect other users make to the or VAX Rdb mode. on database until a COMMIT or /ELN domains users. ROLLBACK is performed. and Oracle CODASYL DBMS records SHARED WRITE SHARED READ Other You may encounter read and SHARED WRITE users write locks during another may en- user's transaction. counter read and write locks during your transac- tion.
2 – Examples
The following example readies the domain YACHTS for WRITE access: DTR> READY YACHTS WRITE The following example readies the domain PHONES for EXTEND access: DTR> READY PHONES (*) EXTEND Enter password for PHONES: DTR> The following example defines a domain with the prompt built into the domain definition. DEC DATATRIEVE does not display the password: DTR> DEFINE DOMAIN PROMPT_YACHTS USING YACHT(*) ON YACHT; DTR> READY PROMPT_YACHTS AS PYTS Enter password for YACHT: DTR> The following example readies the relations EMPLOYEES and SALARY_ HISTORY in the Oracle Rdb database PERSONNEL for SNAPSHOT access: DTR> READY PERSONNEL USING EMPLOYEES, SALARY_HISTORY DTR> The following example readies the SALARY_HISTORY relation in the Oracle Rdb database PERSONNEL for SHARED WRITE access with the CONCURRENCY option: DTR> READY PERSONNEL SHARED WRITE USING SALARY_HISTORY CONCURRENCY The following example readies the Oracle CODASYL DBMS domain VENDORS for the default access mode SHARED READ: DTR> READY VENDORS DTR>