Referencia de operación de recuperación de autoridad de DBA de base de datos Oracle

1. Instrucciones de funcionamiento básicas

1. Ver el sistema actual ORACLE_SID (linux)

# su - oracle
$ cat /etc/oratab
orcl:/oracle/app/oracle/product/11.2.0/dbhome_1:N
crm:/oracle/app/oracle/product/11.2.0/dbhome_1:N

2. Verifique el ORACLE_SID del sistema actual (windows)
y luego abra [Panel de control] - [Seguridad del sistema] - [Herramientas de administración] - [Servicios] para
encontrar servicios relacionados que comiencen con OracleService, como OracleServiceORCL, OracleServiceCRM, etc. Hay varios servicios de este tipo. Hay varios ejemplos
3. Cambiar ORACLE_SID (linux)

$ echo $ORACLE_SID
orcl
$ export ORACLE_SID=crm
$ echo $ORACLE_SID
crm
$ sqlplus / as sysdba

4. Cambiar ORACLE_SID (windows)

C:\Users\sqluser> sqlplus sys/passwd@crm as sysdba
或者
C:\Users\sqluser> set oracle_sid=crm
C:\Users\sqluser> sqlplus /nolog
SQL> connect /as sysdba  或 SQL> connect sys/passwd@crm as sysdba
SQL> select name from v$database;   或  SQL> select instance_name from v$instance;

2. Preparación para la recuperación de permisos

Observaciones: primero ejecute la siguiente declaración para filtrar si los usuarios tienen autoridad de DBA, si no (excepto los usuarios del sistema / sistema), las operaciones posteriores pueden ignorarse.

SQL> select * from dba_role_privs where GRANTED_ROLE= 'DBA';
GRANTEE    GRANTED_ROLE        ADM DEF
------------------------------ ------------------------------ --- ---
SYS                DBA                YES YES
SYSTEM             DBA                YES YES

1. Cuente los usuarios que están abiertos a usar en cada instancia

SQL> select username from dba_users where account_status='OPEN';
USERNAME
------------------------------
SYS
SYSTEM
ERP
3 rows selected.

2. Cuente qué permisos de rol tiene cada usuario (dba_role), preste atención al nombre de usuario que se escribirá en mayúscula, tome el nombre de usuario ERP como ejemplo

SQL> select * from dba_role_privs where GRANTEE= 'ERP';
GRANTEE                GRANTED_ROLE           ADM DEF
------------------------------ ------------------------------ --- ---
ERP                DBA                NO  YES
ERP                RESOURCE               NO  YES
ERP                CONNECT                NO  YES

3. Estadística de los permisos del sistema que tiene cada usuario (dba_sys), preste atención al nombre de usuario que se escribirá en mayúscula, el nombre de usuario ERP como ejemplo

SQL> select * from dba_sys_privs where GRANTEE='ERP';
GRANTEE                PRIVILEGE                ADM
------------------------------ ---------------------------------------- ---
ERP                CREATE ANY SYNONYM           NO
ERP                UNLIMITED TABLESPACE         NO
ERP                CREATE SESSION               NO

3. Operación para recuperar la autoridad de DBA

1. Reclamar permisos de dba

SQL> revoke dba from ERP;
Revoke succeeded

.

  1. Reautorizar los permisos necesarios
SQL> grant connect,resource to ERP;
grant create view to ERP;
grant create public synonym to ERP;
grant drop public synonym to ERP;
grant unlimited tablespace to ERP;
Grant succeeded.

3. Confirma los permisos

SQL> select * from dba_role_privs where GRANTEE= 'ERP';
GRANTEE                GRANTED_ROLE           ADM DEF
------------------------------ ------------------------------ --- ---
ERP            CONNECT                NO  YES
ERP            RESOURCE               NO  YES
SQL> select * from dba_sys_privs where GRANTEE='ERP';
GRANTEE                PRIVILEGE                ADM
------------------------------ ---------------------------------------- ---
ERP            CREATE VIEW              NO
ERP            DROP PUBLIC SYNONYM          NO
ERP            CREATE PUBLIC SYNONYM            NO
ERP            UNLIMITED TABLESPACE         NO

4. La recuperación de otros permisos de roles de dba peligrosos, especialmente los permisos que comienzan con DROP ANY, UPDATE ANY, ALTER ANY y ADMINISTER, deben evaluarse cuidadosamente y recuperarse de acuerdo con la situación. Aquí hay un ejemplo de DROP ANY TABLE

SQL> revoke DROP ANY TABLE from ERP;
Revoke succeeded.

4. Asuntos que requieren atención

Nota: Si la columna ADM muestra SÍ, significa que la autoridad tiene WITH ADMIN OPTION (para la autoridad del sistema) o WITH GRANT OPTION (para la autoridad del objeto), y su autoridad debe ser reclamada y reautorizada.
Los ejemplos son los siguientes:

1. Consulta qué permisos de función tiene el usuario de ERP (dba_role)

SQL> select * from dba_role_privs where GRANTEE='ERP';
GRANTEE                GRANTED_ROLE           ADM DEF
------------------------------ ------------------------------ --- ---
ERP                CONNECT                YES YES
ERP                AQ_USER_ROLE           YES YES
ERP                RESOURCE               NO  YES

2. Recupere los permisos enumerados como SÍ por ADM y vuelva a autorizar

SQL> revoke connect from ERP;
Revoke succeeded.
SQL> revoke AQ_USER_ROLE from ERP;
Revoke succeeded.
SQL> grant connect to ERP;
Grant succeeded.

3. Confirma los permisos

SQL> select * from dba_role_privs where GRANTEE='ERP';
GRANTEE                GRANTED_ROLE           ADM DEF
------------------------------ ------------------------------ --- ---
ERP                CONNECT                NO  YES
ERP                AQ_USER_ROLE           NO  YES
ERP                RESOURCE               NO  YES

4. Verifique si hay un dblink para evitar excepciones entre bases de datos debido a la recuperación de permisos

SQL> select * from dba_objects where object_type like '%LINK%';

5. Fin

Supongo que te gusta

Origin blog.51cto.com/8355320/2561627
Recomendado
Clasificación