L.I.A. Aldo Sampé Salcedo Welcome to Alien Systems

Universidad Simón Bolívar.

Maestría en Ciencias Computacionales y Administración de la Tecnología.

L.I.A. Aldo Sampé Salcedo

Dr. Raúl Morales Salcedo

Encyclopedia
Universidad Simón Bolívar

Capitulo 2

Creacion y Configuracion de unas Base de Datos en Oracle
Sobre crear una BD en Oracle.

Después de que ya se cuenta con el diseño de la base de datos, ya es posible crear la BD mediante las herramientas del servidor Oracle. Después de que instalas las herramientas clasicas de Oracle se crea una BD sin embargo si se desea usar o crear otra es indispensable contar con OUI que es el Oracle Universal Installer.

Crerar una Base de Datos en el mismo host como una base de datos de Oracle. Se puede realizar la copia de seguridad de una Base de Datos, es decir un clon. Crear la BD con especificos metodos es posible realizarlo con el DBCA Database Configuration Assistant.

La manera en la que se puede crear una BD de la forma mas comuno es mediante el comando CREATE DATABASE, sin embargo si se utiliza ese parametro se debe de tener en cuenta que es necesario contar con la realizacion de coplementos adicionales antes de que debas de poder tener una Base de Datos montada en Oracle.

SID ( Specify an Instance Identifier ) Oracle System Identifier.
para poder acceder a este, tenemos que configurar el archivo ORACLE_SID ya que esa variable es usada para distinguir la instancia de la base de Oracle, en el siguiente ejemplo podemos ver como es posible setear la instancia para poder conectarte.

Bourne, Bash, or Korn shell:
ORACLE_SID=mynewdb
export ORACLE_SID

Verificar que las variables de ambiente esten bien seteadas.

Se tiene que configurar las variables de ambiente de nuestra Base de Datos que es lo mas probable o al menos por cuestión de verificación se debe de verificar si estan bien configuradas.

Si nos encontramos en Linux que este es nuestro caso tenesmoq eu configurar manualmente las variables. Escojer un metodo de autenticación por el adminsitrador.

Es posible ser autenticado por medio de algún metodo previamente establecido y sobre todo con los permisos apropiados. Para poder autenticarse es necesario que sea por:
- Mediante un archivo de password.
- Mediandte un sistema operativo de autenticación.

Si decides autenticarte por archivo de password, se debe de crear el archivo como se describe mas adelante, se puede crear este archivo usando el archivo de pasword de creación, ORAPWD y se puede crear este archivo de tal forma que sea de nuestro propio sistema y forme parte de la instalación.

Esta es la forma en la que podemos usar le file.
orapwd FILE=orapworcl ENTRIES=30

Siguiendo el ejemplo que que acontinuación mostraremos para poder crear nuestro archivo de password. El siguiente comando crea el archivo llamado " orapworcl " y permite 30 privilegios.

orapwd FILE=orapworcl ENTRIES=30

Los argumentos de para ORAPWD serán descritos a continuación. Estos argumentos configuran el nombre del password y se debe de especificar todo el path y se debe de poner el correcto de lo contrario la ruta la elige por default causando que el pass sea incorrecto.

Conectar con SYSDBA sus privilegios como se les mostrará a continuación.
CONNECT SYS AS SYSDBA
Para poder Revocar provilegios a SYSDBA y SYSOPER
Si el server usa Exclusivos archivos de passwords y a demaás requieres revocar los permisos a los usuarios SYSDBA o SYSOPER, lo podemos hacer con el comando REVOKE.

- REVOKE SYSDBA FROM oe;

Debido a que estos 2 usuarios son los que tienen mas poder y con esto podemos asegurar que eso usuario son lo que tendran los privilegios requeridos por el sistema.
Para poder ver a los miembros que cuentan con los permisos correspondientes. Para poder borrar el archivo de password.

Si ya has determinado que no necesitas este archivo sin ningún problema lo puedes cambiar o borrar y posteriormente resetar la maquina para que la variable REMOTE_LOGIN_PASSWORDFILE se regenere y generar de nuevo los parametros a cero.

Para poder crear una Instancia ( Solo en windows )
Se tiene que utilizar el siguiente comando ORADIM ya que con él podremos crear nuestras instancias de esta manera.

radim -NEW -SID sid -STARTMODE MANUAL -PFILE pfile

Donde " sid " es el SID ( ejem. minuevabd ) y pfile es el camino para la siguiente inicialización del archivo. el comando que acabamos de ver solo crea la instancia pero no la inicializa.

Conectando a la Instancia.

Para poder conectarnos a la instancia que previamente se ha creado se tiene que realizar con el sistema de SYSDBA para poder tener los privilegios necesarios.

Para poder autenticarnos mediante nuestro archivo de password ingresamos el siguiente comando:

$ sqlplus /nolog
SQL> CONNECT SYS AS SYSDBA

