jueves, 13 de agosto de 2015


--Para utilizar el SQL tuning advisor se deben dar los siguientes roles al usuario
grant advisor to hr;
grant administer sql tuning set to hr;



El siguiente paquete se utiliza para recolectar estadisticas.
exec DBMS_STATS.DELETE_SCHEMA_STATS ('hr');
--exec DBMS_STATS.GATHER_SCHEMA_STATS('HR');


SELECT count(*) FROM hr.employees;

SELECT NUM_ROWS FROM DBA_TABLES
WHERE OWNER='HR' AND TABLE_NAME='EMPLOYEES';

SET AUTOTRACE ON

EXPLAIN PLAN FOR
SELECT count(*) FROM hr.employees;

SELECT COUNT(*) FROM HR.EMPLOYEES;


 select sum(e.salary), avg(e.salary), count(1), e.department_id
 from departments d, employees e
 group by e.department_id order by e.department_id

http://blog.yannickjaquier.com/oracle/oracle-enterprise-manager-cloud-control-12c-release-3-upgrade.html
http://www.dba-oracle.com/oracle10g_tuning/t_dbms_sqltune_tasks.htm

Create profile

Esta sentencia sirve para crear un perfil de usuario.
Un perfil de usuario es una forma de limitar los recursos que puede utilizar un usuario.
Cada usuario puede tener un único perfil.
Antes de asignar un perfil a un usuario es necesario que este perfil exista en la base de datos.
Un perfil se asigna en la creación de un usuario CREATE USER o modificandolo ALTER USER.
Un ejemplo de script sería:
Copiar

CREATE PROFILE app_user LIMIT
SESSIONS_PER_USER 2 --
CPU_PER_SESSION 10000 -- decimas de segundo
CPU_PER_CALL 1 -- decimas de segundo
CONNECT_TIME UNLIMITED -- minutos
IDLE_TIME 30 -- minutos
LOGICAL_READS_PER_SESSION DEFAULT -- DB BLOCKS
LOGICAL_READS_PER_CALL DEFAULT -- DB BLOCKS
-- COMPOSITE_LIMIT DEFAULT --
PRIVATE_SGA 20M --
FAILED_LOGIN_ATTEMPTS 3 --
PASSWORD_LIFE_TIME 30 -- dias
PASSWORD_REUSE_TIME 12 --
PASSWORD_REUSE_MAX UNLIMITED --
PASSWORD_LOCK_TIME DEFAULT -- dias
PASSWORD_GRACE_TIME 2 -- dias
PASSWORD_VERIFY_FUNCTION NULL;
 
http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/sqldev/r32/Tuning_Advisor_OBE/SQL%20Tuning%20Advisor.html 

jueves, 30 de julio de 2015

Tipos de cierre de base de datos

Tipos de cierre de base de datos

NormalExaminar Sesiones
 Esperar que todos los usuarios conectados actualmente se desconecten de la base de datos
Transaccional
Desconectar todos los usuarios una vez terminadas las transacciones
Inmediato
Realizar rollback en las transacciones activas y desconectar a todos los usuarios conectados
Abortar
Cierre instantáneo al abortar la instancia de base de datos

lunes, 20 de julio de 2015

Mantenimiento de la base de datos
Objetivos
Gestionar estadísticas del optimizador
Gestionar el repositorio de carga de trabajo automatica
Uso del Monitor de diagnostico automatico de la base de datos.
Describe y utiliza el marco de asesoramiento
Establece umbrales de alertas
Utilza alertas generadas por el servidor
Utiliza tareas automaticas

Mantenimiento de la base de datos
Mantenimiento de la base de datos proactivo es facilitado por la
sofisticada infraestructura de la base de datos Oracle, incluyendo
los siguientes elementos:
  • El Repositorio de Carga de Trabajo Automática es un repositorio incorporado en cada base de datos Oracle. 
    En intervalos regulares, el servidor de bases de datos Oracle toma
    una instantanea de todas las estadisticas vitales y la información de
    la carga de trabajo y guarda todo estos datos en el AWR. Los datos
    capturados pueden ser analizados por ti, por la base de datos en si
     misma, o  por ambos.
  •  Utilizando tareas automatizadas, la base de datos realiza operaciones cotidianas de mantenimiento tales como respalos regulares, refrescar 
       estadisticas del optimizador, y chequeos de la salud de la base de  datos.
   Cuando tu utilizas herramientas de diagnostico tales como el Enterprise Manager, Explain plan and SQL * PLus AUTOTRACE, tu puedes ver el plan de ejecución que el optimizador elige.
Nota: El optimizador de Oracle tiene dos nombres basados en su funcionalidad:el query optimizer y el Automatic Tuning Optimizer.
   

jueves, 4 de junio de 2015

Archivos de parametros de inicialización

Cuando tu inicias una base de datos, un archivo de parametros de inicialización es leído. Hay dos tipos de archivos de parametros de inicialización.
El archivo de parametros del servidor: Este es el tipo preferido de archivo de parametros de inicialización. Es un archivo binario que puede ser escrito y leído por el servidor y no debe editarse manualmente. Reside en el servidor donde la instancia de Oracle se esta ejecutando; es consistente a través del apagado e inicio de la base de datos. El nombre por defecto para este archivo, que es buscado automaticamente al inicio, es spfile<SID>.ora.

