lunes, 17 de febrero de 2014

SCRIPT PARA VER TAMAÑO DE ESQUEMAS(SCHEMA) [sin los esquemas de oracle]



col owner format a30
col MB format  9999999
select trunc(sum(bytes)/1024/1024) MB from dba_segments;

select owner,trunc(sum(bytes)/1024/1024) MB from dba_segments
where owner not in ('SYS', 'SYSTEM', 'WMSYS', 'SYSMAN','MDSYS','ORDSYS','XDB', 'WKSYS', 'EXFSYS',
         'OLAPSYS', 'DBSNMP', 'DMSYS','TSMSYS','CTXSYS','WK_TEST', 'ORDPLUGINS', 'OUTLN','ORDDATA')
group by owner
having sum(bytes) >0
order by 2;

jueves, 13 de febrero de 2014

SCRIPT PARA GENERAR CONSULTAS EN VARIOS ESQUEMAS DESDE SQLPLUS y GENERAR UN SPOOL POR CADA SCHEMA CONSULTADO

SET echo off linesize 300 pagesize 0 feedback off term off
col orden noprint
col usuario noprint new_value usx
select user usuario from dual
/
show user;

spool &usx._resultado.log


--SE COLOCA LA CONSULTA /EJEMPLO:

SELECT 1 orden,'EID,OWNER,IDEJETEMATICO,CUSTNAME,FULLNAME,SQLDATEFORMAT,CLASE,NOM_DEPENDENCIA,MEDIO,NOM_EJE,VARNAME'
from dual
UNION
SELECT 2 orden,linea
FROM (
SELECT crmentity.EID||','||
crmentity.OWNER||','||
crmentity.IDEJETEMATICO||','||
crmcustomer.CUSTNAME||','||
NVL (crmloginusers.fullname, 'Ciudadano') ||','||
TO_CHAR(TO_DATE(crmentity.duedate, 'dd/mm/yyyy'), 'yyyymmdd') ||','||
crmCLASE.CLASE||','||
CRMDEPENDENCIA.DESCRIPCION ||','||
crmMEDIO.MEDIO||','||
       DECODE (cor_tra.NOMBRE, NULL, cor_tra1.NOMBRE, cor_tra.NOMBRE) ||','||
estado.VARNAME linea
         FROM crmentity,
         crmcustomer,
         crmloginusers,
         crmCLASE,
         CRMDEPENDENCIA,
         crmMEDIO,
         CRMGEJETEMATICO cor_tra,
         CRMGEJETEMATICO cor_tra1,
         crmstatusvars estado,
         crmfuncionario func,
         CRMRADICACIONSAL salida,
         CRMSEGIMIENTO segimiento,
         CRMESTADOGUIA estado,
       CRMTIPOCIUDADANO tipociu,
         CRMTIPODOC,
         CRM_GRAL.CRMCONEXION CONE,
         CRM_GRAL.CRMENTEXTERNA ENTEXT
   WHERE     crmentity.idCUSTOMER = crmcustomer.idCUSTOMER(+)
       AND crmentity.owner = crmloginusers.idLOGINUSER(+)
         AND crmentity.IDCLASE = crmCLASE.IDCLASE(+)
         AND crmentity.IDDEPENDENCIA = CRMDEPENDENCIA.IDDEPENDENCIA(+)
         AND crmentity.IDMEDIO = crmMEDIO.IDMEDIO(+)
         AND crmentity.IDEJETEMATICO = cor_tra.IDEJETEMATICO(+)
         AND crmentity.IDEJETEMATICO = cor_tra1.IDEJETEMATICO(+)
         AND cor_tra1.ESTANDAR(+) = 1
         AND cor_tra.IDCONEXION(+) = 13000
         AND crmentity.IDSTATUS = estado.IDSTATUS
         AND crmentity.idfuncionario = func.idfuncionario(+)
         AND segimiento.ID_RADICACIONSAL(+) = salida.ID_RADICACIONSAL
         AND crmentity.EID = salida.EID(+)
         AND crmentity.PERIODO = salida.PERIODO(+)
         AND ESTADO.ID_ESTADOGUIA(+) = segimiento.ESTADO
         AND crmcustomer.IDTIPOCIUDADANO = tipociu.IDTIPO(+)
         AND crmentity.IDTIPODOC = CRMTIPODOC.ID_TIPODOC(+)
         AND TRUNC (crmentity.cdate) >= TO_DATE ('01/01/2013', 'dd/mm/yyyy')
         AND TRUNC (crmentity.cdate) <= TO_DATE ('11/02/2014', 'dd/mm/yyyy')
         AND crmentity.ENTIDAD_DESTINO = CONE.IDCONEXION(+)
         AND crmentity.IDTEXTERNA = ENTEXT.ID(+)
         AND (crmentity.IDEJETEMATICO = 10359
            OR crmentity.IDEJETEMATICO = 10360)
       ORDER  BY crmentity.TP DESC,crmentity.IDSTATUS
)-- where rownum <20
ORDER BY orden
/
spool off


_________________________________________________


-- SE CREA OTRO fichero .sql llamado ejecutar.sql
-- este ficherho tendria la lista de esquemas y contraseñas para conectase


conn  NOMBREUSUARIO/password
start script.sql;
conn  CRM_ALCALDIA_APARTADO/password
start script.sql;
conn  CRM_ALCALDIA_FACATATIVA/password
start script.sql;
conn  CRM_AMAZONAS/password
start script.sql;
conn  CRM_ANTIOQUIA/password
start script.sql;


