|
|
1.1 root 1: .th RESTORE UNIX 3/14/79
2: .sh NAME
3: restore \- recover from an \*(II or \*(UU crash.
4: .sh SYNOPSIS
5: .bd restore
6: [
7: .bd \-a
8: ] [
9: .bd \-s
10: ] [
11: .bd \*(+-w
12: ] [ database ... ]
13: .sh DESCRIPTION
14: .it Restore
15: is used to restore a data base after
16: an \*(II or \*(UU crash.
17: It should always be run after any abnormal termination
18: to ensure the integrity of the data base.
19: .s3
20: In order to run restore,
21: you must be the DBA for the database you are restoring
22: or the \*(II superuser and specify the
23: .bd \-s
24: flag.
25: .s3
26: If no databases are specified then all databases for which you are the DBA
27: are restored.
28: All databases will be restored if the \*(II superuser
29: has specified the
30: .bd \-s
31: flag.
32: .s3
33: If the
34: .bd \-a
35: flag is specified you will be asked before restore takes any serious
36: actions.
37: It is advisable to use this flag if you suspect the database is in bad shape.
38: Using /dev/null as input with the
39: .bd \-a
40: flag will provide a report of problems in
41: the data base.
42: If there were no errors while restoring a database,
43: .it purge
44: will be called, with the same flags that were given to
45: .it restore,
46: to remove unwanted files
47: and system temporaries.
48: .it Restore
49: may be called with the
50: .bd \-f
51: and/or
52: .bd \-p
53: flags for
54: .it purge.
55: Unrecognized files and expired relations are not removed unless the proper
56: flags are given.
57: In the case of an incomplete destroy, create or index
58: .it restore
59: will not delete
60: files for partially created or destroyed relations.
61: .it Purge
62: must be called with the
63: .bd \-f
64: flag to accomplish this.
65: .s3
66: .it Restore
67: locks the data base while it is being processed.
68: If a data base is busy
69: .it restore
70: will report this and go on to the next data base.
71: If standard input is not a terminal
72: .it restore
73: will wait for the data base to be free.
74: If the
75: .bd \-w
76: flag is set
77: .it restore
78: will not wait regardless of standard input.
79: If
80: .bd +w
81: is set it will always wait.
82: .s3
83: .it Restore
84: can recover a database from an update which had finished filling the
85: batch file.
86: Updates which did not make it to this stage should be rerun.
87: Similarly modifies which have finished recreating the relation will be completed
88: (the relation relation and attribute relations will be updated).
89: If a destroy was in progress it will be carried to completion, while a create
90: will almost always be backed out.
91: Destroying a relation with an index should destroy the index so
92: .it restore
93: may report
94: that a secondary relation has been found with no primary.
95: .s3
96: If interrupt (signal 2) is received the current database is closed and
97: the next, if any, is processed.
98: Quit (signal 3) will cause restore to terminate.
99: .sh EXAMPLE
100: restore \-f demo
101: .br
102: restore \-a grants < /dev/null
103: .sh DIAGNOSTICS
104: All diagnostics are followed by
105: a tuple from a system relations.
106: .s3
107: .in +5
108: .ti -5
109: ``No relation for attribute(s)'' \- the attributes listed have no corresponding entry in the
110: relation relation
111: .ti -5
112: ``No primary relation for index'' \- the tuple printed is the relation tuple for a secondary
113: index for which there is no primary relation.
114: The primary probably was destroyed the secondary will be.
115: .ti -5
116: ``No indexes entry for primary relation'' \- the tuple is for a primary relation, the relindxd
117: domain will be set to zero.
118: This is the product of an incomplete destroy.
119: .ti -5
120: ``No indexes entry for index'' \-
121: the tuple is for a secondary index, the index will be destroyed.
122: This is the product of an incomplete destroy.
123: .ti -5
124: ``\c
125: .it relname
126: is index for'' \- an index has been found for a primary which is not marked as indexed.
127: The primary will be so marked.
128: This is probably the product of an incomplete index command.
129: The index will have been created properly but not modified.
130: .ti -5
131: ``No file for'' \- There is no data for this relation tuple, the tuple will be
132: deleted.
133: If, under the
134: .bd \-a
135: option, the tuple is not deleted purge will not be called.
136: .ti -5
137: ``No secondary index for indexes entry'' \- An entry has been found in the
138: indexes relation for which the secondary index does not exist (no relation
139: relation tuple).
140: The entry will be deleted.
141: .in -5
142: .sh "SEE ALSO"
143: purge(unix)
144: .sh BUGS
145: If no database names are given,
146: only the databases located in the directory
147: .bd data/base
148: are restored,
149: and not the old databases
150: in
151: .bd datadir.
152: Explicit database names still work
153: for databases
154: in either directory.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.