Salesforce

PROREST -keeptargetlfe is not unsetting LARGEFILES flag

« Go Back

Information

 
TitlePROREST -keeptargetlfe is not unsetting LARGEFILES flag
URL Name000039425
Article Number000162602
EnvironmentProduct: OpenEdge
Version: 10.2B04, 11.1x, 11.2x and later including 11.7.6
OS: All supported platforms
Question/Problem Description
PROREST -keeptargetlfe sets the enableLargeFiles flag on the restored target database.
EnableLargeFiles flag is set on a restored target database if the flag was initially set on the source database that the PROBKUP was created
Cannot access a restored PROBKUP taken with Enterprise largefiles enabled error 9818
The backup volume is restored without error but the restored database cannot be opened with error 9818
Steps to Reproduce
Clarifying Information
Restoring PROBKUP volumes from a database with largefiles enabled to a non Enterprise Database license environment.
The restored target structure file is sufficiently sized to accommodate the backup volumes.
None of the restored target extents exceed 2GB on disk.
The restore is to a pre-existing target database that does not have largefiles enabled.
OpenEdge 10.2B04, 11.1 or later is installed.
Error MessageOnly Enterprise systems may access a database with large files enabled (9818)
Defect NumberDefect OE00234595 / PSC00256236/ OCTA-2927
Enhancement Number
Cause
This is regression from Enhancement OE00196590 where the -keeptargetlfe was introduced (OpenEdge 10.2B04, 11.0).

The PROREST argument "-keeptargetlfe" intended use, is to allow the restored target database to have large files disabled when required. For example, when restoring from a Production Enterprise Database to a Development non-Enterprise database license environment.
Resolution
Until the fix is available, use the workaround below.
Workaround

    When restoring large databases to a void structure in a non-Enterprise environment, assure sufficient extents under 2GB are available. Refer to Article How to find Storage Areas and extent sizes needed for a PROREST?   

     

    Since OpenEdge 12, large file support is enabled and disabled by default:

    • Opening a database on a system where the Enterprise Database License is installed, if it is not enabled already. 
    • Opening a database on systems running with a sub-enterprise license (Workgroup and Personal) will disable large file support, if it is enabled.
    • The "proutil -C enablelargefiles" utility is decomissioned: This is a retired command and is no longer functional. (19352)
    • It is not possible to disable the largefiles feature when an Enterprise Database licence is used.

    OpenEdge 10.2B, 11.x and later - Workaround with an ENTERPRISE License:

    A. To initially restore the largefiles enabled database, temporarily use an Enterprise database license on the server with the non-Enterprise (eg: Workgroup, Personal, Development) license installed.

    Then PROCOPY the restored database to an existing database structure, which will not set the largefiles enabled flag. Ensure that all extents are < 2GB prior to the restore and that the structure is sufficiently sized to accommodate the copy.
    Finally, replace the non-Enterprise database license.


    B. Using the existing PROBKUP volumes, with an Enterprise database license in place,

    1. Create an empty database with the same database blocksize as the source database, ensuring that all extents are < 2GB and is sufficiently sized to accommodate the backup volumes:
    $ prodb target empty target.st

    2. Restore over the target structure with the -keeptargetlfe option:
    $ prorest target <source-backup-volume> -keeptargetlfe

    3. Verify that the largefiles flag is not set in the target database, by running:
    $ proutil dbname -C describe

    Database Features
    ID   Feature         Active
    ---- --------------- ---
    5    Large Files     No

    4. Replace the non-Enterprise database license.

    OpenEdge 10.2B, 11.x and later - Workaround with a non-ENTERPRISE License:

    A. Dump the database at source (with the Enterprise license) then Load (with either license) to unset the largefilesenabled flag

    B. Use PROCOPY or PRODB instead of PROREST to an existing target structure without largefiles enabled.

    C.
    Create a new database PROBKUP as follows:

    1. On the server with the Enterprise database license, use PROCOPY or PRODB (offline) to an existing target structure where all extents are < 2GB.

    2. Verify that the largefiles flag is NOT set in the target database, by running:
    $ proutil dbname -C describe
       
    Database Features
    ID   Feature         Active
    ---- --------------- ---
    5    Large Files     No

    3. Take the PROBKUP and transfer this to the non-Enterprise server where it can be restored.
    Notes
    Keyword Phrase
    Last Modified Date11/20/2020 6:55 AM

    Powered by