Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fecha: 19/08/2011
Departamento:
Proyecto:
Documento:
Creacion-Manual-bbdd-11gwindows.docx
Asunto:
Autor: ODMS
http://locutoriorama.blogspot.com/
Fecha de creacin: 19/08/2011
Lista de Distribucin:
Aprobado por:
Fecha de aprobacin:
Pgina 1 de 20
N pags:
20
Introduccin.......................................................................................................................................................... 4
PASOS ................................................................................................................................................................. 5
Usuario............................................................................................................................................................. 5
Entorno de usuario .......................................................................................................................................... 5
Estructura de carpetas .................................................................................................................................... 6
Servicio oracle ................................................................................................................................................. 6
Fichero de password....................................................................................................................................... 7
Fichero de inicializacin .................................................................................................................................. 7
Instancia........................................................................................................................................................... 9
Comando CREATE DATABASE .................................................................................................................. 10
Tablespaces .................................................................................................................................................. 12
Diccionario de datos...................................................................................................................................... 12
Recompilar..................................................................................................................................................... 13
SPFILE........................................................................................................................................................... 13
Bloqueo de cuentas ...................................................................................................................................... 13
Cambiar contraseas. ................................................................................................................................... 14
Editar servicio ................................................................................................................................................ 14
Configuracin de Oracle Net ....................................................................................................................... 14
Pgina 2 de 20
Pgina 3 de 20
Introduccin
En este documento se describe una prueba de creacin manual (sin asistente) de una base de datos
Oracle 11g en Windows (no clster).
Pgina 4 de 20
PASOS
Usuario
Conectamos con el usuario propietario del software, u otro usuario que creemos especficamente para
crear y administrar la base de datos. En este ejemplo, voy a crear uno nuevo, local (no de dominio):
Lo incluimos en el grupo Administradores y ORA_DBA (este grupo lo crea la instalacin del software).
Entorno de usuario
Lo primero es configurar el entorno del usuario. Al menos las siguientes variables:
Pgina 5 de 20
set ORACLE_BASE=c:\app\vmware
set ORACLE_HOME=C:\app\vmware\product\11.2.0\dbhome_1
set ORACLE_SID=ASIS
set PATH=%ORACLE_HOME%\bin;%PATH%
set NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252
Estructura de carpetas
A continuacin creamos la estructura de carpetas, por ejemplo:
mkdir C:\bbdd\admin\ASIS\pfile
mkdir C:\bbdd\admin\ASIS\scripts
mkdir C:\bbdd\admin\ASIS\adump
mkdir C:\bbdd\datos\ASIS\
mkdir C:\bbdd\indices\ASIS
mkdir C:\bbdd\rbk\ASIS
mkdir C:\bbdd\logA\ASIS
mkdir C:\bbdd\logB\ASIS
mkdir C:\bbdd\tmp\ASIS
mkdir C:\bbdd\control\ASIS
mkdir C:\bbdd\archives\ASIS
Servicio oracle
Creamos el servicio oracle, de momento en modo manual:
C:\app\vmware\product\11.2.0\dbhome_1\bin\oradim.exe -new -sid ASIS startmode manual
Si se crea correctamente:
Si no estuvieramos trabajando en una consola DOS en modo administrador, nos dar este error:
Pgina 6 de 20
O desde la consola:
Fichero de password.
Creamos el fichero de password. Pedir la password de SYS (a nivel de fichero de password):
C:\app\vmware\product\11.2.0\dbhome_1\bin\orapwd.exe
file=C:\app\vmware\product\11.2.0\dbhome_1\database\PWDASIS.ora force=y
Fichero de inicializacin
Creamos un fichero de inicializacin:
##################################################################
# initASIS.ora
##################################################################
###########################################
# Cache and I/O
###########################################
db_block_size=8192
###########################################
# File Configuration
###########################################
control_files=("C:\bbdd\control\ASIS\control01.ctl", "C:\bbdd\control\ASIS\control02.ctl")
###########################################
# Cursors and Library Cache
###########################################
Pgina 7 de 20
open_cursors=300
###########################################
# Database Identification
###########################################
db_domain=WORKGROUP
db_name=ASIS
###########################################
# Identificacion de instancia
###########################################
SERVICE_NAMES=asis.workgroup #por defecto el global_name
INSTANCE_NAME=asis #por defecto el SID
###########################################
# Service Registration
###########################################
LOCAL_LISTENER=LSN_ASIS
# Para hacer que la instancia se registre con un listener en particular (si no lo hara con el listener por
# defecto en el 1521)
# Hay que crear una entrada en el tnsnames.ora del servidor llamada LSN_ASIS:
#LSN_ASIS=
# (ADDRESS=(PROTOCOL=tcp)(HOST=VMW2008)(PORT=1521))
###########################################
# NLS
###########################################
nls_language="SPANISH"
nls_territory="SPAIN"
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# System Managed Undo and Rollback Segments
Pgina 8 de 20
###########################################
undo_tablespace=UNDOTBS1
###########################################
# Security and Auditing
###########################################
audit_file_dest=C:\bbdd\admin\ASIS\adump
audit_trail=none #sin auditoria
remote_login_passwordfile=EXCLUSIVE
###########################################
# Miscellaneous
###########################################
compatible=11.2.0.0.0
diagnostic_dest=C:\bbdd\admin OJO! IMPORTANTE, por defecto ser el ORACLE_BASE. Dentro de
la carpeta indicada, se crear una estructura de carpetas que ya incluye el SID de cada base de datos.
memory_target=427819008
NOTAS:
Por defecto DIAGNOSTIC_DEST tiene el siguiente formato:
$ORACLE_BASE/diag/rdbms/$INSTANCE_NAME/$ORACLE_SID
Instancia
Levantamos la instancia con el init.ora que hemos creado:
Pgina 9 de 20
Pgina 10 de 20
Podemos consultar algunas vistas para comprobar que los datafiles se han creado correctamente.
(v$datafile, v$controlfile, v$logfile, etc).
Tambin debemos revisar el alert.ora.
Como curiosidad, si miramos el alert.ora, vemos que durante la creacin se ejecutan los siguientes
scripts:
processing %ORACLE_HOME%\RDBMS\ADMIN\dfmap.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\denv.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\drac.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dsec.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\doptim.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dobj.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\djava.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dpart.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\drep.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\daw.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dsummgt.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dtools.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dexttab.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\ddm.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\dlmnr.bsq
processing %ORACLE_HOME%\RDBMS\ADMIN\ddst.bsq
Pgina 11 de 20
En este punto, los usuarios SYS y SYSTEM tendrn las contraseas por defecto. Podemos cambiarlas.
Tablespaces
Creamos tablespaces adicionales, por ejemplo:
CREATE SMALLFILE TABLESPACE "USERS" LOGGING
DATAFILE 'C:\bbdd\datos\ASIS\users01.dbf' SIZE 5M REUSE
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
ALTER DATABASE DEFAULT TABLESPACE "USERS";
Diccionario de datos
Creamos el diccionario de datos:
SET VERIFY OFF
connect "SYS"/"change_on_install" as SYSDBA
set echo on
spool C:\temp\scripts\creacion manual\CreaCatalog.log append
@C:\app\vmware\product\11.2.0\dbhome_1\rdbms\admin\catalog.sql;
@C:\app\vmware\product\11.2.0\dbhome_1\rdbms\admin\catblock.sql;
@C:\app\vmware\product\11.2.0\dbhome_1\rdbms\admin\catproc.sql;
@C:\app\vmware\product\11.2.0\dbhome_1\rdbms\admin\catoctk.sql;
@C:\app\vmware\product\11.2.0\dbhome_1\rdbms\admin\owminst.plb;
connect "SYSTEM"/"manager"
@C:\app\vmware\product\11.2.0\dbhome_1\sqlplus\admin\pupbld.sql;
connect "SYSTEM"/"manager"
set echo on
spool C:\temp\scripts\creacion manual\sqlPlusHelp.log append
@C:\app\vmware\product\11.2.0\dbhome_1\sqlplus\admin\help\hlpbld.sql
helpus.sql;
spool off
Pgina 12 de 20
spool off
Recompilar
Comprobar los objetos invalidos y recompilar.
@?\rdbms\admin\utlrp
SPFILE
Creamos el spfile a partir del pfile creado antes:
create
spfile='C:\app\vmware\product\11.2.0\dbhome_1\database\spfileASIS.ora'
FROM pfile='C:\bbdd\admin\ASIS\pfile\initASIS.ora';
Reiniciar.
Bloqueo de cuentas
BEGIN
FOR item IN ( SELECT USERNAME FROM DBA_USERS WHERE
ACCOUNT_STATUS IN ('OPEN', 'LOCKED', 'EXPIRED') AND USERNAME
NOT IN (
'SYS','SYSTEM') )
LOOP
dbms_output.put_line('Locking and Expiring: ' || item.USERNAME);
execute immediate 'alter user ' ||
Pgina 13 de 20
sys.dbms_assert.enquote_name(
sys.dbms_assert.schema_name(
item.USERNAME),false) || ' password expire account lock' ;
END LOOP;
END;
/
Cambiar contraseas.
Por seguridad.
Editar servicio
Editar el servicio Oracle y ponerlo en automtico.
Pgina 14 de 20
Pgina 15 de 20
Pgina 16 de 20
Pgina 17 de 20
Pgina 18 de 20
Pgina 19 de 20
Pgina 20 de 20