martes, 29 de octubre de 2019

ORA-28000: the account is locked - solución

ORA-28000: the account is locked - solución


Hola.

Me sale este error al intentar desconfigurar la dbcontrol de Oracle Enterprise Manager.

Al parecer el password del usuario SYSMAN es incorrecto y esto ha causado múltiples logins fallidos lo que a su vez ocasiona que el usuario quede bloqueado.

Este escenario se puede resolver de varias maneras pero aquí les pongo por la que vienen:

SQL>ALTER USER miusuario ACCOUNT UNLOCK; 

Ahora que si les sigue pasando por algún proceso que no pueden controlar, lo más recomendable es cambiar el password del usuario en cuestión.

SQL>ALTER USER miusuario IDENTIFIED BY nuevopassword;

Estas instrucciones deben ser ejecutados con permisos necesarios, algún usuario DBA o SYS.


Espero les sirva.


Borrar tablespace con datafiles en Oracle

Cómo borrar un tablespace con datafiles en Oracle


Hola.

En este post les comparto un comando muy útil para borrar completamente un tablespace.

Me ha pasado en diversas ocasiones que necesito deshacerme de un tablespace completo con datafiles y todo.

Esto se puede presentar debido a varias razones:  realicé mal una restauración de base de datos, el datafile no corresponde con la base de datos restaurada, el tablespace temporal ya no me sirve o solo porque quiero ver al mundo arder,  etc.

Así que no hay nada mejor que eliminar el tablespace completo.

La instrucción queda así:

SQL>DROP TABLESPACE mitablespace INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

Qué bonita y eficaz ella.

Espero les sirva.

lunes, 28 de octubre de 2019

Cómo obtener el DBID de Oracle

Cómo obtener el DBID de Oracle



Hola.

En esta ocasión les voy a compartir dos maneras de ver el DBID de una base de datos de Oracle.

Este valor es muy útil cuando se requieren realizar procedimientos de restauración de backups o para identificar una base de datos en especifico.

Lo pueden hacer con SQL o con RMAN. Abajo les dejo dos maneras rápidas de hacerlo.

1.- Consultando la vista v$database

SQL> SELECT DBID FROM V$DATABASE;

      DBID
----------
4042975402


2.- Conectando a RMAN desde un command prompt

C:\Windows\system32>RMAN TARGET /
Recovery Manager: Release 11.2.0.1.0 - Production on Mon Oct 28 21:31:09 2019
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
connected to target database: DATABASE (DBID=4042975402)
RMAN>


Espero les sirva.



lunes, 21 de octubre de 2019

Borrar base de datos de Oracle 11g en Windows

Cómo borrar base de datos de Oracle 11g en Windows


Hola.

En este post voy a explicar como borrar una base de datos de Oracle 11g en Windows usando el Database Configuration Assistant también conocido como dbca.

Específicamente lo estoy haciendo en una máquina con Windows 10 pero el procedimiento aplica para Windows server 2008 y Windows server 2012 también.

Abrir una linea de comandos como administrador y ejecutar el comando dbca


De aquí en adelante todo es bastante intuitivo como todos los asistentes de instalación de Windows.

Seleccionar a opción Suprimir base de datos del menu.


En la siguiente pantalla seleccionar la base de datos a eliminar y credenciales de usuario sys. Click en terminar.


Aceptar el mensaje de advertencia sobre que se borrará la instancia de Oracle y los archivos de datos de la base de datos. Ojo que de aquí no hay marcha atrás.


La base de datos es eliminada así como el servicio de Windows.



Espero les sirva.



sábado, 19 de octubre de 2019

Crear base de datos Oracle 11g en windows

Cómo crear base de datos Oracle 11g en windows


Hola.

Este post es para explicar cómo crear una nueva base de datos de Oracle 11g en una maquina con Windows. Este procedimiento aplica para versiones de Windows server 2008 R2, Window 10 y Windows server 2012 R2.

Para este post ya deben tener instalado el software de Oracle 11g en su computadora el cual pueden descargar de aquí: https://www.oracle.com/database/technologies/112010-win64soft.html

Estoy usando el Database Configuration Assistant de Oracle 11g también conocido como dbca.

Lo primero que hacemos es abrir una consola de comandos en modo administrador y ejecutar el comando dbca.

C:\WINDOWS\system32>dbca

Con esto abriremos el asistente de instalación de Oracle 11g y en la primer pantalla hacemos click en Siguiente.


Seleccionar la opción crear base de datos.


Seleccionar usos generales o procesamiento de transacciones.


