Oracle SQLPlus commands

How to get Oracle Version:
select * from v$version where banner like 'Oracle%'

Change Oracle Database User Password:
ALTER USER user_name IDENTIFIED BY new_password;

Networking, Windows

NETWORK CONFIGURATION BACKUP:
Save network configuration: netsh dump > lan.cfg
Restore network configuration: netsh exec lan.cfg

TROUBLESHOOTING DNS:
IPCONFIG /FLUSHDNS
IPCONFIG /RELEASE
IPCONFIG /RENEW

SSAS 2005/08

CLEAR CACHE - SSAS:
<ClearCache xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>DATABASE</DatabaseID>
</Object>
</ClearCache>

UPDATE IN SSAS:

--BEGIN TRANSACTION

UPDATE CUBE [Adventure Works]
SET ([Date].[Calendar].[Calendar Quarter].&[2003]&[1]
,[Employee].[Employees].&[284]
,[Sales Territory].[Sales Territory].[Country].&[Canada]
,[Measures].[Sales Amount Quota] ) = 7704

--COMMIT TRANSACTION

/*
SELECT ([Date].[Calendar].[Calendar Quarter].&[2003]&[1]
,[Employee].[Employees].&[284]
,[Sales Territory].[Sales Territory].[Country].&[Canada]
,[Measures].[Sales Amount Quota]) on 0
FROM [Adventure Works]
*/

Networking, Linux

How to change the computer name?

1. Open and edit /etc/hosts

[IP] name

2. open and edit: /etc/sysconfig/network,
in debian should be: /etc/hostname

HOSTNAME="name"

3. Execute:

hostname name

4. Restart and check with the following command:
uname -a

Share your internet connection

1. Execute
modprobe iptable_nat iptables -t nat -A POSTROUTING -s 192.168.0.5/24 -o eth0 -j MASQUERADE

2. Execute
echo 1 > /proc/sys/net/ipv4/ip_forward

Oracle PL/SQL - Conversiones de datos

CONVERSIONES DE DATOS
• Entre escalares se pueden convertir datos de distintas familas excepto las propias restricciones de las variables (Ej. CHAR (10) no puede en VARCHAR2(1))

FunciónDescripción
TO_CHARConvierte el argumento en tipo VARCHAR2
TO_DATEConvierte su argumento en tipo DATE
TO_NUMBERConvierte el argumento en tipo NUMBER







Declaración de variables y constantes
– Variables:Se utilizan para almacenar valores devueltos por una consulta o para realizar calculos intermedios
– Constantes: Son campos definidos e inalterables
– Pasos a seguir
– Definición Nombre_campo: nombre de la variable
– Declaración Nombre_campo tipo [CONSTANT][NOTNULL] [%VALOR];
– Asignación Variable Tipo. Un identificador es el nombre de la vble.
– Tipo: puede ser:
» Tipo de datos: tipo de dato de la variable
» Identificador%TYPE Se refiere al tipo usado por una columna)
» Identificador%ROWTYPE Es una fila vble con los mismos nombres y tipos que las columnaas de una tabla o fila recuperada de un cursor)
» [CONSTANT] Palabra reservada para def. de ctes
» [NOTNULL]: Obliga a tener valor
» [%VALOR] Asigna el valor inicial como resultado de una operación o con un valor cte


CONSTANTES Y VARIABLES. EJEMPLO
DECLARE
DNI NUMBER (8,0);
Nombre VARCHAR (30);
Factor CONSTANT NUMBER(3,2):=0.10;
DNI2 cliente.DNI%TYPE;
Rcliente cliente%ROWTYPE;
(tendria los campos: Rcliente.DNI, Rcliente.Nombre …)
precio NUMBER:= 300; (iniciativa a un valor)

Oracle PL/SQL - Tablas-Atributos

TABLAS
• Tablas definición.
– TYPE tipo_tabla IS TABLE OF tipo INDEX BY BINARY_INTEGER;
• Tablas. Definición de variables: vcliente tipo_tabla;
• Tablas. Referencia: Tabla(indice).campo;
• Tablas. Ejemplo

DECLARE
TYPE ttabla IS TABLE OF cliente%ROWTYPE
INDEX BY BINARY_INTEGER;
v_cliente ttable;
BEGIN
SELECT * INTO v_cliente(2252480) FROM cliente WHERE DNI=22522480;
DBMS_OUTPUT.PUT_LINE (vcliente(2252480).nombre);
END;

Atributos
• Tablas. AtributosTablas