_______________________________________________

por ultimo se ejecuta en sqlplus 

SQL>@ejecutar.sql

martes, 11 de febrero de 2014

SCRIPT GENERALES


-- Para ver todas las tablas y vistas en un esquema:
SQL> SELECT * FROM tab;


--Para listar el ultimo script realizado

SQL> L

--Para listar la ultima linea  de un script realizado

SQL>LIST LAST


--CLEAR BUFFER

SQL>CL BUFF


--List the SQL buffer:
SQL> L
SELECT employee_id, first_name, last_name
* FROM employees
SQL>

--Save the buffer to a file named myfile; the default extension will be .sql:
SQL> SAVE myfile
Created file MYFILE.sql
SQL>


--Save the file using the REPLACE keyword:
SQL> SAVE myfile REPLACE
Wrote file MYFILE.sql
SQL>

IMPORT and EXPORT Base de Datos Oracle

EXPORT 
--Ejemplo General (Export)
exp nombreusuario file=nombreexport.dmp log=nombrelog.log owner=calidad_sa statistics=none

--ejemplo export solo de un schema:

exp jamaya file=bk_TBCUENTASCONTABLES_TCL_magangue.dmp log=bk_TBCUENTASCONTABLES_TCL_magangue.log owner=MENRHSMMAGANGUE

--copia completa de la base de datos:
$exp file=/oracle9/export_orasite.dmp full=yes log=/oracle9/log/export_orasite.log buffer=1000000

--copia de tablas especificas de un usuario/esquema
$exp user file=nombrecopia.dmp tables=(emp,dept) owner=esquema
--Ejemplo:
exp jamaya file=BK_EsquemaCalidad_sa_05feb_2014.dmp log=BK_EsquemaCalidad_sa_05feb_2014.log owner=CALIDAD_SA


IMPORT 

-- Importar una tabla de un usuario concreto
$imp scott/tiger file=orasitempleados.dmp fromuser=scott touser=scott tables=dept
-- Importar todo el archivo exportado
$imp system/manager file=c:\orasitefull.dmp full=yes ignore=yes 
log=c:\orasite\log\import_log.log buffer=1000000

VERIFICAR Y SELECCIONAR UN TABLESPACE CON TAMAÑO SUPERIOR AL 90% Y GENERAR SCRIPT PARA AMPLIAR

--SELECCIONAR UN TABLESPACE CON TAMAÑO SUPERIOR AL 90% Y GENERAR SCRIPT PARA AMPLIAR


set lines 150
col a.tablespace_name format a25
col Mbusado format a10
col Sentencia format a90
col Mbusado format 999,999,999

select a.tablespace_name,((a.bytes/1024/1024) - (b.bytes/1024/1024)) Mbusado,round(((a.bytes-b.bytes)/a.bytes)*100,2) pct_usado,
'alter database datafile '''||c.file_name||''' resize '||round(((c.bytes+0.16*a.bytes - 1.16*b.bytes)/1024/1024),0)||'M;' Sentencia
from  (select tablespace_name
  , sum(bytes) bytes
from dba_data_files
  group by tablespace_name
) a
,(select tablespace_name
  , sum(bytes) bytes
  , max(bytes)/1024/1024 largest
from dba_free_space
  group by tablespace_name
) b, (select a.tablespace_name,a.file_name, a.bytes
 from (select tablespace_name, file_name, bytes from dba_Data_files) a,
(select tablespace_name, min(bytes) min from dba_data_files
  group by tablespace_name) b
where a.bytes=b.min
and a.tablespace_name=b.tablespace_name
order by 1) c
where a.tablespace_name = b.tablespace_name
and c.tablespace_name = b.tablespace_name
and ((a.bytes-b.bytes)/a.bytes)*100 > 90
--and (c.bytes)/1024/1024 < 20000
order by a.Tablespace_name asc

GESTION DE USUARIOS -BD ORACLE

-- crear un usuario, ejemplo:

CREATE USER jamaya IDENTIFIED BY password
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
  PROFILE DEFAULT
  ACCOUNT UNLOCK;
  -- 4 Roles for jamaya
  GRANT EXP_FULL_DATABASE TO jamaya;
  GRANT RESOURCE TO jamaya;
  GRANT CONNECT TO jamaya;
  GRANT DBA TO jamaya;
  ALTER USER jamaya DEFAULT ROLE ALL;
  -- 1 System Privilege for jamaya
  GRANT UNLIMITED TABLESPACE TO jamaya;
  -- 1 Object Privilege for jamaya
    GRANT READ, WRITE ON DIRECTORY SYS.EXPORT TO jamaya WITH GRANT OPTION;


--Cambiar session de usuario desde SYS


ALTER SESSION SET CURRENT_SCHEMA = NOMBRESCHEMA;

SCRIPT PARA VER ULTIMO REINICIO DE LA INSTANCIA DE LA BD

--SCRIPT PARA VER ULTIMO REINICIO DE LA INSTANCIA DE LA BD


SQL>alter session set nls_date_format = 'dd/mm/yyyy hh24:mi:ss';

SQL>select ' Instancia: '||instance_name|| ' Server: '||host_name||' Fecha: '|| startup_time

from v$instance;


--para ver la direccion de log y/o tracer 

SQL>show parameter background