Installing Oracle Express Edition 18c 64bit under Windows10 professional 64bit (20H2) german
=================================================================

my Hardware:
Lenovo Thinkpad T430
16GB RAM
Toshiba SSD TR200

install Windows 10 pro 64bit (20H2) german
install all drivers
Firewall and Defender are active

uninstalled Onedrive, skype, spotify
install 7zip 19.00
install notepadd++ 7.9.2
install grepwin
download sysinternalssuite  and unzip SysinternalsSuite.zip

I used sysinternalssuite (autoruns64, procexp64 and tcpview) to identify paths and registry-keys.

networking
network is dhcp, 'file and printer sharing' is active
ipv4 and ipv6 is active
network is public

download  Oracle Database 18c Express Edition for Windows x64
and unzip OracleXE184_Win64.zip

This is free, only a account must be created.

unzip OracleXE184_Win64.zip

The local user MUST be member of the administrators group, what is the default.
If your are a domain user, create the groups below and  add the local user before installing.

The file XEInstall.rsp in the same directory as setup.exe, it can be modified.

start setup.exe for installation

give password for SYS, SYSTEM, PDBADMIN

Oracle XE18c is comming with its own java and perl.

Read the documentation by Oracle! 
Licensing Information

Use the community portal for questions

Java SE will be installed, allow port in firewall
java.exe and perl.exe is used during installation
 
I used sysinternalssuite (autoruns64, procexp64 and tcpview) to identify paths and registry-keys.

local directories and files are stored in:
 C:\app
 C:\ProgramData\Oracle
 C:\Program Files\Oracle
 C:\ADE\AIME_V\Oracle
 C:\Users\All Users\Oracle
 C:\Windows\INF\.NET Data Provider for Oracle
 
reviewing after installation:
SYSTEM path is modified:
added is C:\app\user\product\18.0.0\bin

Environment ist set via registry ( HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE and subkeys ):

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDB18Home1
MSHELP_TOOLS=C:\app\user\product\18.0.0\dbhomeXE\MSHELP
NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252
OLEDB=C:\app\user\product\18.0.0\dbhomeXE\oledb\mesg
OMTSRECO_PORT=2030
ORA_XE_AUTOSTART=TRUE
ORA_XE_SHUTDOWN=TRUE
ORA_XE_SHUTDOWN_TIMEOUT=90
ORA_XE_SHUTDOWNTYPE=immediate
ORACLE_BASE=C:\app\user\product\18.0.0\
ORACLE_BUNDLE_NAME=Express
ORACLE_GROUP_NAME=Oracle - OraDB18Home1
ORACLE_HOME=C:\app\user\product\18.0.0\dbhomeXE
ORACLE_HOME_KEY=SOFTWARE\ORACLE\KEY_OraDB18Home1
ORACLE_HOME_NAME=OraDB18Home1
ORACLE_HOME_READONLY=N
ORACLE_HOME_TYPE=1
ORACLE_SID=XE
ORACLE_SVCUSER=ORA_OraDB18Home1_SVCACCTS
ORACLE_SVCUSER_PWDREQ=0
ORACLE_SVCUSER_TYPE=V
RDBMS_ARCHIVE=C:\app\user\product\18.0.0\dbhomeXE\DATABASE\ARCHIVE
RDBMS_CONTROL=C:\app\user\product\18.0.0\dbhomeXE\DATABASE
SQLPATH=C:\app\user\product\18.0.0\dbhomeXE\dbs

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET.Managed\4.122.18.1
TNS_ADMIN=C:\app\user\product\18.0.0\dbhomeXE\network\admin

