1. Se abre una consola de comandos Windows
2. Se ejecuta :
C:\Users\fmanriquezo> sqlplus / as sysdba
Con esto se entra a la consola con el usuario SYS que es el superadmin de la base de datos
sysdba es el rol de administracion de la base de datos
3.- El comando SHOW CON_NAME muestra el contenedor al cual estoy conectado
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT
Esto significa que esty conectado al contendedor raiz
4.- Selecciono las Plugable Database disponibles en esta plataforma
SQL> SELECT con_id, name from v$pdbs; CON_ID ---------- NAME ------------------------------------------------------------ -------------------- 2 PDB$SEED 3 XEPDB1
La salida no es muy elegante, por lo cual formateo las columna «name» para que sea más corta y repito
SQL> column name format a20
SQL> SELECT con_id, name from v$pdbs;
CON_ID NAME
---------- --------------------
2 PDB$SEED
3 XEPDB1
Nuestra base de datos XEPDB1 se encuentra en el container 3. El container 2 contiene la PDB PDB$SEED que viene de fábrica y es la semilla para la creación de nuevas PDBs
PDB: Pluggable Database (Base de datos enchufable y desenchufable, concepto nuevo que aparece en Oracle 12C)
La base de datos tiene cientos de vistas dinámicas del estilo v$XXXXX, que muestra información del estado de las componentes de la base de datos. En este curso veremos varias de ellas.
4,.- Nombre del servicio de nuestra base de datos
SQL> SELECT name as "Service name" FROM v$active_services where con_id=3; Service name ------------------------------------------------------------ ---- xepdb1
5.- Los archivos de configuracion de red de Oracle se encuentran DB_HOME, en mi caso DB_HOME= D:\app\fmanriquezo\product\18. 0.0\dbhomeXE
Las configuraciones de red se encuentran en DB_HOME\network\admin\
Hay dos archivos importantes
TNSNAMES.ORACLE, que guarda los alias de TNS,
LISTENER.ORA configuracion del LISTENER
*******TNSNAMES:ORA****************
# tnsnames.ora Network Configuration File: D:\app\fmanriquezo\product\18.0.0\dbhomeXE\NETWORK\ADMIN\ tnsnames.ora # Generated by Oracle configuration tools. XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) ) XEPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XEPDB1) ) )
LISTENER_XE = (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) )
***********LISTENER.ORA****************************
# listener.ora Network Configuration File: D:\app\fmanriquezo\product\18.0.0\dbhomeXE\NETWORK\ADMIN\ listener.ora # Generated by Oracle configuration tools. DEFAULT_SERVICE_LISTENER = XE SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\fmanriquezo\product\18. 0.0\dbhomeXE) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\ fmanriquezo\product\18.0.0\ dbhomeXE\bin\oraclr18.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
6.- Si el servicio de Windows de TNS-Listener está abajo, hay que subirlo
7.- Si el servicio estaba arriba, se puede hacer un reload de los archivos de TNS
En una ventana de comando
lsnrcrt reload
8.- Se verifica que los servicios de la base de datos estén correctamente registrados en el listener
C:\Users\fmanriquezo> lsnrcrl status
LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 13-AGO-2019 11:19:14 Copyright (c) 1991, 2018, Oracle. All rights reserved. Conectßndose a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=NTB-FMANRIQUEZ.neuronet.cl)(PORT=1521))) ESTADO del LISTENER ------------------------ Alias LISTENER Versi¾n TNSLSNR for 64-bit Windows: Version 18.0.0.0.0 - Production Fecha de Inicio 12-AGO-2019 12:06:14 Tiempo Actividad 0 dÝas 23 hr. 13 min. 6 seg. Nivel de Rastreo off Seguridad ON: Local OS Authentication SNMP OFF Servicio por Defecto XE Parßmetros del Listener D:\app\fmanriquezo\product\18.0.0\dbhomeXE\network\admin\listener.ora Log del Listener D:\app\fmanriquezo\product\18.0.0\diag\tnslsnr\NTB-FMANRIQUEZ\listener\alert\log.xml Recibiendo Resumen de Puntos Finales... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=NTB-FMANRIQUEZ.neuronet.cl)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=5500))(Security=(my_wallet_directory=D:\APP\FMANRIQUEZO\PRODUCT\18.0.0\admin\XE\xdb_wallet))(Presentation=HTTP)(Session=RAW)) Resumen de Servicios... El servicio "CLRExtProc" tiene 1 instancia(s). La instancia "CLRExtProc", con estado UNKNOWN, tiene 1 manejador(es) para este servicio... El servicio "XE" tiene 1 instancia(s). La instancia "xe", con estado READY, tiene 1 manejador(es) para este servicio... El servicio "XEXDB" tiene 1 instancia(s). La instancia "xe", con estado READY, tiene 1 manejador(es) para este servicio... El servicio "df7555b53690479bb2b206c906bcabfb" tiene 1 instancia(s). La instancia "xe", con estado READY, tiene 1 manejador(es) para este servicio... El servicio "xepdb1" tiene 1 instancia(s). La instancia "xe", con estado READY, tiene 1 manejador(es) para este servicio... El comando ha terminado correctamente
9.- En la ventana de administracion de base de datos del paso 4, ejecutamos lo siguiente
SQL> ALTER SESSION SET CONTAINER=XEPDB1;
sesion modificada
10.- Consultamos los usuarios de la PDB xepdb1. para eso usamos la vista de sistema llamada DBA_USERS
SQL> column username format a25; SQL> select username, account_status from dba_users; USERNAME ACCOUNT_STATUS ------------------------- -------------------------------- SYS OPEN SYSTEM OPEN XS$NULL EXPIRED & LOCKED LBACSYS LOCKED OUTLN EXPIRED & LOCKED DBSNMP EXPIRED & LOCKED APPQOSSYS EXPIRED & LOCKED DBSFWUSER EXPIRED & LOCKED GGSYS EXPIRED & LOCKED ANONYMOUS EXPIRED & LOCKED HR EXPIRED & LOCKED USERNAME ACCOUNT_STATUS ------------------------- ------------------------------ -- CTXSYS EXPIRED & LOCKED DVSYS LOCKED SI_INFORMTN_SCHEMA EXPIRED & LOCKED DVF LOCKED GSMADMIN_INTERNAL EXPIRED & LOCKED ORDPLUGINS EXPIRED & LOCKED MDSYS EXPIRED & LOCKED OLAPSYS EXPIRED & LOCKED ORDDATA EXPIRED & LOCKED XDB EXPIRED & LOCKED WMSYS EXPIRED & LOCKED USERNAME ACCOUNT_STATUS ------------------------- ------------------------------ -- ORDSYS EXPIRED & LOCKED GSMCATUSER EXPIRED & LOCKED MDDATA EXPIRED & LOCKED SYSBACKUP EXPIRED & LOCKED REMOTE_SCHEDULER_AGENT EXPIRED & LOCKED PDBADMIN OPEN GSMUSER EXPIRED & LOCKED SYSRAC EXPIRED & LOCKED OJVMSYS LOCKED AUDSYS LOCKED DIP EXPIRED & LOCKED USERNAME ACCOUNT_STATUS ------------------------- ------------------------------ -- SYSKM EXPIRED & LOCKED ORACLE_OCM EXPIRED & LOCKED SYS$UMF EXPIRED & LOCKED SYSDG EXPIRED & LOCKED 37 filas seleccionadas.
11.- Desbloqueamos el usuario HR y le cambiamos la password por «hr»
SQL> alter user hr identified by "hr" account unlock; Usuario modificado.
12.- Ya estamos en condiciones de conectarnos al usuario HR de la base de datos pluggable xepdb1
12.- Ya estamos en condiciones de conectarnos al usuario HR de la base de datos pluggable xepdb1
En otra ventana nos conectamos a sqlplus de la siguiente manera
sqlplus usuario/passwd@//localhost:1521/xepbd1
en este caso, seria
C:\Users\fmanriquezo> sqlplus hr/hr@//localhost:1521/xepdb1 SQL*Plus: Release 18.0.0.0.0 - Production on Mar Ago 13 12:03:30 2019 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Conectado a: Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0
SQL> column tname format a26 SQL> select * from tab; TNAME TABTYPE CLUSTERID -------------------------- ------------- ---------- REGIONS TABLE COUNTRIES TABLE LOCATIONS TABLE DEPARTMENTS TABLE JOBS TABLE EMPLOYEES TABLE JOB_HISTORY TABLE EMP_DETAILS_VIEW VIEW 8 filas seleccionadas.
Una segunda forma más fácil de conectarse es fijarse en la entrada del archivo TNSNAME.ORA que creamos
XEPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = LOCALHOST)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xepdb1) ) )
Y se ejecuta en consola de comando sencillamente
C:\Users\fmanriquezo>sqlplus hr/hr@xepdb1 SQL*Plus: Release 18.0.0.0.0 - Production on Mar Ago 13 12:41:49 2019 Version 18.4.0.0.0 Copyright (c) 1982, 2018, Oracle. All rights reserved. Hora de ultima Conexi¾n Correcta: Mar Ago 13 2019 12:03:30 -04:00 Conectado a: Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production Version 18.4.0.0.0 SQL> SHOW USER
USER es «HR»
Acabo de instalar la base de datos pero las instrucciones del listener me dan siempre error y no puedo desblouear debido a ello el usuario HR, se te ocurre a que se puede deber?
Microsoft Windows [Versión 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Reservados todos los derechos.
C:\Windows\system32>lsnrctl RELOAD
LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 – Production on 14-FEB-2020 12:41
:09
Copyright (c) 1991, 2018, Oracle. All rights reserved.
Conectßndose a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.39)(PORT=1521
)))
TNS-12535: TNS:timeout de la operaci¾n
TNS-12560: TNS:error del adaptador de protocolo
TNS-00505: Timeout de la operaci¾n
64-bit Windows Error: 60: Unknown error
Conectßndose a (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no hay ning·n listener
TNS-12560: TNS:error del adaptador de protocolo
TNS-00511: No hay ning·n listener
64-bit Windows Error: 2: No such file or directory
C:\Windows\system32>