Informix Error -547
Cause and resolution
Must rollforward database in the directory where the database is.
Before you execute the ROLLFORWARD statement, make the current directory the directory that contains the dbname.dbs directory for the database. Then execute the statement again.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-547 fires when a ROLLFORWARD DATABASE statement is issued from a current working directory
other than the one containing the target database's dbname.dbs directory — on this platform,
ROLLFORWARD requires being run from that specific location.
ROLLFORWARD DATABASErun from an unrelated working directory, per the official guidance — the direct, only cause.- A restore/recovery script that
cds to a staging or scratch directory before issuing theROLLFORWARD, rather than the directory actually holdingdbname.dbs. - Confusion about where the target database's
dbname.dbsdirectory physically lives, especially on a host with multiple database instances or data directories.
Solutions / Resolution
- Change to the directory containing the database's
dbname.dbsdirectory, per the official guidance, before issuingROLLFORWARD DATABASE:cd /path/containing/dbname.dbs - Re-run the
ROLLFORWARD DATABASEstatement from that directory.
Examples
Running from the wrong directory
$ pwd
/home/dba/scripts
$ dbaccess - <<'EOF'
ROLLFORWARD DATABASE stores7;
EOF
-- -547: current directory doesn't contain stores7.dbs
Corrected
$ cd /export/disk/informix/data
$ ls
stores7.dbs
$ dbaccess - <<'EOF'
ROLLFORWARD DATABASE stores7;
EOF
Diagnostic Checks
- Locate the target database's
dbname.dbsdirectory on the filesystem before issuingROLLFORWARD, and confirm the current working directory matches it exactly.
Related Errors / Related Topics
No closely related error codes are cross-referenced for -547 in this set yet.
A working-directory requirement, not a permissions or data problem — cd into the directory
holding dbname.dbs first.