the following groups with users are created:
ORA_ASMADMIN
ORA_ASMDBA                                       user: local user
ORA_ASMOPER
ORA_CLIENT_LISTENERS
ORA_DBA                                               user: local user
ORA_DBSVCACCTS
ORA_GRID_LISTENERS
ORA_INSTALL
ORA_OPER
ORA_OraDB18Home1_DBA
ORA_OraDB18Home1_OPER
ORA_OraDB18Home1_SVCACCTS
ORA_OraDB18Home1_SYSBACKUP    user: local user
ORA_OraDB18Home1_SYSDG              user: local user
ORA_OraDB18Home1_SYSKM             user: local user
USERS                                                      user: local user
 
this database comes with:
2 control-files
3 redolog files, 200M each
processes initial 320
NOARCHIVLOG
NO APEX
1x Pluggable Database (PDB) with sample schema HR inside
no other sample schemas, they can be downloaded and install from GitHub:
https://github.com/oracle/db-sample-schemas/releases/tag/v18c

autostart proccesses:
2x omtsreco.exe
5x tnslsnr.exe
3x oracle.exe
 
The given password ist stored in clear text in various SQL-files in:
C:\app\user\product\18.0.0\cfgtoollogs\dbca\XE\ !!!
 
installation with dhcp is possible, a fixed ip-adress
without gateway and route is faster.
 
if ipv6 and ipv4 is active, ipv6 is used with port 1521
if ipv6 is disabled network is used on ipv4 with port 1521
 
pfile and spfile are stored in $ORACLE_HOME/database

run cmd as administrator:
then query services:
sc queryex type= service state= all > c:\Users\<user>\Documents\oservices.txt

oracle database created the following services:
SERVICE_NAME: OracleOraDB18Home1TNSListener
DISPLAY_NAME: OracleOraDB18Home1TNSListener
        TYPE               : 10  WIN32_OWN_PROCESS  
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 7788
        FLAGS              :

SERVICE_NAME: OracleRemExecServiceV2
DISPLAY_NAME: OracleRemExecServiceV2
        TYPE               : 10  WIN32_OWN_PROCESS  
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 7104
        FLAGS              :