AtributoTipo DevueltoDescripción
COUNTNUMBERDevuelve el número de filas de la tabla
DELETE (nº)N/ABorra las filas de una tabla
EXITS (nº)BOOLEANDevuelve TRUE si existe en la tabla la fila especificada
FIRSTBYNARY_INTEGERDevuelve el índice de la primera fila
LASTBYNARY_INTEGERDevuelve el índice de la última fila
NEXTBYNARY_INTEGERDevuelve el índice de la fila de la tabla que sigue a la fila especificada
PRIORBYNARY_INTEGERDevuelve el índice de la fila de la tabla que precede a la fila especificada.

Oracle PL/SQL - Expresiones

EXPRESIONES
• Tipos de expresiones:
– Aritméticas : + - * /
– Comparaciones : = != > > >= <=
– Concatenación de caracteres
• Tipos de variables:
– Escalares. Definidos por el lenguaje
• NUMBER, CHAR, VARCHAR, VARCHAR2, DATE, BOOLEAN (TRUE, FALSE, NULL)
– Compuestos: Definidos por el usuario

• Registros
• Tablas y matrices. Pueden almacenar registros y escalares REGISTROS
• Registros. Definición
– TYPE tipo_reg IS RECORD (campo1tipo1[NOTNULL] [:=expr ];...campontipon[NOTNULL][:=expr ];);
• Registro. Creación de variables
– Nombre_variable tipo_reg
• Referencia las variables
– Nombre_variable.campo:=valor
• Ejemplo

DECLARE

TYPE tcliente IS RECORD (
DNI NUMBER (8,0)
Nombre VARCHAR (∙=)
FECHA DATE);
RCLIENTE tcliente;

Oracle PL/SQL - Bloques

BLOQUES
• Es la unidad básica de cualquier programa PL/SQL. De manera secuencial, anidados, ...
• Estructura básica de un bloque (sólo obligatoria el conjunto de sentencias ejecutables):

DECLARE
/* Declaraciones de uso local: variables, cursores, y excepciones de usuario */
BEGIN
/*Proceso: conjunto de sentencias ejecutables */
EXCEPTION
/*Excepciones: zona de control de errores */
END;

BLOQUES (II)
• Las únicas instrucciones permitidas dentro de un bloque son: INSERT, UPDATE, DELETE Y SELECT + manipulación de datos + control de transacciones.
• La anidación de bloques se realiza entre las etiquetas BEGIN Y EXCEPTION y sólo se tiene una definición de variables.
• Instrucciones no permitidas son: DROP, CREATE, ALTER, …
• Los comentarios se ponen: /* Comentarios */
• No distingue mayúsculas y minúsculas

BLOQUES (III)
• Tipos:
– Anónimo: construido de manera dinámica y se ejecuta una vez.
• Estructura básica se compilan cada vez que son ejecutados y no seguardan en la BD.
– Nominado: bloque anónimo con etiqueta. Lo primero es la etiqueta. PE -> <>
• Subprogramas: procedimientos, paquetes y funciones almacenadas en la BD ya compiladas. Se ejecutan múltiples veces mediante llamadas explícitas.
• Remplazar la palabra clave DECLARE con las palabras CREATE OR REPLACE PROCEDURE nombre_proc AS
– Disparadores: bloques nominados almacenados en la BD (código fuente). Se ejecutan múltiples veces de forma implícita mediante eventos sobre una tabla (INSERT, UPDATE o DELETE). Se compila cada vez que se ejecuta. (se explicarán más adelante)

Oracle PL/SQL (Delimitadores - Formatos)

Delimitadores:

+ operador de suma
% indicador de atributo
‘ delimitador de caracteres
. selector de componente
/ operador de división
( expresión o delimitador de lista
) expresión o delimitador de lista
: indicador de variable host
, separador de ítems
* operador de multiplicación
“ delimitador de un identificador entre comillas
= operador relacional
<> operador relacional
@ indicador de acceso remoto
; terminador de sentencias
- negación u operador de substracción

Formatos Numericos:
9999 Espacios en blanco a la izq./der.
0999 Ceros a la izq.
9990 Ceros a la der.
$999 Incluye signo pesos
G Separador de Miles
D Punto Decimal

Formatos Fecha:
Segundos SS
Minutos MI
Horas HH, HH24
Dia D, DD, DDD, DY, DAY
Semana W, WW
Mes MM, MON, MONTH
Trimestre Q
Año YY, YYYY, YEAR
Siglo CC