Oracle Cloud Infraestructure
Ing. Isaí Fararoni Ramírez
Paso 1: Acceso a Oracle Cloud Infraestructura (OCI)
Acceder a la plataforma de Oracle Cloud Universal Credits. https://www.oracle.com/cloud/sign-in.html


PARTE I. Preparación
Generar un par de claves mediante PuTTY
- Inicie PuTTYgen en la computadora Windows. Aparecerá la ventana Generador de Claves de PuTTY.
- Para el tipo de clave que se va a generar, seleccione SSH- 2 RSA.
- Para Número de bits en una clave generada, introduzca 2048.
- Haga clic en Generar.
- Cuando se le solicite, mueva el mouse por la sección especificada de la ventana.
- Opcional: introduzca una contraseña para la clave privada en Contraseña de Clave y Confirmar Contraseña.
- Haga clic en Guardar clave privada.

La extensión del archivo .ppk indica que la clave privada tiene el formato propietario de PuTTY.. No se puede utilizar con otras herramientas de cliente SSH.
- Seleccione todo el contenido de la clave pública para pegarlo en el archivo OpenSSH authorized_keys.
Esta ventana puede tener una barra de desplazamiento. Asegúrese de seleccionar todos los caracteres.

- Haga clic con el botón derecho en el texto seleccionado y, a continuación, seleccione Copiar.
- Abra un editor de texto.
- Pegue el texto copiado en el editor. No inserte saltos de línea.
- Guarde el archivo de clave pública en la misma ubicación que el archivo de clave privada.
- Cree una copia de la clave privada en el formato OpenSSH.
- En la ventana Generador de Claves de PuTTY, haga clic en Conversiones y, a continuación, seleccione Exportar Clave de OpenSSH.
- Guarde el archivo de clave privada convertida en la misma ubicación que el archivo .ppk. Utilice una extensión de archivo diferente como .key.

Crear una Virtual Cloud Network (VCN) [1]
Referencia: https://docs.cloud.oracle.com/es-ww/iaas/Content/Database/Tasks/network.htm
Compartimentos
Los recursos en el OCI son organizados en “compartimientos”, debemos crear un compartimiento la primera vez que creamos una instancia Oracle PaaS en el OCI, el acceso a los recursos en un compartimiento es controlado a través de políticas.
Para las instancias de PaaS posteriores, se puede usar el mismo o un nuevo compartimiento. Esta elección se basa en si el servicio de PaaS depende de otros servicios de PaaS.
Para ver los compartimentos existentes seguimos los siguientes pasos:
- Ingresamos con nuestra cuenta a la consola web del Oracle Cloud Insfrastructure.
- Hacemos click en el menú
en la esquina superior izquierda de la consola web, seleccionamos: “Identity” y “Compartments”
Virtual Cloud Network (VNC)
Referencia: https://docs.cloud.oracle.com/es-ww/iaas/Content/Database/Tasks/network.htm
Una virtual cloud network es una red definida en el OCI que incluye: subredes, tabla de enrutamiento y puerta de enlace.
Debemos crear la VCN y las subredes para adjuntar las instancias de servicio PaaS a estas subredes, esto debe hacerse la primera vez que cree una instancia de Oracle PaaS en el OCI. Para las instancias de PaaS posteriores, se puede usar la misma VCN o una nueva VCN. Esta elección se basa en si el servicio de PaaS depende de otros servicios de PaaS.
Para crear una VNC seguimos los siguientes pasos:En la consola web de Oracle Cloud Insfrastructure, hacemos clik en el menú en la esquina superior izquierda, seleccionamos “Nerworking” y hacemos click en “Virtual Cloud Networks”. Se pueden ver la VCN’s existentes y crear nuevas:
Referencia: https://docs.cloud.oracle.com/es-ww/iaas/Content/Network/Tasks/managingVCNs.htm


Opción 1: subred pública con gateway de internet


Oracle recomienda utilizar NSG en lugar de listas de seguridad, ya que los NSG le permiten separar la arquitectura de subred de VCN de los requisitos de seguridad de la aplicación.
docs.cloud.oracle
Parámetros de configuración de RED
- VCN
- Nombre: PublicVCN
- Compartimento: abcd
- Bloque CIDR: 192.168.74.0/24 (Calculadora)
- Resolución DND: Checked
- Etiqueta DNS:PublicVCN
- Nombre de dominio (solo lectura): PublicVCN.oraclevcn.com
- Subred pública
- VCN: PublicVCN
- Nombre: PublicVCN
- Bloque CIDR: 192.168.74.0/25 (Calculadora)
- Tabla de Rutas
- Acceso a la subred: SUBRED PÚBLICA
- Etiqueta de DNS: PublicVCNSubnet
- Opciones de DHCP: Default DHCP Options for PublicVCN
- Listas de seguridad: Default Security List for PublicVCN
- Gateway de Internet
- Nombre: PublicVCNGatewayInternet
- Compartimento: abcd
- Gateway de servicio
- Nombre: PublicVCNGatewayServicio
- Servicios: OCI IAD Object Storage
- Tabla de rutas
- Regla 1. Tipo de objetivo: Geteway de Internet
- Bloque CIDR: 0.0.0.0/0
- Gateway compartimento: PublicVCNGatewayInternet
- Descripción: PublicVCNRouteInternet
- Regla 2. Tipo de objetivo: Gateway de servicio
- Servicio de Destino: OCI IAD Object Storage
- Gateway de servicio: PublicVCNGatewayServicio
- Descripción: PublicVCNRouteServicio
- Reglas de seguridad
- Default Security List for PubOracleAPEOrigen: 0.0.0.0, TCP, Puertos origen: todos, Rango puertos destido: 22, 1521, 443, Sin estado
VCN

192.168.96.0/24
Subred Pública

Gateway de Internet

Gateway de Servicio

Tabla de rutas

Reglas de seguridad