Introducir el nombre de la base de datos y de la instancia de Oracle.


Seleccionar opciones de gestión. Configurar Enterprise Manager y Database Control.


Introducir las contraseñas para los usuarios principales de Oracle: SYS, SYSTEM, DBSNMP y SYSMAN. Pueden usar la misma para todos seleccionando la opción de usar la misma contraseña.



Seleccionar la ubicación de los archivos de datos.


Seleccionar la configuración de recuperación y ubicación del flash recovery area.


Seleccionar esquemas de ejemplo o plantillas de datos en caso de requerir ejemplos de esquemas de datos.



Seleccionar parámetros de inicio: memoria SGA, memoria PGA, procesos, juego de caracteres y modo de conexión.


Seleccionar ubicación de archivos de control, datafiles o archivos de datos y redologs.



Por ultimo seleccionar las opciones de creación y si se requiere guardar las configuraciones como una plantilla.


Como ven he dejado todas las opciones default para no complicar mi instalación pero pueden personalizar de acuerdo a sus requerimientos.

Click en Terminar y a continuación viene una ventana de confirmación de la instalación donde pueden ver todos las configuraciones seleccionadas anteriormente y guardarlas si así lo desean.

Click en Aceptar para comenzar con la creación de la base de datos.



Con esto ya tendrán creada su base de datos de Oracle 11g en Windows.


Espero les sirva.




lunes, 9 de septiembre de 2019

TIBCO BW Reiniciar engines en modo fault tolerance con AppManage

TIBCO BW Cómo reiniciar engines en modo fault tolerance con AppManage


Hola.


En esta ocasión voy a escribir acerca de la manera en como detener e iniciar un engine de TIBCO BusinessWorks en modo fault tolerance usando la AppManage utility.

Resulta que hay un job programado que reinicia algunos engines fault tolerant pero sucede que, en algunas ocasiones, el engine primario se queda colgado al intentar apagarlo. El secundario si reinicia pero se queda en estatus "Standing by" y nunca toma el rol principal.

Esto ha ocasionado algunos problemas ya que los engines no son reiniciados correctamente y las transacciones se quedan atoradas hasta que por alguna otra alerta se sabe que los engines no están procesando.

Investigando un poco en la página de soporte, me encontré que los engines en modo fault tolerance deben ser detenidos e iniciados de manera especial, es decir que el orden de start y stop debe ser considerado.

Solución.

Les dejo aquí abajo la manera correcta de reiniciar los engines en modo fault tolerance.
Lo estoy replicando en mi job programado para analizar los resultados.

Para detener engines.

Stop - Primero el binding secundario y luego el primario

./AppManage -stop -app midominio/AppFolder/AppName -service AppName.par -binding AppName-1 -domain midominio -cred /path/to/credenciales.txt 

./AppManage -stop -app midominio/AppFolder/AppName -service AppName.par -binding AppName -domain midominio -cred /path/to/credenciales.txt 


Para iniciar engines

Start - Primero el binding primario y luego el secundario

./AppManage -start -app midominio/AppFolder/AppName -service AppName.par -binding AppName -domain midominio -cred /path/to/credenciales.txt 

./AppManage -start -app midominio/AppFolder/AppName -service AppName.par -binding AppName-1 -domain midominio -cred /path/to/credenciales.txt 


Pueden encontrar el artículo original de soporte en este link: 



Espero les sirva.









viernes, 6 de septiembre de 2019

Instalar PostgreSQL 9.3 en Oracle Linux

Cómo instalar PostgreSQL 9.3 en Oracle Linux Server 7.5



Hola.

Estoy haciendo un training sobre contenedores y en una unidad de estudio se necesita tener instalado PostgresSQL para hacer uno de los laboratorios del curso.

Para este curso estoy usando una máquina virtual de Oracle Linux corriendo en VirtualBox así que he necesitado conocer los pasos para instalar PostgreSQL en este ambiente.

Aquí abajo les dejo las instrucciones de cómo lo hice y que me funcionó bien.

1.- Descargar e instalar las librerías requeridas para PostgreSQL - SDL (Simple DirectMedia Layer)

  • Abrir la dirección: https://www.libsdl.org/download-1.2.php
  • Ir a la sección Runtime Libraries > Linux
  • Seleccionar con click derecho y "Save as" en SDL-1.2.15-1.x86_64.rpm
  • Una vez descargado este archivo cambiar a usuario root e instalar 