Para poder autenticarnos mediante sistema operativo se tiene que realizar
$ sqlplus /nolog
SQL> CONNECT / AS SYSDBA

Creando una Base de Datos.

Con el siguiente ejemplo crearemos una nueva base de datos, el nombre de nuestra base de datos debe de ser igual al de nuestro parametro de DB_NAME para que no exista ningun problema al moento de la inicialización.

Para el parametro de inicializacion nos indica el número y localización de los archivos de control con CONTROL_FILES. Y se debe encontrar el la ruta /u01/app/oracle/oradata/mynewdb exists

CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/mynewdb/redo01.log') SIZE 100M,
GROUP 2 ('/u01/app/oracle/oradata/mynewdb/redo02.log') SIZE 100M,
GROUP 3 ('/u01/app/oracle/oradata/mynewdb/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/mynewdb/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/mynewdb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs
DATAFILE '/u01/app/oracle/oradata/mynewdb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
El nombre de la BD es global mynewDB.us.oracle.com.
Abilitar en automatico la instancia creada.
Si se requiere de configurar la instancia de Oracle cuando la computadora arranque se tiene que ver el manual de sistema operativo por decir algo para windows se puede utilizr el sig. comando.

ORADIM -EDIT -SID sid -STARTMODE AUTO -SRVCSTART SYSTEM [-SPFILE]

Para poder especificar los tablespace por default.
Se tiene que establacer algún tamaño para poder crear archivo de configuración y el sig. ejemplo describe la forma de poder etablacerlo.

CREATE DATABASE mynewdb
USER SYS IDENTIFIED BY sys_password
USER SYSTEM IDENTIFIED BY system_password
SET DEFAULT BIGFILE TABLESPACE
UNDO TABLESPACE undotbs
DEFAULT TEMPORARY TABLESPACE tempts1;


Especificando la Zona horaria de Nuestra Base de Datos.
Existen 2 archivos de configuración incluidos en directorio home de Oracle, la zona de default se guarda en $ORACLE_HOME/oracore/zoneinfo/timezonelrg.dat y uno mas pequeño puede ser encotrado en $ORACLE_HOME/oracore/zoneinfo/
Para poder configurar de forma correcto el horario se debe de hacer mediante la variables y la ruta adecuada.
ORA_TZFILE
Una vez que se ha indicado la ruta es necesario resetear la Base de Datos.

Parametros simples de configuración en el archivo.
Oracle nos provee de algunos parametros simples en su archivo de configuración. Una vez localizado este archivo puede ser editado y agregar los parametros requeridos, así es como luce un archivo.

##############################################################################
# Example INIT.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 '' to point to the oracle base (the one you specify at
# install time)
db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest=''
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
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 = (ora_control1, ora_control2)
compatible ='11.1.0'

Para poder determinar el Nombre Global de la Base de Datos.
Consiste en definir los parametros que serán ocupados por nuestra Base de Datos junto con la estructura de Red asi como su localización. Por ejemplo para crear una Base de Datos con un nombre de la base Global sería de esta forma:

DB_NAME = test
DB_DOMAIN = us.acme.com

Así mismo se puede renombrar la variable GLOBAL_NAME y DB_DOMAIN al momento de editarlas con la información especificada.

Para poder configurar de forma adecuada los Parametros de la Licencia
Oracle no ofrece una licencias para un gran número de miembros de forma simultanea sin embargo se puede configurar mediante el archivo de configuración con las variables de entorno LICENSE_MAX_SESSIONS y LICENSE_SESSIONS_WARNING.

Para poder configurar de forma adecuada este tipo de variables se podrá definicr mediante la siguiente expresion.

LICENSE_MAX_USERS = 200

Para poder Borrar una Base de Datos previamente creada, se puede utilizar la sentencia SQL como lo veremos en el siguiente ejemplo.

DROP DATABASE;

Este comando no afecta la estructura de las demás Bases de Datos ni mucho menos los respaldos que se hallan hecho.

Que es un Archivo parametro del server.
Se puede considerar como una especie de repositorio para inicializar los parametros que mantienen corriendo el servidor de la base de datos de Oracle.
Un parametro del Server es inicializado y construido de un texto previo de inicialización usando el comando CREATE SPFILE
En el siguiente ejemplo se ilustra como crear un servidor de parametros sustituyendolo por la locación.
CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora'
FROM PFILE='/u01/oracle/dbs/test_init.ora';

Recuperando Parametros perdidos o dañados.
Si el archivo SPFILE se encuentra dañado o de plano esta corrupto hay algunos caminos para poder restablecerlo. si la instancia esta corriendo lo que tenemos que hacer es crear de nuevo el file con el comando

CREATE SPFILE FROM MEMORY;

Si contamos con un archivo valido de inicialización lo que podemos hacer es ejecutar el comando,

CREATE SPFILE FROM PFILE;

Xkable