Importante
Las instancias que ejecutan imágenes del sistema de base de datos proporcionadas por Oracle también tienen reglas de firewall que controlan el acceso a la instancia. Asegúrese de que las reglas de seguridad y las reglas de firewall de la instancia estén definidas correctamente. Consulte también Apertura de puertos en el sistema de base de datos.
PARTE II: Crear sistema de base de datos[2]
Preparar parámetros de configuración
Compartimento | abcd (depende de su contrato) |
Red virtual en la nube en abcd (raíz) | PublicVCN |
Subred de Cliente en abcd(raíz) | PublicVCNSubnetA |
Asignar un nombre al sistema de base de datos | SBDTEST10 |
Prefijo de nombre de host | test10 |
Nombre de la base de datos | BDTEST10 |
Nombre de PDBOpcional | PDBT10PR |
Versión de la base de datos | 12.2 |
Edición de software de Oracle Database | Enterprise edition |
Características de Máquina virtual | VM.Standard2.1 |
Configurar almacenamiento | Almacenamiento disponible (GB): 256 |
Mostrar Opciones Avanzadas | Zona horaria: America/Mexico_City (detectado por el explorador) |
Protocolo del servicio ORDS: Puerto | Interno HTTPS:443 Externo HTTPS:8443 |
Parámetros generados después de la instalación
IP Pública | 132.145.191.128 |
IP Privada | 192.168.74.2 |
Host de servidor de b.d. | test10.publicvcnsubnet.publicvcn.oraclevcn.com |
Puerto | 1521 |
Nombre del servicio | BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com |
test10.publicvcnsubnet.publicvcn.oraclevcn.com:1521/BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com | |
(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.74.2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com))) | |
Ruta de acceso a ORDS | /u01/app/oracle/ords |
PDB | dbtest03_iad188.pubapeoracle.puboracleape.oraclevcn.com |
CDB$ROOT | pdbt03.pubapeoracle.puboracleape.oraclevcn.com |
test10.publicvcnsubnet.publicvcn.oraclevcn.com:1521/BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com
( DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3 ( ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.74.2)(PORT=1521)) ) ( CONNECT_DATA=(SERVICE_NAME=BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com) ) )
Paso 2: Crear el Sistema de Base de Datos
Referencia: https://docs.cloud.oracle.com/es-ww/iaas/Content/Database/Concepts/overview.htm
- Página principal de Oracle Cloud Infraestructure
- Seleccionar la opción . Hardware dedicado, VM, y Exadata desde el menú rápido, para mostrar las máquinas virtuales instaladas:
- Seleccionar Crear Sistemas de base de datos en abcd (raíz) si es para pruebas con los siguientes parámetros:
Parámetro | Valor |
Compartimento | abcd |
Asignar un nombre al sistema de base de datos | SBDTEST10 |
Seleccionar un dominio de disponibilidad | AD-1 iihM:US-ASHBURN-AD-1 |
Seleccionar un tipo de unidad | Máquina virtual |
Seleccionar Forma | VM.Standard2.1 |
Edición de software de Oracle Database | Enterprise edition |
Seleccionar software de gestión de almacenamiento | Infraestructura de Grid de Oracle |
Configurar almacenamiento | Almacenamiento disponible (GB): 256 |
Agregar claves SSH públicas | |
Seleccionar un tipo de licencia | Licencia incluida |
Red virtual en la nube en ecrp (raíz) | PublicVCN |
Subred de Cliente en ecrp (raíz) | PublicVCNSubnetA |
Utilizar grupos de seguridad de red para controlar el tráfico | Dejar sin seleccionar – Se configurarán lista de seguridad. (Oracle recomienda usar Grupos de Seguridad). |
Prefijo de nombre de host | test10 Nombre del dominio de host: publicvcnsubnet.publicvcn.oraclevcn.com URL de dominio y host: test10.publicvcnsubnet.publicvcn.oraclevcn.com |
Mostrar Opciones Avanzadas | Zona horaria: America/Mexico_City (detectado por el explorador) |
Siguiente | |
pdbt03.pubapeoracle.puboracleape.oraclevcn.com | |
Nombre de la base de datos | BDTEST10 |
Versión de la base de datos | 12.2 |
Nombre de PDBOpcional | PDBT10PR |
Nombre de usuarioSolo lectura | SYS T03ABcde00## SYS10cvb12_#- ZXasd_##1521 |
Mostrar Opciones Avanzadas | Juego de Caracteres: AL32UTF8Juego de caracteres nacional: AL16UTF16 |
Crear |
- Actualizar la tabla de Parámetros generados después de la instalación con los siguientes datos:
- Hacer clic en el nuevo Sistema de base de datos (Detalles de sistema de base de datos) → Nodos
- Dirección IP Pública
- Dirección IP privada y nombre de DNS
- Cadena de Conexión
- Hacer clic en el nuevo Sistema de base de datos (Detalles de sistema de base de datos) → Nodos
- Pegar: en un bloc de notas:
- Agregar la cadena de conexión a tnsnames.ora
[oracle@test10 ords]$ cat /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. BDTEST10_IAD1NV = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = test10.publicvcnsubnet.publicvcn.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com) ) ) LISTENER_BDTEST10 = (ADDRESS = (PROTOCOL = TCP)(HOST = test10.publicvcnsubnet.publicvcn.oraclevcn.com)(PORT = 1521))