[oracle@localhost Downloads]$ sudo su
[root@localhost Downloads]# yum localinstall -y SDL-1.2.15-1.x86_64.rpm
.
.
.
Running transaction
  Installing : SDL-1.2.15-1.x86_64                                                                                                                         
  Verifying  : SDL-1.2.15-1.x86_64                                                                                                                       

Installed:
  SDL.x86_64 0:1.2.15-1                                                                                                                                        

Complete!

2.-Descargar e instalar Postgresql 9.3

  • Abrir la dirección: https://yum.postgresql.org/repopackages.php
  • Ir a la sección PostgreSQL 9.3
  • Seleccionar con click derecho y "Save as" en Red Hat Enterprise Linux 7 - x86_64
  • Una vez descargado el archivo hay que instalarlo
[root@localhost Downloads]# yum localinstall pgdg-redhat93-9.3-3.noarch.rpm 
.
.
Running transaction
  Installing : pgdg-redhat93-9.3-3.noarch                                                                                                                  1/1 
  Verifying  : pgdg-redhat93-9.3-3.noarch                                                                                                                  1/1 

Installed:
  pgdg-redhat93.noarch 0:9.3-3                                                                                                                                 

Complete!
[root@localhost Downloads]# 

3.- Instalar Postgresql server

[root@localhost Downloads]# yum -y install postgresql93-server postgresql93
.
.
Installed:
  postgresql93.x86_64 0:9.3.25-1PGDG.rhel7                                   postgresql93-server.x86_64 0:9.3.25-1PGDG.rhel7                                  

Dependency Installed:
  postgresql93-libs.x86_64 0:9.3.25-1PGDG.rhel7                                                                                                                

Complete!
[root@localhost Downloads]#

4.- Instalar la UI Administration de Postgresql

[root@localhost Downloads]# sudo yum install pgadmin3_93 pgadmin3_93-docs
.
.
Installed:
  pgadmin3_93.x86_64 0:1.22.1-1.rhel7                                         pgadmin3_93-docs.x86_64 0:1.22.1-1.rhel7                                        

Dependency Installed:
  wxBase.x86_64 0:2.8.12-8.el7                                                   wxGTK.x86_64 0:2.8.12-8.el7                                                  

Complete!
[root@localhost Downloads]#

4.- Iniciar la base de datos

[root@localhost bin]$ /usr/pgsql-9.3/bin/postgresql93-setup initdb
Initializing database ... OK

5.- Activar prendido automático para iniciar al arrancar el sistema

[root@localhost bin]$ systemctl enable postgresql-9.3.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql-9.3.service to /usr/lib/systemd/system/postgresql-9.3.service.

6.- Iniciar el servicio

[root@localhost bin]# /sbin/service postgresql-9.3 start
Redirecting to /bin/systemctl start postgresql-9.3.service

7.- Checar el estatus de la base de datos

[root@localhost bin]# /sbin/service postgresql-9.3 status
Redirecting to /bin/systemctl status postgresql-9.3.service
● postgresql-9.3.service - PostgreSQL 9.3 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-9.3.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2019-09-06 14:11:47 EDT; 1min 10s ago
  Process: 21118 ExecStart=/usr/pgsql-9.3/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 21108 ExecStartPre=/usr/pgsql-9.3/bin/postgresql93-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
 Main PID: 21121 (postgres)
   Memory: 14.4M
   CGroup: /system.slice/postgresql-9.3.service
           ├─21121 /usr/pgsql-9.3/bin/postgres -D /var/lib/pgsql/9.3/data
           ├─21122 postgres: logger process   
           ├─21124 postgres: checkpointer process   
           ├─21125 postgres: writer process   
           ├─21126 postgres: wal writer process   
           ├─21127 postgres: autovacuum launcher process   
           └─21128 postgres: stats collector process   

Sep 06 14:11:46 localhost.localdomain systemd[1]: Starting PostgreSQL 9.3 database server...
Sep 06 14:11:46 localhost.localdomain pg_ctl[21118]: < 2019-09-06 14:11:46.570 EDT >LOG:  redirecting log output to logging collector process
Sep 06 14:11:46 localhost.localdomain pg_ctl[21118]: < 2019-09-06 14:11:46.570 EDT >HINT:  Future log output will appear in directory "pg_log".
Sep 06 14:11:47 localhost.localdomain systemd[1]: Started PostgreSQL 9.3 database server.
[root@localhost bin]# 

Estos pasos me funcionaron para tener la base de datos PostgreSQL 9.3 instalada y lista para operar en Oracle Linux 7.5.

Update: Este método también funciona para Oracle Linux Server 7.6


Espero les sirva.