--- layout: article title: MPE_DATACATALOG_LIBS description: The MPE_DATACATALOG_LIBS table catalogs library attributes such as engine, paths, permissions, owners & schemas --- # MPE_DATACATALOG_LIBS The `MPE_DATACATALOG_LIBS` table catalogs library attributes such as engine, paths, permissions, owners & schemas. More frequently changing attributes (such as size and number of tables) are stored in [MPE_DATASTATUS_LIBS](/mpe_datastatus_libs). To ignore additional librefs, or to trigger a scan, see the Refresh Data Catalog [instructions](/dcu-datacatalog/#refreshing-the-data-catalog). ## Columns - `TX_FROM num`: SCD2 open datetime - 🔑 `TX_TO num`: SCD2 close datetime - 🔑 `LIBREF char(8)`: SAS Libref (8 chars) - `ENGINE char(32)`: The engine used to connect to the library - `LIBNAME char(256)`: The Library Name (from metadata if SAS 9) - `PATHS char(8192)`: The directories used (BASE engine only) - `PERMS char(500)`: The directory permissions (BASE engine only) - `OWNERS char(500)`: The directory owners (BASE engine only) - `SCHEMAS char(500)`: The library schema (DB engines) - `LIBID char(17)`: The Library Id (from metadata if SAS 9) ## Refresh Process The table is refreshed by the `mpe_refreshlibs` macro, which runs: - When a user clicks the refresh icon next to a library in the VIEW menu (via the `refreshlibinfo` service) - For ALL libraries when an administrator clicks REFRESH on the System page (via the `refreshlibs` service) The refresh is driven primarily from `dictionary.libnames`, augmented with library name / id from metadata (SAS 9 only). Noteworthy behaviours: - The `V9` engine is normalised to `BASE` - Concatenated libraries produce multiple quoted entries in `PATHS`, with one comma-separated `PERMS` / `OWNERS` value per path - `SCHEMAS` is populated for database engines - On SAS 9 (metadata) deployments, invalid libraries are validated by attempting a META libname assignment and skipped on failure. If your environment has invalid libraries that cause exception errors, set the `DC_VIEWLIB_CHECK` config variable to `NO` in Data Controller Settings - The following librefs are always excluded: `SASWORK`, `WORK`, `SASUSER`, `CASUSER`, `TEMP`, `STPSAMP`, `MAPSGFK`. Additional librefs can be ignored via `DC_IGNORELIBS` (see [Refreshing the Data Catalog](/dcu-datacatalog/#refreshing-the-data-catalog)) The load is TXTEMPORAL on the `LIBREF` key, so records are closed out (not deleted) when a library disappears.