You can use either Oracle Recovery Manager (RMAN) or SQL*Plus to perform the operations. When you connect to the database as sysbackup
, you are connected as a predefined user sysbackup
. If you want to check this, run the following statement:
SQL> select user from dual;
Otherwise, the following statement:
SQL> show user
Using the sysbackup
privilege, you can connect to the database even when it is not open.
This privilege enables better separation of duties and the implementation of the least privilege principle.
Note
From a security perspective, it is recommended that you implement the least privilege principle. The least privilege principle is an important security concept that requires that users are given only those privileges they need to perform their job.
To view the list of privileges a user can exercise when connected to the database using sysbackup
privilege, you can create a user (for example, tom
) and grant the user only sysbackup
privileges. The next step is to connect to the database as user tom
, using the sysbackup
privilege and the execute
statement:
select * from session_privs;
These privileges are shown in the following table:
This is how you can check enabled roles:
SQL> select * from session_roles;
ROLE
-------------------
SELECT_CATALOG_ROLE
HS_ADMIN_SELECT_ROLE
Note
HS_ADMIN_SELECT_ROLE
is granted to SELECT_CATALOG_ROLE
.
If you want to view the roles and privileges granted to sysbackup
, you can query DBA_ROLE_PRIVS
and DBA_SYS_PRIVS
:
SQL> select * from dba_role_privs where grantee='SYSBACKUP';
SQL> select * from dba_sys_privs where grantee='SYSBACKUP';
Also, this new administrative privilege enables you to select, insert, delete, execute, and perform operations:
Tip
It is important for you to remember that:
When using the sysbackup
privilege, you can't view application data.
You can't drop user sysbackup
.
In a multitenant environment, you can restrict a user to be able to perform backups only for the PDB it can connect to. You can accomplish that by creating a local user in the PDB and granting the sysbackup
privilege to the user.
When you are connected to the database as the sysbackup
, you are connected as sysbackup
user to SYS
schema:
SQL> connect / as sysbackup
Connected.
SQL> show user
USER is "SYSBACKUP"
SQL> select sys_context( 'userenv', 'current_schema' ) from dual;
SYS_CONTEXT('USERENV','CURRENT_SCHEMA')---------------------------------------SYS