Oracle

PROPÓSITO

  • para anotar todo la relativo a instalación y uso de Oracle
  • como norma en las instalaciones en casa las contraseñas son
    • de system javier
    • de las cuentas de usuario desarrollo

INSTALAR ORACLE EN EL PORTÁTIL HP BLANCO

  • instalo la versión 11c que te puedes descargar desde esta dirección
  • yo ya la tengo en C:\programasDescargados\ORACLE_XE
  • sigo estas instrucciones
Causa - Los requisitos mínimos no se cumplen para este entorno  Acción - Compruebe los logs para obtener más información o compruebe las configuraciónes soportadas para este producto.
  • orcl

  • contraseña del administrador

  • system

  • javier

  • base de dato se instala en C:\app\javier\product\11.2.0

  • La dirección URL de Database Control es https://localhost:1158/em

  • El repositorio de gestión se ha colocado en el modo seguro en el que se cifrarán los datos de Enterprise Manager. La clave de cifrado se ha colocado en el archivo: C:/app/javier/product/11.2.0/dbhome_1/localhost_orcl/sysman/config/emkey.ora. Asegúrese de que se ha realizado una copia de seguridad de este archivo ya que los datos cifrados no se podrán utilizar si éste se pierde.

  • URL de Enterprise Manager Database Control - (orcl) : https://localhost:1158/em

  • Los archivos de configuración de la base de datos se han instalado en C:\app\javier mientras que los demás componentes seleccionados se han instalado en C:\app\javier\product\11.2.0\dbhome_1. Tenga cuidado de no suprimir por accidente estos archivos de configuración

crear esquema de JAVIER

  • JAVIER

  • DESARROLLO

    • atención, es en mayúsculas
  • los tablespaces

    • JAVIER_DAT
    • JAVIER_IDX
  • en C:\app\javier\product\11.2.0\dbhome_1\database

  • renombrados PCRBK_DAT y PCRBK_IDX para que tengan el mismo nombre de los que se usan en la adjudicación de FP

-- COMO SYSTEM
CREATE TABLESPACE JAVIER_DAT DATAFILE 
  'javier_dat.dat' SIZE 200M AUTOEXTEND ON NEXT 20G MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
CREATE TABLESPACE JAVIER_IDX DATAFILE 
  'javier_idx.dat' SIZE 200M AUTOEXTEND ON NEXT 20G MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

-- EL USUARIO JAVIER
DROP USER JAVIER CASCADE;

CREATE USER JAVIER
  IDENTIFIED BY DESARROLLO
  DEFAULT TABLESPACE JAVIER_DAT
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for JAVIER 
  GRANT CONNECT TO JAVIER;
  GRANT RESOURCE TO JAVIER;
  ALTER USER JAVIER DEFAULT ROLE ALL;
  -- 6 System Privileges for JAVIER 
  GRANT CREATE JOB TO JAVIER;
  GRANT CREATE PROCEDURE TO JAVIER;
  GRANT CREATE SYNONYM TO JAVIER;
  GRANT CREATE TABLE TO JAVIER;
  GRANT CREATE VIEW TO JAVIER;
  GRANT UNLIMITED TABLESPACE TO JAVIER;
  -- 2 Tablespace Quotas for JAVIER 
  ALTER USER JAVIER QUOTA UNLIMITED ON JAVIER_DAT;
  ALTER USER JAVIER QUOTA UNLIMITED ON JAVIER_IDX;

parar y arrancar la base de datos

  • para parar la base de datos Oracle
    • como administrador
net stop OracleServiceORCL
C:\portables\console\Console2>net stop OracleServiceORCL
El servicio de OracleServiceORCL está deteniéndose.....
El servicio de OracleServiceORCL se detuvo correctamente.

instalar Oracle en el nuevo disco duro del ACER

  • en el VAIO tengo Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

  • https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

  • descomprimo los dos zip y lanzo el setup

  • avisa que no cumple Compruebe los logs para obtener más información o compruebe las configuraciónes soportadas para este producto.

  • pero sigo

  • base de datos instalada en c:\baseDatosOracle

  • nombre: orcl

  • contraseña: javier Contraseña del Administrador:[INS-30011] La contraseña de ADMIN introducida no cumple con los estándares recomendados por Oracle.

  • pero sigo pues es la que uso casi siempre en entorno casero

  • scott/javier

  • hr/javier

  • sys/javier

  • system/javier

  • desde el editor de registro de Windows borro la anterior OracleHome a la otra instalación del cliente de Oracle

parar y arrancar la base de datos

  • para parar la base de datos Oracle

    • como administrador
  • equipo HP 2020-03-17 09:11:30