SERVICE_NAME: OracleServiceXE
DISPLAY_NAME: OracleServiceXE
        TYPE               : 10  WIN32_OWN_PROCESS  
        STATE              : 4  RUNNING
                                (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 5400
        FLAGS              :

SERVICE_NAME: OracleJobSchedulerXE
DISPLAY_NAME: OracleJobSchedulerXE
        TYPE               : 10  WIN32_OWN_PROCESS  
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 0
        FLAGS              :

SERVICE_NAME: OracleVssWriterXE
DISPLAY_NAME: OracleVssWriterXE
        TYPE               : 10  WIN32_OWN_PROCESS  
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 2147942405  (0x80070005)
        SERVICE_EXIT_CODE  : 2147942405  (0x80070005)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 0
        FLAGS              :

SERVICE_NAME: OracleOraDB18Home1MTSRecoveryService
DISPLAY_NAME: OracleOraDB18Home1MTSRecoveryService
        TYPE               : 10  WIN32_OWN_PROCESS  
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 6736
        FLAGS              :

Oracle 18c XE's admin tool (EM Express) cannot be used anymore, because flash is disabled.

Uninstall:
======

remove the following directories manual:
 C:\app
 C:\ADE\AIME_V\Oracle
 C:\ProgramData\Oracle
 C:\Users\<user>\AppData\Local\Temp\OraInstall*.*
 C:\Users\<user>\AppData\Local\Temp\oraremservicev2
 C:\Users\<user>\AppData\Local\Temp\CVU_18.0.0.0.0_user
 C:\Users\<user>\AppData\Local\Temp\deinstall*.*
 C:\Users\<user>\AppData\Local\Temp\deinstall_startup.bat
 
remove the following registry key
 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE and subkeys
 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\Oracle Provider for OLE DB
 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application\Oracle Database Extensions for .NET

Group:
 Users


SQL Developer
===========
Yes, you can use the latest SQL Developer.
Files are stored in:
C:\Users\<user>\AppData\Roaming\SQL Developer
C:\Users\<user>\AppData\Roaming\sqldeveloper

queries
=====

Determining Whether a Database is a CDB
SELECT CDB FROM V$DATABASE;

Viewing Identifying Information About Each Container in a CDB
COLUMN NAME FORMAT A8
SELECT NAME, CON_ID, DBID, CON_UID, GUID FROM V$CONTAINERS ORDER BY CON_ID;

Viewing Container ID, Name, and Status of Each PDB
COLUMN PDB_NAME FORMAT A15
SELECT PDB_ID, PDB_NAME, STATUS FROM DBA_PDBS ORDER BY PDB_ID;

Viewing the Name and Open Mode of Each PDB
COLUMN NAME FORMAT A15
COLUMN RESTRICTED FORMAT A10
COLUMN OPEN_TIME FORMAT A30
SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS;

Showing the Tables Owned by Specific Schemas in Multiple PDBs
COLUMN PDB_NAME FORMAT A15
COLUMN OWNER FORMAT A15
COLUMN TABLE_NAME FORMAT A30
 
SELECT p.PDB_ID, p.PDB_NAME, t.OWNER, t.TABLE_NAME
  FROM DBA_PDBS p, CDB_TABLES t
  WHERE p.PDB_ID > 2 AND
        t.OWNER IN('HR','OE') AND
        p.PDB_ID = t.CON_ID
  ORDER BY p.PDB_ID;
 
Showing the Users in Multiple PDBs
COLUMN PDB_NAME FORMAT A15
COLUMN USERNAME FORMAT A30
 
SELECT p.PDB_ID, p.PDB_NAME, u.USERNAME
  FROM DBA_PDBS p, CDB_USERS u
  WHERE p.PDB_ID > 2 AND
        p.PDB_ID = u.CON_ID
  ORDER BY p.PDB_ID;
 
Showing the Data Files for Each PDB in a CDB
COLUMN PDB_ID FORMAT 999
COLUMN PDB_NAME FORMAT A8
COLUMN FILE_ID FORMAT 9999
COLUMN TABLESPACE_NAME FORMAT A10
COLUMN FILE_NAME FORMAT A45

SELECT p.PDB_ID, p.PDB_NAME, d.FILE_ID, d.TABLESPACE_NAME, d.FILE_NAME
  FROM DBA_PDBS p, CDB_DATA_FILES d
  WHERE p.PDB_ID = d.CON_ID
  ORDER BY p.PDB_ID;
 
Showing the Temp Files in a CDB
COLUMN CON_ID FORMAT 999
COLUMN FILE_ID FORMAT 9999
COLUMN TABLESPACE_NAME FORMAT A15
COLUMN FILE_NAME FORMAT A45

SELECT CON_ID, FILE_ID, TABLESPACE_NAME, FILE_NAME
  FROM CDB_TEMP_FILES
  ORDER BY CON_ID;
 
Showing the Services Associated with PDBs
COLUMN NETWORK_NAME FORMAT A30
COLUMN PDB FORMAT A15
COLUMN CON_ID FORMAT 999

SELECT PDB, NETWORK_NAME, CON_ID FROM CDB_SERVICES
  WHERE PDB IS NOT NULL AND
        CON_ID > 2
  ORDER BY PDB;
 
SHOW CON_ID
SHOW CON_NAME
SELECT CON_NAME_TO_ID('HRPDB') FROM DUAL;

Viewing the History of PDBs
COLUMN DB_NAME FORMAT A10
COLUMN CON_ID FORMAT 999
COLUMN PDB_NAME FORMAT A15
COLUMN OPERATION FORMAT A16
COLUMN OP_TIMESTAMP FORMAT A10
COLUMN CLONED_FROM_PDB_NAME FORMAT A15
 
SELECT DB_NAME, CON_ID, PDB_NAME, OPERATION, OP_TIMESTAMP, CLONED_FROM_PDB_NAME
  FROM CDB_PDB_HISTORY
  WHERE CON_ID > 2
  ORDER BY CON_ID;