Database administration
Database administration for Exponential: the supported databases, schema, upgrades, backups and performance.
49 pages
- Oracle maintenance commands and cronjobs The maintenance tools the ezoracle extension gives an Oracle DBA - the ext:ezoracle console commands (health, gather-stats, recompile, purge-recyclebin, sequence-sync, schema-diff, indexes, report, datapump…
- Microsoft SQL Server: status for DBAs Where Microsoft SQL Server stands for Exponential 6.0.x - not supported, known to be possible with additional work - what exists that such work could build on (the driver interface, the .dba format, pluggable schema…
- Character sets and collations How Exponential stores text as UTF-8 on each of the six engines, which character set and collation to create, how the MySQL and MariaDB connection differs from the tables, how case-sensitive and case-insensitive…
- Database accounts and privileges The database account an Exponential site needs on each engine and the least privileges that work - MySQL and MariaDB grants, PostgreSQL ownership, MongoDB roles in the site's database, Oracle grants from ora-grant.php…
- Securing the database The security measures that concern the database of an Exponential site - where the credentials are kept and how to protect them, how the administration and the console mask secrets, passwords on command lines, network…
- The .dba schema format and the shipped schema files What the engine-neutral .dba format is, which schema and data files ship with Exponential (share/db_schema.dba, share/db_data.dba, kernel/sql per engine), how schema handlers registered in dbschema.ini turn them into…
- Schema tools: dump, insert and diff The three command-line schema tools of Exponential - ezsqldumpschema.php to dump a schema and data to .dba or SQL, ezsqlinsertschema.php to load them into any SQL engine, and ezsqldiff.php to compare two schemas with an…
- Backups per engine How to back up the database of an Exponential site on each engine (sqlite3 .backup or VACUUM INTO, pg_dump, mongodump, mariadb-dump and mysqldump with --single-transaction, Data Pump for Oracle), what else belongs in a…
- Restoring a database The procedure for restoring the database of an Exponential site - maintenance mode, stopping Velocity, the restore command per engine, SQLite's .restore against replacing the file, the caches to clear afterwards…
- Upgrades and the SQL update files How Exponential's database update files are organized per engine and version in update/database, which chain a database walks from 3.10 to 6.0.15, the rules for applying them, the 6.12, 7.2 and 7.3 directories that must…
- Applying the 6.0.15 database update A step-by-step procedure for the database part of an upgrade from any 6.0.x release to 6.0.15 - backup, maintenance mode, the dbupdate-6.0.0-6.0.15.sql file per engine, what it adds, the audit tables with…
- Checking the schema after an upgrade How to confirm that an Exponential database has the schema of its release - the database consistency check in Setup > Upgrade check and the kinds of finding it reports, the MongoDB collection check, ezsqldiff.php…
- Moving a site to another engine How to move an existing Exponential site from one database engine to another - planning the maintenance window, the .dba dump and insert between SQL engines, the ezoracle transfer commands into Oracle, the bin/mongodb…
- The tables a database administrator should know A map of the Exponential kernel's tables for database administrators, grouped by purpose (content, classes, users and permissions, URL aliases, search, sessions, queues, site data, files, shop, audit, mail, API), with…
- Sessions in the database When Exponential keeps sessions in the ezsession table and when in PHP's own storage, what the table holds, how to switch, how expired rows are removed (ezsessiongc.php and the session_gc.php cronjob script, which no…
- The built-in search index tables How Exponential's built-in search engine keeps its index in the database - the tables ezsearch_word, ezsearch_object_word_link and ezsearch_search_phrase, delayed indexing through ezpending_actions and indexcontent.php…
- Housekeeping: cronjobs and queue tables The cronjobs that keep an Exponential database tidy and its queues moving - the parts of settings/cronjob.ini and what each script does to the database, the scripts no shipped part runs (session_gc.php, trashpurge.php…
- The SQL query cache What the optional SQL query cache of Exponential does for a database administrator - modes and storage, what is never cached, how writes invalidate results, why writes made outside Exponential require a clear, how to…
- Finding slow queries The tools Exponential gives a database administrator to find slow and repeated SQL - SQLOutput and SlowQueriesOutput in the debug output, MySQL's EXPLAIN through QueryAnalysisOutput, DebugTransactions, the SQL profiler…
- Performance and scaling How the load of an Exponential site reaches its database and how to scale it - the cache layers that keep most requests away, what still reaches the database, persistent connections and Velocity's persistent workers…
Documentation license
This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.
Exponential Copyright © 1998-2026 Exponential Foundation and 7x