net stop OracleServiceORCL
El servicio de OracleServiceORCL no se ha iniciado.
Puede obtener más ayuda con el comando NET HELPMSG 3521.
  • para levantar la base de datos Oracle
    • como administrador
@echo off
net star OracleServiceORCL 2>null
  • en la base de datos XE del ordenador SONY tenia estos comandos para parar y arrancar
net stop OracleServiceXE
@echo off
net start OracleXENSListener 2>null
net star OracleServiceXE 2>null
@oradim -startup -sid XW -starttype inst > null 2>&1

la consola web

  • se accede a través de esta dirección
    • system
    • javier

crear esquema de EPACF

  • los tablespaces
    • EPACF_DAT
    • EPACF_IDX
-- COMO SYSTEM
CREATE TABLESPACE EPACF_DAT DATAFILE 
  'epacf_dat.dat' SIZE 200M AUTOEXTEND ON NEXT 20G MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
CREATE TABLESPACE EPACF_IDX DATAFILE 
  'epacf_idx.dat' SIZE 200M AUTOEXTEND ON NEXT 20G MAXSIZE UNLIMITED
LOGGING
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;

-- EL USUARIO EPACF
DROP USER EPACF CASCADE;

CREATE USER EPACF
  IDENTIFIED BY DESARROLLO
  DEFAULT TABLESPACE EPACF_DAT
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for EPACF 
  GRANT CONNECT TO EPACF;
  GRANT RESOURCE TO EPACF;
  ALTER USER EPACF DEFAULT ROLE ALL;
  -- 6 System Privileges for EPACF 
  GRANT CREATE JOB TO EPACF;
  GRANT CREATE PROCEDURE TO EPACF;
  GRANT CREATE SYNONYM TO EPACF;
  GRANT CREATE TABLE TO EPACF;
  GRANT CREATE VIEW TO EPACF;
  GRANT UNLIMITED TABLESPACE TO EPACF;
  -- 2 Tablespace Quotas for EPACF 
  ALTER USER EPACF QUOTA UNLIMITED ON EPACF_DAT;
  ALTER USER EPACF QUOTA UNLIMITED ON EPACF_IDX;
-- el usuario EPACF_USR


CREATE USER EPACF_USR
  IDENTIFIED BY javier
  DEFAULT TABLESPACE EPACF_DAT
  TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 2 Roles for EPACF_USR
  GRANT CONNECT TO EPACF;
  GRANT RESOURCE TO EPACF;
  ALTER USER EPACF_USR DEFAULT ROLE ALL;
  GRANT UNLIMITED TABLESPACE TO EPACF;
  -- 2 Tablespace Quotas for EPACF_USR
  ALTER USER EPACF QUOTA UNLIMITED ON EPACF_DAT;
  ALTER USER EPACF QUOTA UNLIMITED ON EPACF_IDX;

  • solucionar la carga de datos para que sea más rápida

CONECTAR A BASE DE DATOS DGA DESDE CASA

CONEXION_CASA_DGA_EPCNT_DESARROLLO

  • los datos los saco del archivo TNSNAMES.ORA

  • otro método con el tnsnames en el equipo desde donde se lanza Toad

Notas de Raúl
- Acceder a esta ruta:

https://www.oracle.com/es/database/technologies/instant-client/downloads.html

- Descargar:

Instant Client for Microsoft Windows (según si es 32 o 64)

- En la versión: Version 12.2.0.1.0. Descargar:

Basic Package: instantclient-basic-windows.x64-12.2.0.1.0.zip 

- Descomprimirlo y acceder a la ruta.

- Crear una carpeta network/admin y copiar el fichero tnsnames.ora.

- En la variable de entorno Path añadir la ruta donde se ha descomprimido.

- Añadir la variable de entorno "TNS_ADMIN" con la ruta donde se ha copiado el tnsnames.ora

- Instalar el TOAD.

- Conectarse a la VPN-

- Lanzar TOAD.

CONEXIÓN A PROEDUCA

  • producción desde casa
    • meto la entrada que tengo en el tnsnames.ora del curro para PROEDUCA.WORLD en el tnsnames que usa TOAD en el pc desde donde hago la conexión
      • C:\app\javier\product\11.2.0\dbhome_1\NETWORK\ADMIN\TNSNAMES.ORA
    • editando el archivo con notepad.exe como administrador
