Documente Academic
Documente Profesional
Documente Cultură
Contenido General
Arquitectura de la BD Administracin Bsica Administracin del Servidor Laboratorio Administrar Objetos Esquema Seguridad de la BD Transporte de Datos Afinamiento del Desempeo Escalabilidad y Alta Disponibilidad Monitoreo
2
Arquitectura de la BD
Esquema y Estructura de Datos (Objetos) Arquitectura de Almacenamiento
Bloques de Datos, Extents, y Segmentos Asignacin de Almacenamiento Tablespaces y Datafiles SQL Server Data Files Mapeo de Tablespaces y Filegroups Instancias
SQL Server
Arquitectura de Almacenamiento
Incluye estructuras fsicas y lgicas. Fsicas: data files, log files y bloques del SO. Lgicas: subdivisiones de data files usadas para administrar el espacio de almacenamiento.
Data File Data File Data File Data File Data File Data File
Filegroup
Filegroup
Segment Extent
Blocks
Segment
Extent
Blocks
Heap/Index
Extent
Pages
Heap/Index
Extent
Pages
Extent
Blocks
Extent
Blocks
Extent
Pages
6
Segmento
Asignacin de Almacenamiento
10
Data file
Data file
Data file
Log file
Tablespace Group
Data file Data file Data file Data file Data file Data file Data file Log file Log file Log file
BigFile Tablespace User Data Tablespace User Index Tablespace Undo Tablespace Redo Log Files
Data file
Data file
Data file
User Database
Data file Data file Data file Data file
Data file
Data file
Data file
Data file
Log file
Oracle DB Instance
Instancias
12
Modelo de Logging
Oracle usa redo logs online para registrar los cambios hechos a la BD por transacciones, y segmentos undo para capturar las imgenes previas de los datos. SQL Server implementa ambas funcionalidades usando transaction logs. Cada registro de transaccin contiene la imagen undo y redo de la transaccin.
13
Diccionario de Datos
En Oracle el DD se almacena bajo el esquema SYS en el tablespace SYSTEM. En SQL Server el DD consiste de:
Vista Catlogo la mejor forma de acceder la metadata del sistema. Vistas de Compatibilidad con versiones anteriores todas las tablas del sistema de versiones anteriores se suministran como vistas de compatibilidad. Vistas de Administracin Dinmica para ver el estado actual del sistema. Proveen fotos en tiempo real de las estructuras de memoria que indican el estado del servidor. Vistas del INFORMATION_SCHEMA Es el mtodo estndar SQL-99 para ver la metadata del sistema. BD RESOURCE contiene la metadata para los procedimientos 14 almacenados del sistema.
Administracin Bsica
15
Contenido
Planeacin y pasos de preparacin para un ambiente de SQL Server. Creacin y configuracin de una instancia de SQL Server y sus BD. Caractersticas de una BD. Tareas bsicas de mantenimiento.
16
Sistema de BD
Crear instancias. Configuracin los prmetros pueden establecerse usando sp_configure o el Management Studio. Los parmetros de configuracin pueden ser bsicos o avanzados algunos se auto-configuran y pueden ser establecidos manualmente.
18
Bases de Datos
Para nombrarlas se deben usar las mismas reglas que para los identificadores de objetos. Definir el propietario de la BD/Esquema.
19
Configuracin de la BD
Las opciones de configuracin de la BD se establecen usando ALTER DATABASE y sp_dboptions. Pueden clasificarse como: Opciones Auto auto_close, auto_shrink, Opciones de Cursor restricciones de direccionamiento y alcance. Opciones de Recuperacin full | bulk_logged | simple. Opciones SQL ansi_padding, Opciones de Estado offline | online, single user,
20
Mantenimiento de la BD
Informacin de la BD puede obtenerse usando sp_helpdb. Las operaciones de mantenimiento y su equivalente en Oracle son: Reducir (Shrinking) la base de datos equivalente a reducir (shrinking) todos los archivos en un tablespace Cambiar el filegrouppor defecto igual a cambiar el tablespace por defecto pero se establece para toda la base de datos y no para cada usuario que hace login. Asociar o des-asociar DB (Attaching & detaching) similar a transportar tablespaces Cambiar el nombre de la BD similar en funcionamiento a renombrar tablespaces Cambiar el dueo de la BD no existe en Oracle
21
22
23
Contenido
Recursos a nivel de instancia y de servidor como memoria y procesos. Recursos a nivel de base de datos coo estructuras de almacenamiento fsico y lgico. Sesiones de usuario y su actividad. Estructuras de concurrencia
24
Administracin de la Memoria
La memoria se gestiona a:
Nivel de servidor asegura la distribucin apropiada de la memoria a lo largo de toda la BD, el sistema operativo y las aplicaciones. Nivel de instancia tanto Oracle como SQL server permiten gestionar los requerimientos de memoria directamente por el DBA o automticamente. El tamao y el desempeo de los componentes de la memoria se pueden consultar en Oracle a travs del OEM o de las vistas dinmicas. En SQL Server el desempeo puede verse a travs de los objetos de gestin dinmica, contadores relacionados con la memoria en el Performance Monitor, el SQL Profiler, y otras sentencias de DBCC (DataBase Console Commands).
SQLServer:Buffer Manager, SQLServer:Cache Manager, SQLServer:Memory Manager
25
Administracin de Procesos
Los procesos de background de Oracle pueden ser configurados para asegurar un desempeo ptimo, mientras que en SQL Server no son configurables (excepto checkpoint). Los procesos compartidos de Oracle son configurados usando parmetros como DISPATCHER, SHARED_SERVERS, MAX_SHARED_SERVERS, mientras en SQL Server los worker threads pueden ser controlados usando la opcin de configuracin max worker threads. En Oracle el nmero y el desempeo de los procesos puede ser observado usando las vistas de desempeo dinmicas y el OEM. En SQL Server el desempeo puede ser visto a travs de los objetos de gestin dinmica, los contadores relacionados a los procesos (Page Faults/sec, Thread Count/sec.) usando el Performance Monitor, SQL Profiler.
26
Los transaction logs de SQL Server combinan las funciones de los redo log de Oracle y los segmentos undo. Oracle tiene mltiples redo logs de tamao fijo que se rotan en forma cclica con cada checkpoint. Los transaction logs de SQL tienen tamao variable y se liberan despus de un checkpoint o un backup del log. La gestin de los tablespaces incluye la creacin, eliminacin, renombrado y cambio de estado. Debido a que SQL Server usa extents de tamao fijo, su administracin no involucra las mismas tareas que se tienen en Oracle bajo ciertas condiciones. 27
28
29
Laboratorio
30
Contenido
Instalacin de SQL Server Propiedades de las BD Propiedades de Almacenamiento Management Studio
31
32
Contenido
Guas para nombrar identificadores en definicin de objetos esquema. Almacenamiento y estructura de objetos esquema. Implementar integridad de datos usando constraints. Implementar reglas de negocio a nivel de base de datos usando triggers y secuencias.
33
Identificadores y Nombrado
Nombres de objetos y columnas no son sensibles a maysculas/minsculas en Oracle, pero son almacenados en el DD en maysculas a menos que sean forzados usando delimitadores. En SQL Server los nombres de objetos y columnas son almacenados en el catlogo el sistema en la misma forma comose especificaron en el comando de creacin. Los nombres deben ser nicos dentro del mismo esquema.
34
Tablas
Existe una sintaxis de definicin genrica de tablas tanto para Oracle como para SQL Server. Existen varios tipos de tablas en ambos motores (temporales, particionadas, variables). Lo mismo ocurre con las columnas.
35
Constraints
Los tipos de constraints son:
NOT NULL CHECK UNIQUE PRIMARY KEY FOREIGN KEY
Pueden definirse junto con la definicin de las columnas o por fuera junto con la definicin de la tabla. Los contraints de llave primaria son forzados usando ndices nicos y constraints NOT NULL.
36
Triggers
Los triggers INSTEAD OF de SQL Server son similares a los triggers BEFORE en Oracle. Los triggers en SQL Server son a nivel de sentencia. Oracle usa estructuras de pseudo-filas :new and :old. SQL Server usa pseudotablas DELETED and INSERTED.
37
ndices
Existen ndices nicos, no-nicos, noclustered, B-tree al igual que en Oracle. O ndices clustered en SQL Server son similares a los IOTs (index-organized tables) de Oracle. Pueden ser creados, eliminados, reconstruidos, reorganizados, puestos offline u online. Tambin permite indexar tipos de datos XML y datos espaciales.
38
Vistas
En Oracle las vistas pueden crearse aun sin permisos o ausencia del objeto base usando la clusula FORCE. En SQL Server la definicion de la vista puede ser almacenada en forma encriptada dentro del catlogo del sistema. En Oracle las vistas pueden ser definidas con constraints y pueden ser solo de lectura.
39
40
Cotenido
Gestionar el acceso a la BD a travs de cuentas de usuario. Controlar el acceso a los datos a travs de privilegios y roles. Gestionar el acceso al servidor usando cuentas de login.
41
Gestin de Usuarios
En Oracle, un usuario hace parte de todo el sistema de BD. SQL Server usa cuentas de login para acceder a a instancia y cuentas de usuario para acceder a las BD individuales. Los nombres de usuario de Orale y los logins de SQL Server pueen ser auntenticados a nivel de sistema operativo o de la BD. Adicionalmente en SQL pueden tambin autenticarse en el dominio de red. En SQL Server, una cuenta de usuario debe ser creada en cada BD que una cuenta login necesite acceder y puede llamarse diferente que la cuenta login.
42
Gestin de Privilegios
Oracle y SQL Server controlan el acceso y la actividad dentro de la BD usando privilegios del sistema y de objetos. ALTER DATABASE y GRANT son ejemplos de privilegios del sistema mientras que los privilegios a nivel de objeto se manejan con SELECT, INSERT, UPDATE, DELETE. Oracle y SQL Server usan la sentencia GRANT para otorgar privilegios y REVOKE para removerlos. Adicionalmente SQL Server tiene la sentencia DENY para suspender privilegios. Para listar los permisos sobre objetos se pueden usa la vistas sys.database_permissions y la funcin fn_builtin_permissions. 43