El archivo de texto de parametros de inicialización init<sid>.ora: Este tipo de archivo puede leerse por el servidor de base de datos, pero no es escrito por el servidor. La configuración de los parametros de inicialización deben cambiarse manualmente utilizando un editor de texto para que sean consistentes a través del inicio y apagado. El nombre por defecto de este archivo (que es buscado automaticamente al inicio si un SPFILE no es encontrado) es el init<SID>.ora.
Se recomienda crear un SPFILE como una manera dínamica de mantener los parametros de inicialización.
Nota: La base de datos Oracle busca en el directorio de Linux  $ORACLE_HOME/dbs los archivos de inicialización. Con ASM, el SPFILE frecuentemente  se localiza en un grupo de discos ASM. En este caso un archivo init<SID>.ora debe existir también en el directorio $ORACLE_HOME/dbs que identifica la ubicación SPFILE.

SELECT name, value FROM V$PARAMETER WHERE name LIKE
'%pool%';


SELECT name , value FROM V$PARAMETER;
 SELECT name, value FROM V$PARAMETER WHERE name LIKE
'%pool%';
SHOW PARAMETER SHARED_POOL_SIZE

viernes, 29 de mayo de 2015

ASM Fast mirror resync

Esta caracteristica utiliza el atributo disk_repair_time del grupo de discos  para determinar cuanto tiempo esperar antes de que el disco ASM sea borrado permanentemente después de que ha sido puesto como desconectado. El valor por defecto es 3.6 horas.
El tiempo puede especificarse en minutos, horas y días. Si la unidad no se especifica la unidad, entonces se utilizan horas por defecto. Esto significa que si un disco del grupo de discos ASM se convierte en no disponible por un periodo de tiempo corto, el servidor espera a que el disco se vuelva disponible otra vez. En lugar de removerlo forzadamente de una vez del grupo de disco como era el caso con Oracle 10g. Esto puede ser útil si un disco se vuelve inaccesible temporalmente por una desconexion de cable.
Nota: La resincronización rapida de un grupo de discos puede apagarse cambiando el atributo disk_repair_time a 0.
En 10g, tal disco sería borrado del grupo de disco inmediatamente. Esto podría causar operaciones de rebalanceo innecesarias

martes, 25 de noviembre de 2014

Cuando se instala la infraestructura del GRID para un servidor independiente , la Red de Oracle Listener es iniciada desde su directorio de instalación de software, conocido como < Grid_home > . Se requiere un Listener que se ejecute a partir de esta instalación de software para proporcionar capacidades de conexión a la instancia ASM . Esto también se utiliza por defecto para escuchar en todas las instancias de base de datos que están instalados en el mismo servidor.



cat listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/grid/network/admin/listener.ora

# Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = dbtest) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/grid) (SID_NAME = dbtest) ) (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/grid) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /u01/app/oracle ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER = ON

cat sqlnet.ora # sqlnet.ora

Network Configuration File: /u01/app/oracle/product/11.2.0/grid/network/admin/sqlnet.ora # Generated by Oracle configuration tools. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) ADR_BASE = /u01/app/oracle


$ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1/network/admin

cat listener.ora # listener3342170619141601331.ora Network Configuration File: /tmp/listener3342170619141601331.ora # Generated by Oracle configuration tools. LISTENER_DBTEST = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522)) ) ) ) #LISTENER.ORA Network Configuration File #Created by Oracle Enterprise Manager Clone Database tool SID_LIST_LISTENER_DBTEST = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = dbtest) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) (SID_NAME = dbtest) ) )



cat sqlnet.ora #SQLNET.ORA Network Configuration File #Created by Oracle Enterprise Manager Clone Database tool

domingo, 23 de noviembre de 2014

Creando una base de datos manualmente

Creando una base de datos manualmente en linux
  • Establecer el ORACLE_SID

export ORACLE_SID=dbtest

  • Crear el archivo de parametros de inicialización

en linux/unix se crea en la carpeta
$ORACLE_HOME/dbs

cat initdbtest.ora
##############################################################################
# Example INIT$ORACLE_SID.ORA file
#
# This file is provided by Oracle Corporation to help you start by providing
# a starting point to customize your RDBMS installation for your site.
#
# NOTE: The values that are used in this file are only intended to be used
# as a starting point. You may want to adjust/tune those values to your
# specific hardware and needs. You may also consider using Database
# Configuration Assistant tool (DBCA) to create INIT file and to size your
# initial set of tablespaces based on the user input.
###############################################################################

# Change '<ORACLE_BASE>' to point to the oracle base (the one you specify at
# install time)

db_name='dbtest'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/dbtest/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_create_file_dest=+DATA
db_recovery_file_dest=+FRA
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files='+DATA','+FRA'

  • Crear el directorio audit_file_dest
en $ORACLE_BASE/admin/$ORACLE_SID/adump
mkdir /u01/app/oracle/admin/dbtest/adump

  • Iniciar la instancia
SQL> startup nomount

En caso de que se utilice Oracle Managed Files se debe definir el parametro
db_create_file_dest=+DATA en el archivo de parametros de inicialización para poder simplificar el trabajo de la siguiente manera.

SQL> CREATE DATABASE dbtest
USER SYS IDENTIFIED BY oracle_4U
USER SYSTEM IDENTIFIED BY oracle_4U
EXTENT MANAGEMENT LOCAL
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs1
DEFAULT TABLESPACE users;

Database created.

https://docs.oracle.com/cd/B28359_01/server.111/b28310/create003.htm#ADMIN11073