At 11:35 PM 10/7/2008, TOM HART wrote:
Is that also true for 7.6?
Tom,
Not exactly!
However, have you ever wondered how healthy your database really is?
01. Are all defined indexes properly indexed?
02. Are all defined indexes properly indexed?
03. Are there any duplicate indexes?
04. Are all Primary/Foreign/Referenced keys valid?
05. Are all defined default column values still valid?
06. Are all defined views still functional?
07. Is there any inconsistency in performance?
7.6 Are you using the currently available updates of R:BASE 7.6?
http://www.rupdates.com/rbg76
http://www.rupdates.com/rbg76/enterprise/
http://www.rupdates.com/rbg76/corporate/
http://www.rupdates.com/rbg76/rcompiler/
8.0 Are you using the currently available updates of R:BASE Turbo V-8?
http://www.rupdates.com/rbg8
http://www.rupdates.com/rbg8/enterprise/
http://www.rupdates.com/rbg8/corporate/
http://www.rupdates.com/rbg8/rcompiler/
9.0 Are you using the pre-purchase version of R:eXtreme (ver 9.0)?
Never mind ... <g>
These issues become important concerns when upgrading/migrating
from an old (LEGACY) DOS or Windows version of R:BASE.
Technically, there is very little to worry about when your
database is designed and managed using the latest Data Designers
(RBDefine), Enhanced CREATE and LOAD commands of R:BASE that
fully enforce all rules and validate everything before the table
is created/saved or the data is loaded. Granted, all things must
be considered.
However, if you have upgraded your legacy database and everything
seems to be working fine, do yourself and your lovely clients a
big favor! Perform one additional task to validate the integrity
of your database.
Follow the steps below and see if everything is "peachy".
01. Make a backup copy of the database.
02. Copy the entire database (.RB1-.RB4/.RX1-.RX4 files) on
your local drive in a separate folder with at least twice
as much available free disk space.
03. Start R:BASE using the latest version/update and switch the
current folder to the appropriate database folder on your
local drive.
04. At the R> prompt:
DISCONNECT
SET MESSAGES ON
SET ERROR MESSAGES ON
SET MULTI OFF
-- CONNECT the database with OWNER password, if any
CONNECT dbname IDENTIFIED BY owner password
-- CONNECT the database with no passwords
CONNECT dbname
05. Check the connected database CHARacter settings, especially
the IDQUOTES.
At the R> prompt:
CLS
SHOW CHAR
-- Notice the setting for IDQUOTES (the last item on list).
If this setting is blank/null, make sure to set the IDQUOTES
settings to ` (that is a single reversed quote, on the same
key as the ~ tilde).
SET IDQUOTES=`
06. Now create the unload file with NULL set to -0-.
At the R> prompt:
CLS
SET NULL -0-
OUTPUT newdb.ALL
UNLOAD ALL
OUTPUT SCREEN
This step will create two files (newdb.ALL and newdb.LOB)
07. DISCONNECT, and then rename this database to some other
name.
At the R> prompt:
DISCONNECT
RENAME dbname.RB? dbnameBK.RB?
08. Now, let's rebuild the fresh database and see if it passes
the integrity check.
At the R> prompt:
CLS
RUN newdb.ALL
-- Watch the activity and all messages on the screen.
-- Don't fall asleep. You might miss an important warning.
-- Completion time may vary based on size of the database
-- (number of tables/records/indexes)
If there were no warnings or error messages, you've got a
fresh/healthy database. Give yourself a pat on the back.
If there are any warning or -ERROR- message(s), take them
seriously. In that case:
-- DISCONNECT the bad database (built using RUN newdb.ALL)
At the R> prompt:
DISCONNECT
-- Delete the bad database
At the R> prompt:
DELETE dbname.rb?
DELETE newdb.ALL
DELETE newdb.LOB
-- Rename the previously saved database (Step 07.)
RENAME dbnameBK.RB? dbname.RB?
-- CONNECT to the database
CONNECT dbname
09. CORRECT all -ERROR-s accordingly and then repeat Step 06.
10. Do not quit or give up until you see a completely fresh
database without any warnings or errors.
Hope that helps!
Believe me, the time spent on this exercise will save you a
lot of hassle and embarrassment, instead of chasing something
obvious that should have been taken care of a long time ago.
Additional housekeeping and database maintenance tips are
also available on From The Edge: http://www.razzak.com/fte/
Very Best R:egards,
Razzak.
--- RBASE-L
================================================
TO POST A MESSAGE TO ALL MEMBERS:
Send a plain text email to [email protected]
(Don't use any of these words as your Subject:
INTRO, SUBSCRIBE, UNSUBSCRIBE, SEARCH,
REMOVE, SUSPEND, RESUME, DIGEST, RESEND, HELP)
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: INTRO
================================================
TO UNSUBSCRIBE:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: UNSUBSCRIBE
================================================
TO SEARCH ARCHIVES:
Send a plain text email to [email protected]
In the message SUBJECT, put just one word: SEARCH-n
(where n is the number of days). In the message body,
place any
text to search for.
================================================