How to backup Oracle Production Database without stopping service? I have a Oracle 18XE database

I would like to create a backup for the database.

I did : 

expdp sysdba full=y dumpfile=expdat.dmp directory=DatabaseDumps transportable=always logfile=export.log


But this command asks for the tablespaces to be in readonly. Wich I can not do in a production database running 24h/7.

Is there any other way to backup a database whitout stopping it or making it readonly ?

Thanks.
Regards,
The best tool to create a backup database is rman.

sqlplus "/  as sysdba"
ALTER DATABASE FORCE LOGGING;     -- If you have tablespaces with nologging option
alter system checkpoint global;   -- To flash sga data to disk before backup
ALTER SYSTEM SWITCH LOGFILE;      -- To do a whole cycle of redologs
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM SWITCH LOGFILE;
rman target /
-- to open a channel to write the backup
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/internal/backup/RMAN_001/full01_%I_%n_%T_%u_%s_%p'; 
-- to ensure the controlfile backup
CONFIGURE CONTROLFILE AUTOBACKUP ON;             
-- to open a channel to write the oracle controlfile.
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/internal/backup/RMAN_001/%F_Autobackup'; # default 
-- backup database with controlfile and archivelogs so you will recover the database to a specific point in the time between backup and backup
BACKUP AS BACKUPSET DATABASE INCLUDE CURRENT CONTROLFILE PLUS ARCHIVELOG TAG = 'RMAN_001';