Agregar la cadena de conexión
[oracle@test10 ords]$ cp /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora.orig.bak<br>[oracle@test10 ords]$ vi /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora
PDBT10PR= (DESCRIPTION = (ADDRESS =(PROTOCOL=TCP)(HOST = 192.168.74.2 )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdbt10pr.publicvcnsubnet.publicvcn.oraclevcn.com) ) )
Paso 3. Configurar PUTTY para acceso remoto
- Abrir Putty asignar la IP Pública en el host en el formato: opc@IP_PUBLICA.
- Autenticar por medio de SSH / Auth / Private Key File. (Usar la llave privada que relacionada con la llave público que se asignó a la máquina virtual.
- Guardar la configurar y validar el acceso
- Mostrar el espacio de almacenamiento
Paso 4. Configurar la conexión de SQL Developer
- Conectarse como SYS, con los valores de la tabla Parámetros generados después de la instalación.
- Mostrar la versión instalada
SQL> select * from v$version
Mostrar los servicios creados
SQL> SELECT name, pdb FROM v$services ORDER BY name;
BDTEST10XDB | CDB$ROOT |
SYS$BACKGROUND | CDB$ROOT |
SYS$USERS | CDB$ROOT |
BDTEST10_iad1nv.publicvcnsubnet.publicvcn.oraclevcn.com | CDB$ROOT |
pdbt10pr.publicvcnsubnet.publicvcn.oraclevcn.com | PDBT10PR |
PARTE III. Instalar APEX y ORDS
Paso 5. Descargar y subir al servidor
- Descargar APEX 18.1, ingresar a la siguiente dirección y descargar la versión que incluye todos los idiomas
- Subir el archivo apex_18.1.zip al servidor vía WinSCP (La configuración de la conexión vía WinSCP es similar a Putty), va a quedar en el directorio: /home/opc/
- Copiar el archivo a la carpeta home del usuario oracle
[opc@htest02 ~]$ sudo su - [root@htest10 opc]# cp /home/opc/apex_18.1.zip /home/oracle/ [root@htest10 opc]# cd /home/oracle/ [root@htest10 oracle]# chown oracle apex_18.1.zip [root@htest10 oracle]# chgrp oinstall apex_18.1.zip [root@htest10 oracle]# ls -al -rw-r--r-- 1 oracle oinstall 149875516 Apr 27 23:44 apex_18.1.zip [root@htest10 oracle]# exit [opc@htest10 ~]$ sudo su - oracle [oracle@htest10 ~]$ pwd /home/oracle [oracle@htest10 ~]$ unzip apex_18.1.zip
Nota. se copia a esta carpeta, porque el owner de la carpeta products está asignada al usuario root.
[oracle@htest10 ~]$ mv /home/oracle/apex/ /u01/app/oracle/
Nota. Es importante ubicarse en este directorio, ya que desde aqui se va a inicar la instalación de APEX/ORDS.
[oracle@htest10 ~]$ cd /u01/app/oracle/apex/
Paso 6. Instalar APEX 18.1
- Dentro de la ruta de APEX /u01/app/oracle/apex/ ejecutamos sqlplus / sys as sysdba
[oracle@htest02 apex]$ sqlplus SQL*Plus: Release 12.2.0.1.0 Production on Sun Mar 29 13:46:37 2020 Copyright (c) 1982, 2016, Oracle. All rights reserved. Enter user-name: sys as sysdba Enter password: Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL>
- Debido a que el script se ejecuta con ciertos permisos, es necesario preparar el ambiente para soportar la ejecución del script (Doc ID 2408087.1)
La primer línea quita la restricción en el CDB
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL; ALTER SESSION SET CONTAINER = PDBT10PR; ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;
Crear un nuevo perfil, que será asignado posteriormente a los usuarios de APEX
CREATE PROFILE APEX_PUBLIC LIMIT PASSWORD_LIFE_TIME UNLIMITED; ALTER PROFILE APEX_PUBLIC LIMIT PASSWORD_REUSE_MAX UNLIMITED; ALTER PROFILE APEX_PUBLIC LIMIT PASSWORD_REUSE_TIME UNLIMITED ; ALTER PROFILE APEX_PUBLIC LIMIT PASSWORD_VERIFY_FUNCTION NULL; -- Desbloquear el siguiente usuario: ALTER USER ANONYMOUS ACCOUNT UNLOCK;
- Crear los TABLESPACES en el PDB no en el CDB
Nos aseguramos de estar dentro del contenedor PDBT10PR:
ALTER SESSION SET CONTAINER = PDBT10PR; show con_name; show user; CREATE TABLESPACE APEX DATAFILE \'PDB10APEX.dbf\' SIZE 1200M AUTOEXTEND ON NEXT 100M; CREATE TABLESPACE APEX_FILES DATAFILE \'PDB10APEX_FILES.dbf\' SIZE 300M AUTOEXTEND ON NEXT 50M; CREATE TEMPORARY TABLESPACE APEX_TEMP TEMPFILE\'PDB10APEX_TEMP.dbf\' SIZE 100M; CREATE TABLESPACE ORDS DATAFILE \'PDB10ORDS.dbf\' SIZE 1024M AUTOEXTEND ON NEXT 100M;
Ejecutar el script de instalación de APEX con los siguientes parámetros en el orden mostrado
@apexins.sql tablespace_apex tablespace_files tablespace_temp images
Full development environment – Run apexins.sql
Dónde:
- tablespace_apex: tablespace para el usuario de la aplicación de Application Express.
- tablespace_files: tablespace para el usuario de los archivos de Application Express.
- tablespace_temp: tablespace temporal o del grupo de tablespaces.
- Images: es el directorio virtual para las imágenes de Application Express. Para admitir futuras actualizaciones de Application Express, definimos como /i/.
@apexins APEX APEX_FILES APEX_TEMP /i/
Salida:
PL/SQL procedure successfully completed. timing for: Validate Installation Elapsed: 00:02:03.14 Session altered. PL/SQL procedure successfully completed. Thank you for installing Oracle Application Express 18.1.0.00.45 Oracle Application Express is installed in the APEX_180100 schema. The structure of the link to the Application Express administration services is as follows: http://host:port/pls/apex/apex_admin (Oracle HTTP Server with mod_plsql) http://host:port/apex/apex_admin (Oracle XML DB HTTP listener with the embedded PL/SQL gateway) http://host:port/apex/apex_admin (Oracle REST Data Services) The structure of the link to the Application Express development interface is as follows: http://host:port/pls/apex (Oracle HTTP Server with mod_plsql) http://host:port/apex (Oracle XML DB HTTP listener with the embedded PL/SQL gateway) http://host:port/apex (Oracle REST Data Services) . . . PL/SQL procedure successfully completed. 1 row selected. ...null1.sql SYS> SYS>
El script de instalación crea 3 nuevas cuentas de base de datos:
- APEX_180100 : Cuenta propietaria del esquema y los metadatos de Application Express
- FLOWS_FILES: Cuenta propietaria de los archivos cargados en Application Express
- APEX_PUBLIC_USER: Cuenta con privilegios mínimos que se utiliza para la configuración de Oracle Application Express con Oracle REST Data Services u Oracle HTTP Server y mod_plsql
- Configurar el perfil de la cuentas de APEX
Verificar el estado en que se encuentran las cuentas:
SELECT * FROM DBA_USERS WHERE USERNAME IN (\'APEX_180100\',\'FLOWS_FILES\', \'APEX_PUBLIC_USER\');
Cambiar el perfil de estas cuentas y desbloquea estas cuentas:
alter user APEX_180100 profile apex_public; alter user FLOWS_FILES profile apex_public; alter user APEX_PUBLIC_USER profile apex_public;
alter user APEX_180100 IDENTIFIED BY ZXasd_##1521 profile apex_public ACCOUNT UNLOCK; alter user FLOWS_FILES IDENTIFIED BY ZXasd_##1521 profile apex_public ACCOUNT UNLOCK; alter user APEX_PUBLIC_USER IDENTIFIED BY ZXasd_##1521 profile apex_public ACCOUNT UNLOCK;
Configurar el ORDS
Ejecutar apex_rest_config.sql, este paso creará 2 usuarios adicionales que son utilizados para el REST.
- APEX_REST_PUBLIC_USER: Se usa cuando se invocan definiciones de Servicios RESTful almacenadas en APEX
- APEX_LISTENER: Se usa para consultar las definiciones de servicios RESTful almacenadas en Application Express
@apex_rest_config.sql
Salida:
@apex_rest_config.sql Enter a password for the APEX_LISTENER user [] Enter a password for the APEX_REST_PUBLIC_USER user [] ...set_appun.sql ...create APEX_LISTENER and APEX_REST_PUBLIC_USER users PL/SQL procedure successfully completed. Grant succeeded. Session altered. Synonym created. PL/SQL procedure successfully completed. .
Verificar el estado en que se encuentran las cuentas:
alter user APEX_LISTENER profile apex_public; alter user APEX_REST_PUBLIC_USER profile apex_public;
SELECT * FROM DBA_USERS WHERE USERNAME IN(\'APEX_REST_PUBLIC_USER\',\'APEX_LISTENER\');
- Configurar el directorio para las imágenes en Embedded PL/SQL Gateway
@apex_epg_config.sql /u01/app/oracle
Salida:
SQL> @apex_epg_config.sql /u01/app/oracle PL/SQL procedure successfully completed. . Loading images directory: /u01/app/oracle/apex/images Directory created. PL/SQL procedure successfully completed. Commit complete. Directory dropped. timing for: Load Images Elapsed: 00:02:30.22 PL/SQL procedure successfully completed. Commit complete.
Desbloquear el usuario ANONYMOUS
ALTER USER ANONYMOUS ACCOUNT UNLOCK; select * from dba_users where username =\'ANONYMOUS\';
- Cambiar/Asignar la contraseña del usuario ADMIN de APEX
USUARIO ADMIN DE APEX= ADMIN_TEST10
@apxchpwd.sql
Salida:
SQL> @apxchpwd.sql; ================================================================ This script can be used to change the password of an Application Express instance administrator. If the user does not yet exist, a user record will be created. ================================================================ Enter the administrator\'s username [ADMIN] ADMIN_TEST10 User \"ADMIN_TEST10\" does not yet exist and will be created. Enter ADMIN_TEST10\'s email [ADMIN_TEST10] ifararoni@apeplazas.com Enter ADMIN_TEST10\'s password [] Created instance administrator ADMIN_TEST10. exit
Paso 7. Instalar/configurar ORDS
- Copiar ords.war del directorio de instalación a un directorio de trabajo
[oracle@test10 apex]$ cd /u01/app/oracle/product/12.2.0.1/dbhome_1 [oracle@test10 dbhome_1]$ cp -R ./ords/ /u01/app/oracle/ [oracle@test10 dbhome_1]$ cd /u01/app/oracle/ [oracle@test10 oracle]$ chown -R oracle ords [oracle@test10 oracle]$ cd ords [oracle@test10 ords]$ cat /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora [oracle@test10 ords]$ cp /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora.orig.bak
- Si es necesario desbloquear los usuarios
ALTER SESSION SET CONTAINER = PDBT10PR; select * from dba_users where username in (\'APEX_REST_PUBLIC_USER\',\'APEX_LISTENER\',\'ANONYMOUS\',\'APEX_180100\',\'FLOWS_FILES\', \'APEX_PUBLIC_USER\'); ALTER USER APEX_PUBLIC_USER IDENTIFIED BY ZXasd_##1521 ACCOUNT UNLOCK; ALTER USER APEX_LISTENER IDENTIFIED BY ZXasd_##1521 ACCOUNT UNLOCK; ALTER USER APEX_REST_PUBLIC_USER IDENTIFIED BY ZXasd_##1521 ACCOUNT UNLOCK; —- alter user APEX_180100 IDENTIFIED BY ZXasd_##1521 profile apex_public ACCOUNT UNLOCK; alter user APEX_INSTANCE_ADMIN_USER IDENTIFIED BY ZXasd_##1521 profile apex_public ACCOUNT UNLOCK; SELECT name, pdb FROM v$services ORDER BY name;
- Ejecutar la instalación de ORDS
Cuando el script pregunte por el servicio de base de datos, proporcionar la conexión del CDB
pdbt10pr.publicvcnsubnet.publicvcn.oraclevcn.com
[oracle@htest03 ords]$ netstat -tulpn | grep 1521

java -jar ords.war install advanced
When prompted, enter the service name information for your PDB:
- host: 192.168.74.3
- port: 1521
- service name: pdbt10pr.publicvcnsubnet.publicvcn.oraclevcn.com
- Using configuration folder: /u01/app/oracle/ords/config/ords
[oracle@test10 ords]$ java -jar ords.war install advanced Verify ORDS schema in Database Configuration apex with connection host: 192.168.74.3 port: 1521 service name: pdbt10pr.publicvcnsubnet.publicvcn.oraclevcn.com Please login with SYSDBA privileges to verify Oracle REST Data Services schema. Enter the username with SYSDBA privileges to verify the installation [SYS]: Enter the database password for SYS: Confirm password: Enter the default tablespace for ORDS_METADATA [SYSAUX]: Enter the temporary tablespace for ORDS_METADATA [TEMP]: Enter the default tablespace for ORDS_PUBLIC_USER [USERS]: Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP]: Installing Oracle REST Data Services version 3.0.7.228.03.57 ... Log file written to /home/oracle/ords_install_core_2020-05-03_223545_00663.log ... Verified database prerequisites ... Created Oracle REST Data Services schema ... Created Oracle REST Data Services proxy user ... Granted privileges to Oracle REST Data Services ... Created Oracle REST Data Services database objects ... Log file written to /home/oracle/ords_install_datamodel_2020-05-03_223614_00912.log Completed installation for Oracle REST Data Services version 3.0.7.228.03.57. Elapsed time: 00:00:30.771 Enter 1 if you wish to start in standalone mode or 2 to exit [1]:1 2020-05-03 22:36:20.752:INFO::main: Logging initialized @70244ms May 03, 2020 10:36:20 PM INFO: Existing keystore files loaded, verifying... May 03, 2020 10:36:20 PM INFO: Existing keystore is still valid. May 03, 2020 10:36:20 PM INFO: Disabling document root because the specified folder does not exist: /u01/app/oracle/ords/config/ords/standalone/doc_root 2020-05-03 22:36:22.357:INFO:oejs.Server:main: jetty-9.2.z-SNAPSHOT 2020-05-03 22:36:22.636:INFO:/ords:main: INFO: Using configuration folder: /u01/app/oracle/ords/config/ords 2020-05-03 22:36:22.637:INFO:/ords:main: FINEST: |ApplicationContext [configurationFolder=/u01/app/oracle/ords/config/ords, services=Application Scope]|
Paso 8: Configurar el Firewall
- Permitir acceso al puerto HTTPS de ORDS de puertos:
Asegurarse que existe la siguiente regla en
** Nateo de puertos para redirigir el tráfico de entrada y salida
[opc-@test10 ~]$ sudo su - Last login: Sun May 3 22:41:48 CDT 2020 ## Nateo de puertos para redirigir el tráfico de entrada y salida [root@test10 ~]# iptables -t nat -A PREROUTING -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443 [root@test10 ~]# iptables -t nat -A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 8443 ## Permitir tráfico del servidor web: [root@test10 ~]# iptables -A INPUT -p tcp --dport 443 -j ACCEPT [root@test10 ~]# iptables -A INPUT -p tcp --dport 8443 -j ACCEPT ## Guardar la configuración [root@test10 ~]# service iptables save iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] [root@test10 ~]# service iptables reload Redirecting to /bin/systemctl reload iptables.service
Mostrar las interfaces disponibles, seleccionar el que recibe entradas desde Internet
# tcpdump -i ens3 port 443
Abrir una consola de CMD en windows o un navegador web
$ curl -k https://158.101.109.164
Salida:
$ curl -vvI https://150.136.101.194* Rebuilt URL to: https://150.136.101.194/* Trying 150.136.101.194…* TCP_NODELAY set* Connected to 150.136.101.194 (150.136.101.194) port 443 (#0)* schannel: SSL/TLS connection with 150.136.101.194 port 443 (step 1/3)* schannel: checking server certificate revocation* schannel: using IP address, SNI is not supported by OS.* schannel: sending initial handshake data: sending 156 bytes…* schannel: sent initial handshake data: sent 156 bytes* schannel: SSL/TLS connection with 150.136.101.194 port 443 (step 2/3)* schannel: failed to receive handshake, need more data* schannel: SSL/TLS connection with 150.136.101.194 port 443 (step 2/3)* schannel: encrypted data got 809* schannel: encrypted data buffer: offset 809 length 4096* schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) – La cadena de certificación fue emitida por una entidad en la que no se confía.* Closing connection 0* schannel: shutting down SSL/TLS connection with 150.136.101.194 port 443* schannel: clear security context handlecurl: (77) schannel: next InitializeSecurityContext failed: SEC_E_UNTRUSTED_ROOT (0x80090325) – La cadena de certificación fue emitida por una entidad en la que no se confía. |
Revisar si está llegando el tráfico a la interfaz |
[root@htest02 ~]# tcpdump -i ens3 port 8443 |
Habilitar en un solo comando HTTP y HTTPS |
sudo iptables -A INPUT -p tcp -m multiport –dports 80,443 -m conntrack –ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp -m multiport –dports 80,443 -m conntrack –ctstate ESTABLISHED -j ACCEPT |
Exportar, modificar y actualizar la tabla IPTABLES |
sudo iptables-save > iptables.txtsudo vi iptables.txtsudo iptables-restore < iptables.txt |
#Fragmento# Generated by iptables-save v1.4.21 on Thu Apr 30 22:54:38 2020*nat:PREROUTING ACCEPT [392:21960]:INPUT ACCEPT [352:20296]:OUTPUT ACCEPT [55433:60569784]:POSTROUTING ACCEPT [55433:60569784]-A PREROUTING -p tcp -m tcp –dport 443 -j REDIRECT –to-ports 8443-A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp –dport 443 -j REDIRECT –to-ports 8443COMMIT# Completed on Thu Apr 30 22:54:38 2020# Generated by iptables-save v1.4.21 on Thu Apr 30 22:54:38 2020*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [266614:156815533]:BareMetalInstanceServices – [0:0]-A INPUT -p tcp -m tcp –dport 443 -j ACCEPT-A INPUT -p tcp -m tcp –dport 8443 -j ACCEPT-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -i ens4 -j ACCEPT-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT. . . . # Completed on Thu Apr 30 22:54:38 2020 |
Listas las reglas de IPTABLES |
sudo iptables -L |
PARTE IV. Configurar APEX
Paso 9. Exportar el Workspace desde el servidor origen
Paso 9. Creación de un Espacio de Trabajo Manualmente
- Descargar APEX 18.1, ingresar a la siguiente dirección y descargar la versión que incluye todos los idiomas
URL de administración | /ords/apex_admin |
URL de la instalación | https://IP_PUBLICA/ords/f?p=4550:10:11300713595100::::: |
Username | ADMIN |
Password | T03ABcde00## |
Schema Name(Value Required) | WS_APE_PLAZAS_CONTRATOS_QA |
Schema Password | T03ABcde00## |
Administrator Username(Value Required) | ADMIN_QA WS_APE_PLAZAS_CONTRATOS_QA1ADMIN_QA2 |
Administrator Password(Value Required) | T03ABcde00## |
- Hacemos click en Manage Workspaces → luego click en Create Workspace
- Crear el workspace manualmente
- Ingresar al Workspace WS_APE_PLAZAS_CONTRATOS_QA
- Pantalla princpal de APEX
- Instalar Oracle APEX 18.2 en Español
Instalar Oracle APEX 18.2 en Español Finalmente, si queremos tener nuestro APEX traducido al español necesitamos primero establecer la variable NLS en nuestro sistema operativo Windows.C:\\>set NLS_LANG=American_America.AL32UTF8 Ahora nos ubicamos en la carpeta de instalación de APEX C:\\apex\\builder\\es y abrimos el SQLPlus y ejecutamos el script load_es.sql.C:\\apex\\builder\\es>sqlplus SYS/my_password@XE as SYSDBASQL> ALTER SESSION SET CONTAINER = XEPDB1;SQL> @load_es.sql https://www.oracle.com/technetwork/es/articles/apex/instalar-oracle-apex18-5487195-esa.html |
PARTE V. Importar esquema y base de datos
Paso 10. Preparación para exportar la base de datos origen
Llenar la siguiente tabla:
Base de datos origen | |
PLUGGABLE DATABASE(PDB) | apeppdb1.pubapeoracle.puboracleape.oraclevcn.com |
SCHEMA_NAME | XXSCHEMA_CONTRATOS (existe en la PDB) |
Directorio DATAPUMP | APEPPDB1_EXPDIR/u01/app/oracle/DATAPUMP\’ |
TABLESPACES | APEX_APEPDB12_PDATA 31744APEX_APEPDB12_PIDX 6144APEX_APEPDB12_TDATA 41983.984375APEX_APEPDB12_TIDX 6144 |
Base de datos destino | |
PLUGGABLE DATABASE(PDB) | pdbt03.pubapeoracle.puboracleape.oraclevcn.com |
SCHEMA_NAME | XXSCHEMA_CONTRATOS (existe en la PDB) |
Directorio DATAPUMP | PDBT03_EXPDIR/u01/app/oracle/DATAPUMP\’ |
TABLESPACES | APEX_APEPDB12_PDATA 31744APEX_APEPDB12_PIDX 6144APEX_APEPDB12_TDATA 41983.984375APEX_APEPDB12_TIDX 6144 |
ALTER SESSION SET CONTAINER = PDBT03;CREATE TABLESPACE APEX_APEPDB12_PDATA DATAFILE \’APEX_APEPDB12_PDATA.dbf\’ SIZE 30G AUTOEXTEND ON NEXT 10G;CREATE TABLESPACE APEX_APEPDB12_TDATA DATAFILE \’APEX_APEPDB12_TDATA.dbf\’ SIZE 30G AUTOEXTEND ON NEXT 10G;CREATE TABLESPACE APEX_APEPDB12_PIDX DATAFILE \’APEX_APEPDB12_PIDX.dbf\’ SIZE 6G AUTOEXTEND ON NEXT 1G;CREATE TABLESPACE APEX_APEPDB12_TIDX DATAFILE \’APEX_APEPDB12_TIDX .dbf\’ SIZE 6G AUTOEXTEND ON NEXT 1G; |
- Verificar que se encuentre dato de
[oracle@apepdb admin]$ cat /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora
Salida:
[oracle@apepdb admin]$ cat /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.oraAPEPDB12_iad1t6= (DESCRIPTION= (ADDRESS = (PROTOCOL = TCP)(HOST = apepdb-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = APEPDB12_iad1t6.pubapeoracle.puboracleape.oraclevcn.com) ) ) APEPPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = apepdb.pubapeoracle.puboracleape.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = apeppdb1.pubapeoracle.puboracleape.oraclevcn.com) ) ) APEPDB12 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = apepdb-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = APEPDB12_iad1t6.pubapeoracle.puboracleape.oraclevcn.com) ) ) |
- Localizar el directorio a donde va a caer el DMP
SQL > SELECT * FROM dba_directories;
> SYS | DATA_PUMP_DIR /u01/app/oracle/product/12.2.0.1/dbhome_1/rdbms/log/
- Verificar que hay espacio en ese directorio.
[opc@apepdb ~]$ df -BG
[opc@apepdb ~]$ df -BG /u01/app/oracle/product/12.2.0.1/dbhome_1/rdbms/log/
- Obtener el esquema en donde se encuentra el esquema a exportar
SQL > SELECT SERVICE_ID, pdb, name, NETWORK_NAME
FROM v$services
ORDER BY name;
apeppdb1.pubapeoracle.puboracleape.oraclevcn.com APEPPDB1
SQL > SHOW PDBS;
CON_ID CON_NAME OPEN MODE RESTRICTED
———- —————————— ———- ———-
2 PDB$SEED READ ONLY NO
3 APEPPDB1 READ WRITE NO
Paso 11. Crear el directorio para DATAPUMP en el PDB
- Crear el directorio en el Filesystem
- Revisar que hay suficiente espacio para exportar los datos. Hay que tener precaución de NO saturar el directorio raíz (/) porque se puede colapsar el S.O, debe tener un espacio mínimo de 15Gb. Buscar el filesystem con más espacio, cuidar que no se donde se generar los TABLESPACES de la Base de Datos, porque si se satura la B.D no podrá incrementar su tamaño.
df -BG
- Crear el directorio en el Filesystem
[oracle@apepdb DATAPUMP]$ cd /u01/app/oracle/
[oracle@apepdb oracle]$ mkdir DATAPUMP
[oracle@apepdb DATAPUMP]$ pwd
/u01/app/oracle/DATAPUMP
- Seleccionar el PDB y mostrar los directorios
SQL > ALTER SESSION set container=APEPPDB1;
SQL > SHOW PDBS;
SQL > CREATE DIRECTORY APEPPDB1_EXPDIR AS \’/u01/app/oracle/DATAPUMP\’;
- Mostrar los TABLESPACES que se van a necesitar en el destino
SQL > ALTER SESSION set container=APEPPDB1;
SQL > SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM USER_TABLESPACES;
Paso 11. Exportar el esquema de origen [9]
- Exportar el esquema
Esquema/usuario: XXSCHEMA_CONTRATOS_TEST
PDB apeppdb1
DIRECTORY APEPPDB1_EXPDIR
[oracle@apepdb oracle]$ expdp XXSCHEMA_CONTRATOS_TEST/ABcde00##@apeppdb1 dumpfile=XXSCHEMA_CONTRATOS_TEST_20200501.dmp logfile=XXSCHEMA_CONTRATOS_TEST_20200501.log directory=APEPPDB1_EXPDIR SCHEMAS=XXSCHEMA_CONTRATOS_TEST schemas=XXSCHEMA_CONTRATOS_TEST
[oracle@apepdb oracle]$ expdp XXSCHEMA_CONTRATOS_TEST/ABcde00##@apeppdb1 dumpfile=XXSCHEMA_CONTRATOS_TEST_20200501.dmp logfile=XXSCHEMA_CONTRATOS_TEST_20200501.log directory=APEPPDB1_EXPDIR SCHEMAS=XXSCHEMA_CONTRATOS_TEST schemas=XXSCHEMA_CONTRATOS_TEST Export: Release 12.2.0.1.0 – Production on Fri May 1 12:00:14 2020 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 – 64bit ProductionStarting \»XXSCHEMA_CONTRATOS_TEST\».\»SYS_EXPORT_SCHEMA_01\»: XXSCHEMA_CONTRATOS_TEST/********@apeppdb1 dumpfile=XXSCHEMA_CONTRATOS_TEST_20200501.dmp logfile=XXSCHEMA_CONTRATOS_TEST_20200501.log directory=APEPPDB1_EXPDIR SCHEMAS=XXSCHEMA_CONTRATOS_TEST schemas=XXSCHEMA_CONTRATOS_TESTProcessing object type SCHEMA_EXPORT/TABLE/TABLE_DATA. . . .Master table \»XXSCHEMA_CONTRATOS_TEST\».\»SYS_EXPORT_SCHEMA_01\» successfully loaded/unloaded******************************************************************************Dump file set for XXSCHEMA_CONTRATOS_TEST.SYS_EXPORT_SCHEMA_01 is: /u01/app/oracle/DATAPUMP/XXSCHEMA_CONTRATOS_TEST_20200501.dmpJob \»XXSCHEMA_CONTRATOS_TEST\».\»SYS_EXPORT_SCHEMA_01\» successfully completed at Fri May 1 12:14:46 2020 elapsed 0 00:14:30 |
- Verificar que quede suficiente espacio en el Filesystem
[oracle@apepdb oracle]$ df -BGFilesystem 1G-blocks Used Available Use% Mounted ondevtmpfs 15G 0G 15G 0% /devtmpfs 15G 1G 14G 6% /dev/shmtmpfs 15G 1G 14G 6% /runtmpfs 15G 0G 15G 0% /sys/fs/cgroup/dev/mapper/VolGroupSys4-LogVolRoot 35G 6G 28G 17% //dev/sda2 2G 1G 2G 8% /boot/dev/sda1 1G 1G 1G 2% /boot/efitmpfs 15G 1G 15G 1% /tmp/dev/sdj 197G 100G 88G 54% /u01tmpfs 3G 0G 3G 0% /run/user/102/dev/asm/commonstore-400 5G 1G 5G 8% /opt/oracle/dcs/commonstoretmpfs 3G 0G 3G 0% /run/user/54322 |
- Empaquetar y comprimir el DMP
[oracle@apepdb DATAPUMP]$ tar -czvf XXSCHEMA_CONTRATOS_TEST_20200501.dmp.tar.gz XXSCHEMA_CONTRATOS_TEST_20200501.*
XXSCHEMA_CONTRATOS_TEST_20200501.dmp
- Exportar XXSCHEMA_CONTRATOS
[oracle@apepdb oracle]$ expdp XXSCHEMA_CONTRATOS/ABcde00##@apeppdb1 dumpfile=XXSCHEMA_CONTRATOS_20200501.dmp logfile=XXSCHEMA_CONTRATOS_20200501.log directory=APEPPDB1_EXPDIR SCHEMAS=XXSCHEMA_CONTRATOS schemas=XXSCHEMA_CONTRATOS
[oracle@apepdb oracle]$ df -BG
[oracle@apepdb DATAPUMP]$ tar -czvf XXSCHEMA_CONTRATOS_20200501.dmp.tar.gz XXSCHEMA_CONTRATOS_20200501.*
- Descargar los archivos
- Borrar los archivos generados para liberar el espacio
[oracle@apepdb DATAPUMP]$ rm XXSCHEMA_CONTRATOS_TEST_20200501.dmp
[oracle@apepdb DATAPUMP]$ rm XXSCHEMA_CONTRATOS_TEST_20200501.log
[oracle@apepdb DATAPUMP]$ rm XXSCHEMA_CONTRATOS_20200501.dmp
[oracle@apepdb DATAPUMP]$ rm XXSCHEMA_CONTRATOS_20200501.log
Paso 11. Importar el esquema en la nueva B.D. e
- Subir los archivos comprimidos al servidor destivo
[opc@htest03 ~]$ ls -al *.tar.gz
-rw-rw-r– 1 opc opc 2442106496 May 1 14:07 XXSCHEMA_CONTRATOS_20200501.dmp.tar.gz
[opc@htest03 ~]$ sudo su – oracle
Last login: Fri May 1 15:45:07 CDT 2020
[oracle@htest03 ~]$ cd /u01/app/oracle
[oracle@htest03 oracle]$ mkdir DATAPUMP
[oracle@htest03 oracle]$ pwd
- Crear/Verificar el directorio en el Filesystem
[opc@htest03 ~]$ sudo su – oracle
Last login: Fri May 1 15:45:07 CDT 2020
[oracle@htest03 ~]$ cd /u01/app/oracle
[oracle@htest03 oracle]$ mkdir DATAPUMP
[oracle@htest03 oracle]$ pwd
/u01/app/oracle
[oracle@htest03 oracle]$ exit
logout
[opc@htest03 ~]$ sudo su –
Last login: Fri May 1 15:55:18 CDT 2020
[root@htest03 ~]# mv /home/opc/XXSCHEMA_CONTRATOS_20200501.dmp.tar.gz /u01/app/oracle/DATAPUMP/
[root@htest03 ~]# chown oracle /u01/app/oracle/DATAPUMP/XXSCHEMA_CONTRATOS_20200501.dmp.tar.gz
[root@htest03 ~]# chgrp oinstall /u01/app/oracle/DATAPUMP/XXSCHEMA_CONTRATOS_20200501.dmp.tar.gz
[root@htest03 ~]# exit
[oracle@htest03 DATAPUMP]$ tar -xvf XXSCHEMA_CONTRATOS_20200501.dmp.tar.gz
- Seleccionar el PDB y mostrar los directorios
SQL > ALTER SESSION SET CONTAINER = PDBT03;
SQL > SHOW PDBS;
SQL > create directory PDBT03_EXPDIR as \’/u01/app/oracle/DATAPUMP\’;
- Crear los TABLESPACE’s
SQL > CREATE TABLESPACE APEX_APEPDB12_PDATA DATAFILE \’APEX_APEPDB12_PDATA.dbf\’ SIZE 30G AUTOEXTEND ON NEXT 5G;
SQL > CREATE TABLESPACE APEX_APEPDB12_TDATA DATAFILE \’APEX_APEPDB12_TDATA.dbf\’ SIZE 30G AUTOEXTEND ON NEXT 5G;
SQL > CREATE TABLESPACE APEX_APEPDB12_PIDX DATAFILE \’APEX_APEPDB12_PIDX.dbf\’ SIZE 6G AUTOEXTEND ON NEXT 1G;
SQL > CREATE TABLESPACE APEX_APEPDB12_TIDX DATAFILE \’APEX_APEPDB12_TIDX .dbf\’ SIZE 6G AUTOEXTEND ON NEXT 1G;
SQL > SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM USER_TABLESPACES;
- Agregar una cadena de conexión
[oracle@htest03 ~]$ cat /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/tnsnames.ora
PDBT03=(DESCRIPTION =(ADDRESS =(PROTOCOL=TCP)(HOST = htest03.pubapeoracle.puboracleape.oraclevcn.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = pdbt03.pubapeoracle.puboracleape.oraclevcn.com) ) ) |
- Si aún no existe el usuario del esquema, crearlo:
SQL > DROP USER XXSCHEMA_CONTRATOS CASCADE; |
SQL > CREATE USER SOPORTE1 identified by ABcde00##;SQL > CREATE USER SOPORTE2 identified by ABcde00##;SQL > CREATE USER SOPORTE3 identified by ABcde00##;SQL > CREATE USER XXAPEPP_JASPER identified by ABcde00##;SQL > CREATE USER XXAPEPP_LECTURA identified by ABcde00##;SQL > CREATE USER XXAPEPP_BKP identified by ABcde00##;SQL > CREATE USER XXAPE_SUPP_PAYMENT identified by ABcde00##; |
SQL > CREATE USER XXSCHEMA_CONTRATOS identified by T03ABcde00##;SQL > grant create session to XXSCHEMA_CONTRATOS ;SQL > grant become user to XXSCHEMA_CONTRATOS;SQL > GRANT UNLIMITED TABLESPACE TO XXSCHEMA_CONTRATOS;SQL > GRANT DATAPUMP_IMP_FULL_DATABASE to XXSCHEMA_CONTRATOS; |
Crear un usuarios con privilegios de DBA en el PDBSQL > CREATE USER XXSCHEMA_CONTRATOS_IMP identified by T03ABcde00##;SQL > grant create session, resource, dba to XXSCHEMA_CONTRATOS_IMP ;SQL > GRANT become user to XXSCHEMA_CONTRATOS_IMP;SQL > GRANT UNLIMITED TABLESPACE TO XXSCHEMA_CONTRATOS_IMP;SQL > GRANT DATAPUMP_IMP_FULL_DATABASE to XXSCHEMA_CONTRATOS_IMP; |
- Importar el archivo
[oracle@htest03 ~]$ cd /u01/app/oracle/DATAPUMP |
[oracle@htest03 ~]$ impdp XXSCHEMA_CONTRATOS_IMP/T03ABcde00##@pdbt03 dumpfile=XXSCHEMA_CONTRATOS_20200501.dmp logfile=XXSCHEMA_CONTRATOS_20200501.log DIRECTORY=PDBT03_EXPDIR SCHEMAS=XXSCHEMA_CONTRATOS SCHEMAS=XXSCHEMA_CONTRATOS |
v
Referencias
[1] Configuración de red para sistemas de base de datos
https://docs.cloud.oracle.com/es-ww/iaas/Content/Database/Tasks/network.htm
[2] Documentación de Oracle Cloud Infrastructure
Sistemas de base de datos con hardware dedicado y máquinas virtuales
https://docs.cloud.oracle.com/es-ww/iaas/Content/Database/Concepts/overview.htm
[3] Installing Oracle REST Data Services
https://docs.oracle.com/cd/E56351_01/doc.30/e87809/installing-REST-data-services.htm#AELIG7217
[4]
[5] REST Data Services Installation, Configuration, and Development Guide
[6] Using the Multitenant Architecture with Oracle REST Data Services
[7] Instalar Oracle APEX 18.2 en una Base de Datos Oracle XE 18C Usando ORDS
[8] Creating a Workspace and Adding Oracle Application Express Users
[9] How To Run Expdp In Pluggable Database(PDB)
[10]Oracle Database 12c: Transporte de “Tablespaces” de “11.2.0.3” a “12.1”
[]
[]
My Oracle Support
Doc ID 2058706.1. APEX Unavailable After the Expiration of the APEX_PUBLIC_USER Password – 503 Service Unavailable or 404 Page not Found (Doc ID 2058706.1)
SYMPTOMS
The following errors may be seen in the web server related logs:
ORA-28001 ORA-28001: the password has expired (Associated with the HTTP-503 error.)
ORA-01017: invalid username/password; logon denied (Associate with the HTTP-403 error.)
If running ORDS in standalone mode, the ords.log will contain information similar to the following as well as the ORA-28001 / ORA-01017 error:
INFO: Validating pool: |apex||
May 29, 2018 7:25:31 PM
SEVERE: The username or password for the connection pool named apex, are invalid, expired, or the account is locked
oracle.dbtools.common.jdbc.ConnectionPoolConfigurationException: The username or password for the connection pool named apex, are invalid, expired, or the account is locked
at oracle.dbtools.common.config.db.DatabasePools.validateConnection(DatabasePools.java:427)
CAUSE
No profile exists for the APEX_PUBLIC_USER, APEX_LISTENER, APEX_REST_PUBLIC_USER and ORDS_PUBLIC_USER accounts and therefore the password expires in 180 days.
After adding a profile with password_life_time unlimited, the issue will not re-occur
SOLUTION
1. Execute the following command from SQL Plus as the SYS user:
Alter user ords_public_user identified by xxxx;
ALTER USER ORDS_PUBLIC_USER ACCOUNT UNLOCK;
In a 12c database, this should be done in the container database. If you are connected to the PDB, you will receive the error:
ORA-65066: The specified changes must apply to all containers
show con_name should return CDB$ROOT.
To switch to the container database:
ALTER SESSION SET container = CDB$ROOT;
In a 12c database, this should be done in the pluggable database.
select name, open_mode, restricted from v$pdbs;
To switch to the container database:
ALTER SESSION SET container = PDB1;
Where PDB1 is the PDB name returned from v$pdbs.
Alter user APEX_PUBLIC_USER identified by xxxx;
Alter user APEX_REST_PUBLIC_USER identified by xxxx;
Alter user APEX_LISTENER identified by xxxx;
NOTE: For DBaaS instances, the password should be the same one used at instance creation time / same as the SYS password.
2. Unlock the users:
ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
ALTER USER APEX_REST_PUBLIC_USER ACCOUNT UNLOCK;
ALTER USER APEX_LISTENER ACCOUNT UNLOCK;
ALTER USER ORDS_PUBLIC_USER ACCOUNT UNLOCK;
3. Now create a profile for the APEX related users:
Create profile apex_public_profile limit password_life_time unlimited;
For multi-tenant databases, this step is performed in the PDB.
4. Assign the profile to the APEX users:
alter user apex_public_user profile apex_public_profile;
alter user apex_rest_public_user profile apex_public_profile;
alter user apex_listener profile apex_public_profile;
alter user ords_public_user profile apex_public_profile;
5. Restart ORDS and retest. See:
Doc ID 2408087.1. ORA-28003, ORA-20202 Installing ORDS In a 12c Database (Doc ID 2408087.1)
SYMPTOMS
SEVERE: Error executing script: ords_create_schema.sql Error: ORA-20202:
ERROR: An error occurred during ORDS_METADATA
creation. ORA-28003: password verification for the specified password failed
ORA-06512: at line 62
SOLUTION
The issue will be fixed in a future version of ORDS, and that version will include generation of stronger passwords. In the meantime, the follow workaround can be used.
Temporarily disable the password verify function:
1. Disable the password verify function:
SQL> alter profile default limit password_verify_function null;
2. Install ORDS as usual.
3. Re-Enable the the password verify function:
SQL> alter profile default limit password_verify_function ORA12C_STRONG_VERIFY_FUNCTION ;
Matar una
SELECT SID, SERIAL#, STATUS, SERVER FROM V$SESSION WHERE USERNAME = \’XXSCHEMA_CONTRATOS\’;
ALTER SYSTEM KILL SESSION \’207, 14397\’;