You are on page 1of 20

Ttulo: Creacin manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Creacin manual de una base


de datos 11g en Windows

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Pgina 3 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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).

Conectamos con el usuario recin creado.


A partir de aqu vamos a trabajar directamente en una consola DOS en modo administrador.

Entorno de usuario
Lo primero es configurar el entorno del usuario. Al menos las siguientes variables:

Pgina 5 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Comprobamos que se han creado dos servicios, grficamente:

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

###########################################
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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Comando CREATE DATABASE


Nota sobre el charset recomendado:
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=306411.1
Ejecutamos el comando CREATE DATABASE:
CREATE DATABASE "ASIS"
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE 'C:\bbdd\datos\ASIS\system01.dbf' SIZE 700M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE 'C:\bbdd\datos\ASIS\sysaux01.dbf' SIZE 600M REUSE
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE
'C:\bbdd\tmp\ASIS\temp01.dbf' SIZE 20M REUSE
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE
'C:\bbdd\datos\ASIS\undotbs01.dbf' SIZE 200M REUSE
CHARACTER SET WE8MSWIN1252
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('C:\bbdd\logA\ASIS\redo01_a.log',
'C:\bbdd\logB\ASIS\redo01_b.ora') SIZE 51200K,
GROUP 2 ('C:\bbdd\logA\ASIS\redo02_a.log',
'C:\bbdd\logB\ASIS\redo02_b.log') SIZE 51200K,
GROUP 3 ('C:\bbdd\logA\ASIS\redo03_a.log',
'C:\bbdd\logB\ASIS\redo03_b.log') SIZE 51200K;

Podramos haber asignado ya la contrasea de SYS y SYSTEM, en la misma sentencia de CREATE


DATABASE, pero lo dejo para despus.

Pgina 10 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

spool off

Si queremos configurar XDB:

SET VERIFY OFF


connect "SYS"/"change_on_install" as SYSDBA
set echo on
spool C:\app\vmware\admin\ASIS\scripts\xdb_protocol.log append
@C:\app\vmware\product\11.2.0\dbhome_1\rdbms\admin\catqm.sql
change_on_install SYSAUX TEMP;
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

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

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.

Configuracin de Oracle Net


Podemos utilizar el asistente de configuracin de red de Oracle:

Pgina 14 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Pgina 15 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Comprobamos que nos ha creado el servicio:

Pgina 16 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

# listener.ora Network Configuration File:


C:\app\vmware\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
LSN_ASIS =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = VMW2008.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LSN_ASIS = C:\app\vmware
SID_LIST_LSN_ASIS =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\vmware\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\app\vmware\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)

Pgina 17 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

El tnsnames.ora tambin se puede configurar con el asistente:

Pgina 18 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Si todo est correcto, nos generar la entrada correspondiente en el fichero tnsnames.ora:


ASIS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = VMW2008)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ASIS)
)
)

Pgina 19 de 20

Ttulo: Creacin manual de una base de datos 11g en Windows


Fecha: 19/08/2011

Pgina 20 de 20