PROEDUCA.WORLD=
  (DESCRIPTION=
    (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=pro01-scan.aragon.local)
      (PORT=47017)
    )
    (CONNECT_DATA=
      (SERVER=dedicated)
      (SERVICE_NAME=educadm_ges.aragon.local)
    )
  )
  • y me conecto pero con PROEDUCA.WORLD y no con PROEDUCA
    • NAMES.DEFAULT_DOMAIN=world en sqlnet.ora para conectarme con PROEDUCA
    • de esa forma puedo usar los mismos accesos directos que usaba en el trabajo presencial
    • tengo que activar la VPN

ÚTILES

BORRAR OBJETOS DE UN USUARIO

SELECT
    'PROMPT - ' || OBJECT_NAME || '
' ||
    'DROP ' || OBJECT_TYPE || ' "' || OBJECT_NAME || '"' ||
    DECODE(OBJECT_TYPE,
        'CLUSTER', ' INCLUDING TABLES CASCADE CONSTRAINTS',
        'OPERATOR', ' FORCE',
        'TABLE', ' CASCADE CONSTRAINTS PURGE',
        'TYPE',  ' FORCE',
        'VIEW', ' CASCADE CONSTRAINTS',
    '') || ';'
FROM SYS.USER_OBJECTS
WHERE OBJECT_TYPE IN (
    'CLUSTER', 'CONTEXT', 'DATABASE LINK', 'DIMENSION', 'DIRECTORY', 'FUNCTION', 'INDEX TYPE',
    'JAVA', 'LIBRARY', 'OPERATOR', 'OUTLINE', 'PACKAGE', 'PROCEDURE',
    'SEQUENCE', 'SYNONYM', 'TABLE', 'TYPE', 'VIEW'
)
ORDER BY OBJECT_TYPE, OBJECT_NAME;
  • faltan los jobs y los programs
 begin dbms_scheduler.drop_job(job_name =>  "EPNOM_JOB_NOM_GENERACION"); end;
 BEGIN  DBMS_SCHEDULER.DROP_PROGRAM('program1 '); END;
  • para comprobar que no queda nada
SELECT * FROM USER_OBJECTS;
-- si queda algo puede que sea en la papelera 
PURGE RECYCLEBIN;

ESPACIO DE UN ESQUEMA

select sum(bytes)/1024/1024 mb
from dba_segments
where owner=&user;
  • Para calcular espacio ocupado por el usuario con el que estamos conectados (importante si no tenemos permisos sobre las tablas DBA_%
select sum(bytes)/1024/1024 mb
from user_segments;

SQLNET.ORA

  • cambiado en casa y funciona sin .WORLD por la instrucción names.default …
# sqlnet.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

# This file is actually generated by netca. But if customers choose to 
# install "Software Only", this file wont exist and without the native 
# authentication, they will not be able to connect to the database on NT.



names.default_domain = world
name.default_zone = world
NAMES.DIRECTORY_PATH=(TNSNAMES, EZCONNECT)
SQLNET.AUTHENTICATION_SERVICES=(NTS)
LOG_DIRECTORY_CLIENT=C:\Oracle\product\11.2.0\client_1\Network\Log
LOG_FILE_CLIENT=sqlnet_log
SQLNET.EXPIRE_TIME=0
TRACE_DIRECTORY_CLIENT=C:\Oracle\product\11.2.0\client_1\Network\Trace
TRACE_FILE_CLIENT=sqlnet_trc
TRACE_FILELEN_CLIENT=100
TRACE_FILENO_CLIENT=3
TRACE_LEVEL_CLIENT=OFF
TRACE_TIMESTAMP_CLIENT=ON
TRACE_UNIQUE_CLIENT=ON
USE_DEDICATED_SERVER=OFF

TUTORIALES

PROBLEMAS

ORA-20001: APERTURA DE SESIÓN NO AUTORIZADA

  • desde el portátil de casa me da este error al conectar con proeduca con ireport
Exception
 
Message:
    java.sql.SQLException: ORA-00604: se ha producido un error a nivel 1 de SQL recursivo
ORA-20001: Apertura de sesion no autorizada en el servicio solicitado. Contacte con el equipo de administracion. Suministre IDLOG: 10790290
ORA-06512: en línea 131
Level:
    SEVERE
Stack Trace:
ORA-00604: se ha producido un error a nivel 1 de SQL recursivo ORA-20001: Apertura de sesion no autorizada en el servicio solicitado. Contacte con el equipo de administracion. Suministre IDLOG: 10790290 ORA-06512: en línea 131
    oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
    oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
    oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:792)
    oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:364)
    oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:454)
    oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
    oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
    oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:802)
    com.jaspersoft.ireport.designer.connection.JDBCConnection.getConnection(JDBCConnection.java:140)
    com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:889)
    org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)