Saltar al contenido

¿Cuál es la diferencia entre el sistema y las cuentas del sistema en las bases de datos de Oracle?

Solución:

SYS

  • Se crea automáticamente cuando se instala la base de datos Oracle
  • Concedido automáticamente el DBA papel
  • Tiene una contraseña predeterminada: CHANGE_ON_INSTALL (asegúrate de cambiarlo)
  • Posee las tablas y vistas base para el diccionario de datos de la base de datos.
  • El esquema predeterminado cuando se conecta como SYSDBA

Tablas en el SYS los esquemas son manipulados solo por la base de datos. Nunca deben ser modificados por ningún usuario o administrador de base de datos, y nadie debe crear ninguna tabla en el esquema de usuario. SYS. Los usuarios de la base de datos no deben conectarse a la base de datos de Oracle utilizando el SYS cuenta.

SYSTEM

  • Se crea automáticamente cuando se instala la base de datos Oracle
  • Concedido automáticamente el DBA papel
  • Tiene una contraseña predeterminada: MANAGER (asegúrate de cambiarlo)
  • Se utiliza para crear tablas y vistas adicionales que muestran información administrativa.
  • Se utiliza para crear tablas y vistas internas utilizadas por diversas opciones y herramientas de la base de datos de Oracle.

Nunca use el SYSTEM esquema para almacenar tablas de interés para usuarios no administrativos.

/vía

De la documentación de Oracle 11g:

Usuarios de SYS Y SYSTEM

Las siguientes cuentas de usuario administrativo se crean automáticamente cuando instala Oracle Database. Ambos se crean con la contraseña que proporcionó durante la instalación, y a ambos se les otorga automáticamente el rol de DBA.

  • SYS

    Esta cuenta puede realizar todas las funciones administrativas. Todas las tablas y vistas base (subyacentes) para el diccionario de datos de la base de datos se almacenan en el esquema SYS. Estas vistas y tablas base son críticas para el funcionamiento de Oracle Database. Para mantener la integridad del diccionario de datos, las tablas del esquema SYS son manipuladas únicamente por la base de datos. Nunca deben ser modificados por ningún usuario o administrador de base de datos. No debe crear ninguna tabla en el esquema SYS.

    Al usuario de SYS se le concede el privilegio SYSDBA, que le permite realizar tareas administrativas de alto nivel como copia de seguridad y recuperación.

  • SYSTEM

    Esta cuenta puede realizar todas las funciones administrativas excepto las siguientes:

    • Copia de seguridad y recuperación

    • Actualización de la base de datos

    Si bien esta cuenta se puede utilizar para realizar tareas administrativas diarias, Oracle recomienda encarecidamente crear una cuenta de usuarios designados para administrar la base de datos de Oracle para permitir el monitoreo de la actividad de la base de datos.

Privilegios del sistema SYSDBA y SYSOPER

SYSDBA y SYSOPER son privilegios administrativos necesarios para realizar operaciones administrativas de alto nivel, como crear, iniciar, cerrar, realizar copias de seguridad o recuperar la base de datos. El privilegio del sistema SYSDBA es para administradores de bases de datos totalmente autorizados y el privilegio del sistema SYSOPER permite al usuario realizar tareas operativas básicas, pero sin la capacidad de ver los datos del usuario.

Los privilegios del sistema SYSDBA y SYSOPER permiten el acceso a una instancia de base de datos incluso cuando la base de datos no está abierta. Por lo tanto, el control de estos privilegios está completamente fuera de la propia base de datos. Este control permite a un administrador que tiene uno de estos privilegios conectarse a la instancia de la base de datos para iniciar la base de datos.

También puede pensar en los privilegios SYSDBA y SYSOPER como tipos de conexiones que le permiten realizar ciertas operaciones de base de datos para las cuales no se pueden otorgar privilegios de ninguna otra manera. Por ejemplo, si tiene el privilegio SYSDBA, puede conectarse a la base de datos utilizando AS SYSDBA.

Al usuario de SYS se le concede automáticamente el privilegio SYSDBA tras la instalación. Cuando inicia sesión como usuario SYS, debe conectarse a la base de datos como SYSDBA o SYSOPER. Conectarse como usuario de SYSDBA invoca el privilegio SYSDBA; conectarse como SYSOPER invoca el privilegio SYSOPER. Oracle Enterprise Manager Database Control no le permite iniciar sesión como usuario SYS sin conectarse como SYSDBA o SYSOPER.

Cuando se conecta con el privilegio SYSDBA o SYSOPER, se conecta con un esquema predeterminado, no con el esquema que generalmente está asociado con su nombre de usuario. Para SYSDBA, este esquema es SYS; para SYSOPER, el esquema es PUBLIC.

Un ejemplo de una diferencia importante entre SYS (o cualquier otra conexión SYSDBA) y cualquier otro usuario: SYS no puede realizar una lectura consistente. Una implicación de esto (hay otras) es que no puede hacer una exportación CONSISTENTE = Y como SYS usando la antigua utilidad exp.

El experto y empleado de Oracle, Tom Kyte, opina que rara vez se debe utilizar ninguno de los dos. Con respecto a SYS, señala que funciona de manera diferente como lo indica el ejemplo anterior, pero de manera más general, considera que son “propiedad” de Oracle Corporation. Si realiza un cambio o agrega algo en cualquiera de los esquemas y ocurre un problema (por ejemplo, falla una actualización de la base de datos), sospecho que la respuesta de Oracle Support sería, “No debería haber hecho eso”.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *