Oracle AI Database 26ai Free is the free developer edition of Oracle's database, with SQL, PL/SQL, JSON, AI Vector Search, JavaScript, and the other developer features, limited to 2 CPU threads, 2 GB of memory, and 12 GB of user data. On Windows it installs natively, with no Docker or WSL needed, and runs as Windows services that start with the computer.
This guide covers the installer's prerequisite checks, an interactive and a silent installation, the files and services it creates, connecting, the container database and its PDB, starting and stopping, and the errors you are most likely to meet.
Code for This Guide
The SQL examples are files 01 and 02 in the examples/install folder of the Oracle Database 26ai code repository on GitHub, each with its output.
They come from Oracle Database 26ai SQL and PL/SQL Book.
Check the Prerequisites
The installer checks these first and stops if any fails, so fix them before you start.
| Requirement | Detail |
|---|---|
| Supported Windows edition | Windows 10 x64 Pro, Pro for Workstations, Enterprise, or Education; Windows 11 x64 Pro, Enterprise, or Education; Windows Server 2016, 2019, 2022, or 2025. Home editions are not supported. |
| Disk and memory | At least 8.5 GB of disk, 2 GB more of temporary space during installation, and 2 GB of memory for the database |
| Direct member of Administrators | Membership through another group fails the check; with a domain account, stay connected to the network |
| No ORACLE_HOME or TNS_ADMIN | Delete these system and user environment variables, often left behind by an old Oracle client |
| No earlier XE or Free | Uninstall Oracle Database XE or Free, and any database with the SID XE or FREE |
Only one Free installation is allowed per computer, virtual machine, or container; a second one refuses to start with ORA-00442. On a Home edition, run the database in a container instead.
Install with the Wizard
Download the Windows zip from Oracle's Oracle AI Database Free download page and extract it to a temporary folder such as C:\free-install. You can delete that folder afterward.
- Double-click setup.exe and allow it to make changes. Missing Windows prerequisites are installed automatically.
- On the welcome window, click Next.
- Accept the license agreement and click Next.
- The installer runs its prerequisite checks. If one fails, cancel, fix it, and run setup.exe again.
- On the Destination Folder window, accept C:\app\<username>\product\26ai and click Next.
- Type and confirm the password for SYS, SYSTEM, and PDBADMIN, and click Next.
- Check the Summary and click Install. Copying the software and creating the database takes a while.
- The final window shows the connect strings for the container and pluggable databases. Note them and click Finish.
If you click Change on the Destination Folder window, type a path whose folders do not exist yet, without spaces, and let the installer create them. Folders you create yourself are usually modifiable by Authenticated Users, which the installer rejects; folders it creates get the right permissions.
Install Silently
To script the installation, set at least PASSWORD in the response file FREEInstall.rsp, in the response subfolder of the extracted files. Then run the installer from a Command Prompt opened as administrator; the caret continues the command.
Example (Command Prompt as administrator):
cd C:\free-install setup.exe /s ^ /v"RSP_FILE=C:\free-install\response\FREEInstall.rsp" ^ /v"/L*v C:\free-install\setup.log" ^ /v"/qn"
The command returns at once and the installation continues in the background. A successful installation logs "Installation success or error status: 0" in setup.log. The response file holds the password in plain text, so clear it as soon as the installation finishes.
What the Installer Creates
The database is a container database called FREE with one pluggable database, FREEPDB1, which opens automatically whenever the database starts.
| What | Location (under C:\app\<username>\product\26ai) |
|---|---|
| Oracle home, with sqlplus.exe and lsnrctl.exe in bin | dbhomeFree |
| Database files | oradata\Free |
| Alert log, the first place to look when the database will not start | diag\rdbms\free\free\trace\alert_free.log |
In services.msc, two services matter: OracleServiceFREE, the database itself, and the TNS listener service, whose name begins with OracleOraDB26Home and ends with TNSListener, accepting connections on port 1521. Leave any other Oracle services as they are, and check the exact names on your computer.
Connect to the Database
Open a new PowerShell window, so it sees the installer's PATH changes. SQL*Plus is in the Oracle home's bin folder; where.exe sqlplus confirms PowerShell can find it.
The installer added your Windows account to the ORA_DBA group, whose members can connect as SYS on this computer without a password. This lands in the root container.
Example:
sqlplus / as sysdba
Check the instance and the database.
Example:
select instance_name, version_full, status, database_status from v$instance; select name, cdb, open_mode, log_mode from v$database;
Output:
INSTANCE_NAME VERSION_FULL STATUS DATABASE_STATUS ________________ _______________ _________ __________________ FREE 23.26.3.0.0 OPEN ACTIVE NAME CDB OPEN_MODE LOG_MODE _______ ______ _____________ _____________ FREE YES READ WRITE ARCHIVELOG
The version and open mode should match. LOG_MODE depends on how the database is set up and may read NOARCHIVELOG on your installation.
The Container Database and FREEPDB1
A container database has a root, CDB$ROOT, for Oracle's own metadata; a read-only template, PDB$SEED; and pluggable databases that hold applications' users, schemas, and data. Your own schemas belong in FREEPDB1.
Example:
alter session set container = cdb$root; -- the root of the container database show pdbs select con_id, name, open_mode from v$containers order by con_id;
Output:
Session altered.
CON_ID CON_NAME OPEN MODE RESTRICTED
_________ ___________ _____________ _____________
2 PDB$SEED READ ONLY NO
3 FREEPDB1 READ WRITE NO
CON_ID NAME OPEN_MODE
_________ ___________ _____________
1 CDB$ROOT READ WRITE
2 PDB$SEED READ ONLY
3 FREEPDB1 READ WRITEConnect through the Listener
Applications and developers connect to the PDB's service through the listener: localhost:1521/FREEPDB1. Use the port shown on the installer's final window if it was not 1521.
Example:
sqlplus system@localhost:1521/FREEPDB1
SQLcl and SQL Developer for VS Code use the same host, port, and service. lsnrctl status shows the listener's port and the services it knows, including FREE and FREEPDB1 when the database is open.
Example:
lsnrctl status
Allow Connections from Other Computers
Only if other computers must reach the database, open port 1521 in Windows Defender Firewall from PowerShell as administrator, and only on a network you trust.
Example:
New-NetFirewallRule -DisplayName "Oracle 1521" -Direction Inbound ` -Protocol TCP -LocalPort 1521 -Action Allow
Start and Stop the Database
The database and listener services start with Windows. Stop or start the database in services.msc, or with net in a window opened as administrator.
Example:
net stop OracleServiceFREE net start OracleServiceFREE
The database reserves its memory as soon as it starts, so on an 8 GB computer you may set OracleServiceFREE's Startup type to Manual and start it only when you need it.
Inside SQL*Plus, connected as SYSDBA to the root, shutdown immediate closes the database cleanly, startup opens it again, and alter pluggable database freepdb1 save state; makes the PDB reopen automatically after a restart.
Example:
shutdown immediate startup
Troubleshooting
| Problem | Fix |
|---|---|
| A prerequisite check fails | Fix the cause: a Home edition, ORACLE_HOME or TNS_ADMIN set, indirect Administrators membership, or a leftover XE or Free service. |
| Destination folder modifiable by Authenticated Users | Click Change and type a new path without spaces, or accept the default. |
| ORA-12541: No listener at host localhost port 1521. | Start the listener service in services.msc, and check its port with lsnrctl status. |
| ORA-12514: Service FREEPDB1 is not registered with the listener. | The database is not open yet. Check OracleServiceFREE is running and wait a minute. |
| ORA-01017: invalid credential or not authorized | Connect with sqlplus / as sysdba and run alter user system identified by "New_Password_1" container = all;, and the same for SYS. |
| ORA-01031: insufficient privileges with / as sysdba | Only ORA_DBA members can use it. Sign in as the installing user, or connect with sqlplus sys@localhost:1521/FREEPDB1 as sysdba. |
| ORA-00442 at startup | Another Free or XE database exists on this computer. Remove it. |
Uninstall
Select Oracle AI Database 26ai Free in Add or Remove Programs and click Uninstall. This removes the software, the database, and all data, so export what you want to keep first.
Related Guides
- How to Install Oracle AI Database 26ai Free on Oracle Linux
- How to Install Oracle APEX 26.1 on Windows, which adds ORDS and APEX on top of this database
Conclusion
To install Oracle AI Database 26ai Free on Windows, check the edition, Administrators membership, and stray Oracle variables, then run setup.exe from the extracted zip, interactively or silently with FREEInstall.rsp. The installer creates the FREE container database with FREEPDB1 and the OracleServiceFREE and listener services. Connect with sqlplus / as sysdba for administration and to localhost:1521/FREEPDB1 for development, and manage the database with net start and net stop.
