Configuración de funciones de Oracle Database para Exadata Cloud Infrastructure
En este tema se describe cómo configurar Oracle Multitenant, el cifrado de tablespaces y Huge Pages para su uso con la instancia de Exadata Cloud Infrastructure.
- Uso de Oracle Multitenant en una instancia de Exadata Cloud Infrastructure
- Gestión del cifrado de tablespace
- Gestión de Huge Pages
Tema principal: Guías de procedimientos
Uso de Oracle Multitenant en una instancia de Exadata Cloud Infrastructure
Cuando se crea una instancia de Exadata Cloud Infrastructure que utiliza Oracle Database 12c o posterior, se crea un entorno de Oracle Multitenant.
La arquitectura multiinquilino permite que una base de datos Oracle funcione como una base de datos de contenedores multiinquilino (CDB) que incluye cero, una o varias bases de datos conectables (PDB). Una PDB es una recopilación portátil de esquemas, objetos de esquema y objetos no de esquema que le aparece a un cliente Oracle Net Services como una base de datos sin contenedor. Todas las bases de datos Oracle que utilizan versiones anteriores a Oracle Database 12c son bases de datos sin contenedor.
Para utilizar Oracle Transparent Data Encryption (TDE) en una base de datos conectable (PDB), debe crear y activar una clave de cifrado maestra para la PDB.
En un entorno multiinquilino, cada PDB tiene su propia clave de cifrado maestra, que se almacena en un único almacén de claves que utilizan todos los contenedores.
Debe exportar e importar la clave de cifrado maestra para todas las PDB cifradas que conecte a la CDB de la instancia de Exadata Cloud Infrastructure.
Si la PDB de origen está cifrada, debe exportar la clave de cifrado maestra y, a continuación, importarla.
Puede exportar e importar todas las claves de cifrado maestras de TDE que pertenezcan a la PDB exportando e importando las claves de cifrado maestras de TDE desde una PDB. La exportación e importación de claves de cifrado maestras de TDE soportan las operaciones de conexión y desconexión de PDB. Durante la desconexión y conexión de una PDB, están implicadas todas las claves de cifrado maestras de TDE que pertenecen a una PDB, así como los metadatos.
Consulte la sección sobre exportación e importación de claves de cifrado maestras de TDE para una PDB en Oracle Database Advanced Security Guide para la versión 19, 18, 12.2 o 12.1.
Consulte "ADMINISTER KEY MANAGEMENT" en Oracle Database SQL Language Reference para la versión 19, 18, 12.2 o 12.1.
Determinación de si se necesita crear y activar una clave de cifrado para la PDB
- Llame a SQL*Plus y conéctese a la base de datos como usuario
SYS
con privilegiosSYSDBA
. -
Defina el contenedor en la PDB:
SQL> ALTER SESSION SET CONTAINER = pdb;
-
Realice una consulta en
V$ENCRYPTION_WALLET
de la siguiente forma:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;
Si la columna
STATUS
contiene el valorOPEN_NO_MASTER_KEY
, debe crear y activar la clave de cifrado maestra.
Creación y activación de la clave de cifrado maestra en una PDB
-
Defina el contenedor en la PDB:
SQL> ALTER SESSION SET CONTAINER = pdb;
-
Para crear y activar una clave de cifrado maestra en la PDB, ejecute el siguiente comando:
SQL> ADMINISTER KEY MANAGEMENT SET KEY USING TAG 'tag' FORCE KEYSTORE IDENTIFIED BY keystore-password WITH BACKUP USING 'backup_identifier';
En el comando anterior:
keystore-password
es la contraseña del almacén de claves. Por defecto, la contraseña del almacén de claves está definida en el valor de la contraseña de administración especificada cuando se creó la base de datos.- La cláusula opcional
USING TAG 'tag'
se puede utilizar para asociar una etiqueta a la nueva clave de cifrado maestra. - La cláusula
WITH BACKUP
y la cláusula opcionalUSING 'backup_identifier'
se pueden utilizar para crear una copia de seguridad del almacén de claves antes de que se cree la nueva clave de cifrado maestra.
Consulte también
ADMINISTER KEY MANAGEMENT
en Oracle Database SQL Language Reference para la versión19, 18 o 12.2.Nota
Para activar las operaciones de gestión de claves mientras el almacén de claves está en uso, Oracle Database 12c versión 2 y las versiones posteriores incluyen la opción
FORCE KEYSTORE
para el comandoADMINISTER KEY MANAGEMENT
. Esta opción también está disponible para Oracle Database 12c versión 1 con el paquete de parches de octubre de 2017 o posteriores.Si la base de datos de Oracle Database 12c versión 1 no tiene instalado el paquete de parches de octubre de 2017 o posteriores, puede realizar los siguientes pasos alternativos:
- Cierre el almacén de claves.
- Abra el almacén de claves basado en contraseña.
- Utilice
ADMINISTER KEY MANAGEMENT
sin la opciónFORCE KEYSTORE
para crear y activar una clave de cifrado maestra en la PDB. - Actualice el almacén de claves de conexión automática mediante
ADMINISTER KEY MANAGEMENT
con la opciónCREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE
.
-
Vuelva a realizar la consulta
V$ENCRYPTION_WALLET
para verificar que la columnaSTATUS
está definida enOPEN
:SQL> SELECT wrl_parameter, status, wallet_type FROM v$encryption_wallet;
-
Realice la consulta
V$INSTANCE
y anote el valor de la columnaHOST_NAME
, que identifica el servidor de base de datos que contiene los archivos del almacén de claves recién actualizados:SQL> SELECT host_name FROM v$instance;
-
Copie los archivos del almacén de claves actualizado en el resto de servidores de base de datos.
Para distribuir el almacén de claves actualizado, debe realizar las siguientes acciones en cada servidor de base de datos que no contenga los archivos del almacén de claves actualizado:
-
Conéctese al contenedor raíz y realice la consulta
V$ENCRYPTION_WALLET
. Tome nota de la ubicación del almacén de claves que aparece en la columnaWRL_PARAMETER
:SQL> SELECT wrl_parameter, status FROM v$encryption_wallet;
-
Copie los archivos del almacén de claves actualizado.
Debe copiar todos los archivos del almacén de claves actualizado de un servidor de base de datos que ya esté actualizado. Utilice la ubicación de almacén de claves que aparece en la columna
WRL_PARAMETER
deV$ENCRYPTION_WALLET
.
Abra el almacén de claves actualizado:SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE open FORCE KEYSTORE IDENTIFIED BY keystore-password CONTAINER=all;
Nota
Para activar las operaciones de gestión de claves mientras el almacén de claves está en uso, Oracle Database 12c versión 2 y las versiones posteriores incluyen la opción
FORCE KEYSTORE
para el comandoADMINISTER KEY MANAGEMENT
. Esta opción también está disponible para Oracle Database 12c versión 1 con el paquete de parches de octubre de 2017 o posteriores.Si la base de datos de Oracle Database 12c versión 1 no tiene instalado el paquete de parches de octubre de 2017 o posteriores, puede realizar los siguientes pasos alternativos:
- Cierre el almacén de claves antes de copiar los archivos del almacén de claves actualizado.
- Copie los archivos del almacén de claves actualizado.
- Abra el almacén de claves actualizado utilizando
ADMINISTER KEY MANAGEMENT
sin la opciónFORCE KEYSTORE
.
-
-
Realice la consulta
GV$ENCRYPTION_WALLET
para verificar que la columnaSTATUS
está definida enOPEN
en todas las instancias de base de datos:SQL> SELECT wrl_parameter, status, wallet_type FROM gv$encryption_wallet;
Para exportar e importar una clave de cifrado maestra
- Exporte la clave de cifrado maestra.
- Llame a SQL*Plus y conéctese a la PDB.
-
Ejecute el siguiente comando:
SQL> ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "secret" TO 'filename' IDENTIFIED BY keystore-password;
- Importe la clave de cifrado maestra.
- Llame a SQL*Plus y conéctese a la PDB.
-
Ejecute el siguiente comando:
SQL> ADMINISTER KEY MANAGEMENT IMPORT ENCRYPTION KEYS WITH SECRET "secret" FROM 'filename' IDENTIFIED BY keystore-password;
Gestión del cifrado de tablespaces
Por defecto, todos los tablespaces nuevos que se crean en una base de datos de Exadata están cifrados.
Sin embargo, es posible que los tablespaces que se generan inicialmente cuando se crea la base de datos no estén cifrados por defecto.
- Para las bases de datos que utilizan Oracle Database 12c versión 2 o versiones posteriores, solo están cifrados los tablespaces de
USERS
generados inicialmente cuando se creó la base de datos. Los demás tablespaces no están cifrados, incluidos los tablespaces que no son deUSERS
de:- El contenedor raíz (
CDB$ROOT
). - La base de datos conectable inicial (
PDB$SEED
). - La primera PDB, que se genera cuando se crea la base de datos.
- El contenedor raíz (
- Para las bases de datos que utilizan Oracle Database 12c versión 1 u Oracle Database 11g, ninguno de los tablespaces generados inicialmente cuando se creó la base de datos están cifrados.
Para obtener más información sobre la implantación del cifrado de tablespaces en Exadata y sobre cómo influye en distintos escenarios de despliegue, consulte Oracle Database Tablespace Encryption Behavior in Oracle Cloud.
Creación de tablespaces cifrados
Los tablespaces creados por el usuario están cifrados por defecto.
Por defecto, los tablespaces nuevos creados mediante el comando SQL CREATE TABLESPACE
se cifran con el algoritmo de cifrado AES128. No es necesario incluir la cláusula USING 'encrypt_algorithm'
para utilizar el cifrado por defecto.
Puede especificar otro algoritmo soportado incluyendo la cláusula USING 'encrypt_algorithm' en el comando CREATE TABLESPACE. Los algoritmos soportados son AES256, AES192, AES128 y 3DES168.
Gestión del cifrado de tablespaces
Puede gestionar el almacén de claves de software (conocido como cartera de Oracle en Oracle Database 11g) y la clave de cifrado maestra, así como controlar si el cifrado está activado por defecto.
Gestión de la clave de cifrado maestra
El cifrado de tablespaces utiliza una arquitectura de dos niveles basada en claves para cifrar (y descifrar) de forma transparente los tablespaces. La clave de cifrado maestra se almacena en un módulo de seguridad externo (almacén de claves de software). Esta clave de cifrado maestra se utiliza para cifrar la clave de cifrado del tablespace que, a su vez, se utiliza para cifrar y descifrar los datos del tablespace.
Cuando se crea una base de datos en una instancia de Exadata Cloud Service, se crea un almacén de claves de software local. El almacén de claves es local para los nodos de cálculo y está protegido por la contraseña de administración especificada durante el proceso de creación de la base de datos. El almacén de claves de software de conexión automática se abre automáticamente cuando se inicia la base de datos.
Puede cambiar (rotar) la clave de cifrado maestra utilizando la sentencia ADMINISTER KEY MANAGEMENT SQL
. Por ejemplo:
SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY USING TAG 'tag'
IDENTIFIED BY password WITH BACKUP USING 'backup';
keystore altered.
Consulte la sección sobre gestión de la clave de cifrado maestra de TDE en Oracle Database Advanced Security Guide para la versión 19, 18, 12.2 o 12.1, o la sección sobre configuración y restablecimiento de la clave de cifrado maestra en Oracle Database Advanced Security Administrator's Guide para la versión 11.2.
Control del cifrado de tablespaces por defecto
El parámetro de inicialización ENCRYPT_NEW_TABLESPACES
controla el cifrado por defecto de los nuevos tablespaces. En las bases de datos de Exadata, este parámetro está definido en CLOUD_ONLY
por defecto.
Los valores de este parámetro son los siguientes.
Valor | Descripción |
---|---|
ALWAYS
|
Durante la creación, los tablespaces se cifran de forma transparente con el algoritmo AES128 a menos que se especifique un algoritmo diferente en la cláusula ENCRYPTION .
|
CLOUD_ONLY
|
Los tablespace creados en una base de datos de Exadata se cifran de forma transparente con el algoritmo AES128 a menos que se especifique un algoritmo diferente en la cláusula ENCRYPTION . Para bases de datos que no estén en la nube, los tablespaces solo se cifran si se especifica la cláusula ENCRYPTION . ENCRYPTION es el valor por defecto.
|
DDL
|
Durante la creación, los tablespaces no se cifran de forma transparente por defecto y solo se cifran si se especifica la cláusula ENCRYPTION .
|
Con Oracle Database 12c versión 2 (12.2) o versiones posteriores, ya no es posible crear un tablespace no cifrado en una base de datos de Exadata. Se devuelve un mensaje de error si define
ENCRYPT_NEW_TABLESPACES
en DDL
y emite un comando CREATE TABLESPACE
sin especificar una cláusula ENCRYPTION
.
Gestión de Huge Pages
Huge Pages proporciona importantes ventajas de rendimiento para Oracle Database en sistemas con una gran cantidad de memoria. Oracle Database en una instancia de Exadata Cloud Infrastructure proporciona valores de configuración que utilizan Huge Pages por defecto; no obstante, puede realizar ajustes manuales para optimizar la configuración de Huge Pages.
Huge Pages es una función integrada en el núcleo de Linux 2.6. La activación de Huge Pages permite que el sistema operativo soporte páginas de memoria grandes. El uso de Huge Pages puede mejorar el rendimiento del sistema reduciendo la cantidad de CPU del sistema y los recursos de memoria necesarios para gestionar las tablas de páginas de Linux, que almacenan la asignación entre las direcciones de memoria físicas y virtuales. Para las instancias de Oracle Database, el uso de Huge Pages puede reducir drásticamente el número de entradas de tabla de páginas asociadas al área global del sistema (SGA).
En instancias de Exadata Cloud Infrastructure, una página estándar ocupa 4 KB, mientras que una página de Huge Pages ocupa 2 MB por defecto. Por tanto, una instancia de Oracle Database en un sistema de base de datos de Exadata con un SGA de 50 GB necesita 13 107 200 páginas estándar para alojar el SGA, frente a solo 25 600 de Huge Pages. El resultado son tablas de páginas mucho más pequeñas que necesitan menos memoria de almacenamiento y menos recursos de CPU a los que acceder y gestionar.
Ajuste de la configuración de Huge Pages
La configuración de Huge Pages para Oracle Database es un proceso de dos pasos:
-
En el nivel del sistema operativo, la cantidad general de memoria asignada a Huge Pages se controla mediante la entrada vm.nr_hugepages del archivo /etc/sysctl.conf. Este valor se realiza en cada nodo de cálculo del entorno y se recomienda encarecidamente que el valor sea consistente en todos los nodos de cálculo. Para modificar la asignación de páginas de Huge Pages, puede ejecutar el siguiente comando en cada nodo de cálculo como usuario root:
# sysctl -w vm.nr_hugepages=value
donde
value
es el número de páginas de Huge Pages que desea asignar.En instancias de Exadata Cloud Infrastructure, cada página de Huge Pages ocupa 2 MB por defecto. Por lo tanto, para asignar 50 GB de memoria a páginas de Huge Pages, puede ejecutar el siguiente comando:
# sysctl -w vm.nr_hugepages=25600
- En el nivel de Oracle Database, el uso de páginas de Huge Pages se controla mediante el valor de parámetro de instancia
USE_LARGE_PAGES
. Este valor se aplica a cada instancia de base de datos de una base de datos de cluster. Oracle recomienda encarecidamente utilizar un valor consistente en todas las instancias de base de datos asociadas a una base de datos. Están disponibles las siguientes opciones:TRUE
: especifica que la instancia de base de datos puede utilizar páginas de Huge Pages si están disponibles. Para todas las versiones de Oracle Database posteriores a la 11.2.0.3, Oracle asigna tanta cantidad de SGA como sea posible, utilizando Huge Pages. Cuando se agota la asignación de Huge Pages, se utilizan páginas de memoria estándar.FALSE
: especifica que la instancia de base de datos no utilice Huge Pages. Por lo general, no se recomienda este valor si hay páginas de Huge Pages disponibles.ONLY
: especifica que la instancia de base de datos debe utilizar Huge Pages. Con esta configuración, la instancia de base de datos no se puede iniciar si no se puede incluir el SGA completo en páginas de Huge Pages.
Si realiza ajustes en el nivel del sistema operativo o de Oracle Database, asegúrese de que la configuración general funcione.
Para obtener más información, consulte Oracle Database Administrator's Reference for Linux and UNIX-Based Operating Systems para la versión 19, 18, 12.1 o 11.2 para obtener una visión general de Huge Pages y más información sobre la configuración de Huge Pages. Además, consulte USE_LARGE_PAGES
en Oracle Database Reference para la versión 12.2, 12.1 o 11.2.