Files
ROMFASTSQL/proxmox/lxc108-oracle/roa-windows-setup/docs/00-INSTALL-ORACLE-XE.md
Marius 648342c0a8 Add post-install configuration for ROA Windows setup
New files:
- 08-post-install-config.ps1: Creates ROAUPDATE folders (54 dirs),
  Oracle DIRECTORY objects, SERVER_INFO config, scheduler jobs
- directories-roaupdate.sql: 54 UPD_* directory objects for PACK_UPDATE
- server-info-init.sql: Encoded passwords, paths, email settings
- scheduler-jobs.sql: UPDATEROA_ZILNIC, UPDATERTVAI_ZILNIC (disabled)
- auth-detalii-init.sql: Customer ID for licensing

Updates:
- RunAll.cmd: Added step 6 (08-post-install-config.ps1)
- README.md: Simplified Quick Start, single execution path (RunAll.cmd)
- 00-INSTALL-ORACLE-*.md: Removed redundant manual steps (handled by scripts)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 01:24:15 +02:00

293 lines
6.5 KiB
Markdown

# Installing Oracle 21c Express Edition on Windows
## Overview
Oracle 21c Express Edition (XE) is free to use with the following limitations:
- 2 CPU threads
- 2 GB RAM for database
- 12 GB user data
For ROA installations with up to 50 companies, XE is sufficient.
---
## Download
1. Go to Oracle XE Downloads:
https://www.oracle.com/database/technologies/xe-downloads.html
2. Download **OracleXE213_Win64.zip** (~1.5 GB)
- Requires Oracle account (free registration)
3. Verify download integrity (optional):
```powershell
Get-FileHash OracleXE213_Win64.zip -Algorithm SHA256
```
---
## System Requirements
| Requirement | Minimum | Recommended |
|-------------|---------|-------------|
| OS | Windows 10/11, Server 2016+ | Windows Server 2019+ |
| RAM | 4 GB | 8 GB |
| Disk | 15 GB | 50 GB |
| CPU | 2 cores | 4 cores |
---
## Installation
### Step 1: Extract ZIP
```powershell
Expand-Archive OracleXE213_Win64.zip -DestinationPath C:\OracleXE_Install
```
### Step 2: Run Installer
1. Open Command Prompt or PowerShell **as Administrator**
2. Navigate to extracted folder:
```powershell
cd C:\OracleXE_Install\Disk1
```
3. Run setup:
```powershell
.\setup.exe
```
### Step 3: Installation Wizard
1. **Welcome Screen** - Click Next
2. **License Agreement** - Accept and click Next
3. **Oracle Home Location**
- Default: `C:\app\oracle\product\21c\dbhomeXE`
- Keep default unless disk space is an issue
4. **Database Passwords**
- Enter password for SYS and SYSTEM: `romfastsoft`
- Confirm password
- **Important:** Remember this password!
5. **Summary** - Review and click Install
6. **Installation Progress** - Wait (~10-20 minutes)
7. **Finish** - Note the connection information:
- Multitenant container database: XE
- Pluggable database: XEPDB1
- EM Express URL: https://localhost:5500/em/
---
## Post-Installation Configuration
### Verify Services Running
Open Services (services.msc) and verify:
| Service | Status | Startup Type |
|---------|--------|--------------|
| OracleServiceXE | Running | Automatic |
| OracleOraDB21Home1TNSListener | Running | Automatic |
Or via PowerShell:
```powershell
Get-Service Oracle* | Format-Table Name, Status, StartType
```
### Test Connection
```powershell
# Set Oracle environment
$env:ORACLE_HOME = "C:\app\oracle\product\21c\dbhomeXE"
$env:PATH = "$env:ORACLE_HOME\bin;$env:PATH"
# Test connection to CDB
sqlplus system/romfastsoft@localhost:1521/XE
# Test connection to PDB (for applications)
sqlplus system/romfastsoft@localhost:1521/XEPDB1
```
Expected output:
```
Connected to:
Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
SQL>
```
## CDB/PDB Architecture
Oracle XE uses Container Database (CDB) architecture:
```
+---------------------------------------------+
| CDB: XE |
| +---------------------------------------+ |
| | CDB$ROOT - System, SYS objects | |
| +---------------------------------------+ |
| +---------------------------------------+ |
| | PDB$SEED - Template (read-only) | |
| +---------------------------------------+ |
| +---------------------------------------+ |
| | XEPDB1 - Application Data (ROA) | |
| +---------------------------------------+ |
+---------------------------------------------+
```
| Container | Purpose | Connect To |
|-----------|---------|------------|
| XE (CDB$ROOT) | Administration, SYS | Admin only |
| XEPDB1 | Application data | ROA applications |
> **Important:** Always connect to **XEPDB1** for ROA operations, not XE!
---
## Verify PDB Status
```sql
-- Connect as SYSDBA
sqlplus sys/romfastsoft@localhost:1521/XE as sysdba
-- Check PDB status
SELECT name, open_mode FROM v$pdbs;
-- Expected output:
-- NAME OPEN_MODE
-- --------- ----------
-- PDB$SEED READ ONLY
-- XEPDB1 READ WRITE
```
If XEPDB1 is MOUNTED (not READ WRITE):
```sql
ALTER PLUGGABLE DATABASE XEPDB1 OPEN;
ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE;
```
---
## Ce NU trebuie făcut manual
Următoarele sunt create **automat** de scriptul `01-setup-database.ps1`:
| Component | Script |
|-----------|--------|
| Tablespace ROA | `01-setup-database.ps1` |
| DMPDIR directory | `01-setup-database.ps1` |
| Password profile (UNLIMITED) | `01-setup-database.ps1` |
| User CONTAFIN_ORACLE | `01-setup-database.ps1` |
| sqlnet.ora (client vechi) | `01-setup-database.ps1` |
**NU rula manual comenzile SQL pentru acestea** - scripturile le fac automat!
---
## Enterprise Manager Express
Access EM Express web interface:
```
https://localhost:5500/em/
```
Login:
- Username: system
- Password: romfastsoft
- Container: XEPDB1 (or leave empty for CDB)
---
## Memory Configuration
Check current memory settings:
```sql
SHOW PARAMETER memory;
SHOW PARAMETER sga;
SHOW PARAMETER pga;
```
XE defaults (cannot exceed due to license):
- SGA: 2 GB max
- PGA: 2 GB max
For better performance within limits:
```sql
-- Automatic memory management
ALTER SYSTEM SET MEMORY_TARGET = 2G SCOPE = SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET = 2G SCOPE = SPFILE;
```
---
## Troubleshooting
### OracleServiceXE Not Starting
1. Check Windows Event Viewer for errors
2. Verify disk space (need 15+ GB free)
3. Check Oracle alert log:
```powershell
Get-Content C:\app\oracle\diag\rdbms\xe\XE\trace\alert_XE.log -Tail 50
```
### Cannot Connect to XEPDB1
```sql
-- Connect to CDB
sqlplus sys/romfastsoft@localhost:1521/XE as sysdba
-- Check PDB status
SELECT name, open_mode FROM v$pdbs;
-- Open if mounted
ALTER PLUGGABLE DATABASE XEPDB1 OPEN;
ALTER PLUGGABLE DATABASE XEPDB1 SAVE STATE;
```
### ORA-12514: TNS listener does not know of service
```powershell
# Check listener status
lsnrctl status
lsnrctl services
# Restart listener
lsnrctl stop
lsnrctl start
```
### Uninstall Oracle XE
If needed, run the universal installer in deinstall mode:
```powershell
C:\app\oracle\product\21c\dbhomeXE\deinstall\deinstall.bat
```
Or via Control Panel > Programs and Features.
---
## Next Steps
After Oracle XE installation:
1. Copy `config.example.ps1` to `config.ps1`
2. Edit `config.ps1` with your settings
3. Run `01-setup-database.ps1`
See main `README.md` for complete workflow.
---
**Last Updated:** 2026-01-28
**Project:** ROMFASTSQL - Oracle XE Installation Guide