Oracle - Creación MANUAL de una base de datos 11g en Windows

20
Título: Creación manual de una base de datos 11g en Windows Fecha: 19/08/2011 Página 1 de 20 Creación manual de una base de datos 11g en Windows Departamento: Proyecto: Documento: Creacion-Manual-bbdd-11g- windows.docx Nº pags: 20 Asunto: Autor: ODMS http://locutoriorama.blogspot.com/ Aprobado por: Fecha de creación: 19/08/2011 Fecha de aprobación: Lista de Distribución:

description

Documento que describe una creación manual de una base de datos 11g en plataforma Windows.

Transcript of Oracle - Creación MANUAL de una base de datos 11g en Windows

Page 1: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 1 de 20

Creación manual de una base

de datos 11g en Windows

Departamento:

Proyecto:

Documento: Creacion-Manual-bbdd-11g-

windows.docx

Nº pags: 20

Asunto:

Autor: ODMS http://locutoriorama.blogspot.com/

Aprobado por:

Fecha de creación: 19/08/2011 Fecha de aprobación:

Lista de Distribución:

Page 2: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 2 de 20

Introducción .......................................................................................................................................................... 4

PASOS ................................................................................................................................................................. 5

Usuario ............................................................................................................................................................. 5

Entorno de usuario .......................................................................................................................................... 5

Estructura de carpetas .................................................................................................................................... 6

Servicio oracle ................................................................................................................................................. 6

Fichero de password. ...................................................................................................................................... 7

Fichero de inicialización .................................................................................................................................. 7

Instancia........................................................................................................................................................... 9

Comando CREATE DATABASE .................................................................................................................. 10

Tablespaces .................................................................................................................................................. 12

Diccionario de datos...................................................................................................................................... 12

Recompilar..................................................................................................................................................... 13

SPFILE ........................................................................................................................................................... 13

Bloqueo de cuentas ...................................................................................................................................... 13

Cambiar contraseñas. ................................................................................................................................... 14

Editar servicio ................................................................................................................................................ 14

Configuración de Oracle Net ....................................................................................................................... 14

Page 3: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 3 de 20

Page 4: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 4 de 20

Introducción

En este documento se describe una prueba de creación manual (sin asistente) de una base de datos

Oracle 11g en Windows (no clúster).

Page 5: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 5 de 20

PASOS

Usuario

Conectamos con el usuario propietario del software, u otro usuario que creemos específicamente 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 instalación del software).

Conectamos con el usuario recién 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:

Page 6: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 6 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 continuación 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:

Page 7: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 7 de 20

Comprobamos que se han creado dos servicios, gráficamente:

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 inicialización

Creamos un fichero de inicialización:

##################################################################

# 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

###########################################

Page 8: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 8 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 haría 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

Page 9: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 9 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:

Page 10: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 10 de 20

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;

Podríamos haber asignado ya la contraseña de SYS y SYSTEM, en la misma sentencia de CREATE

DATABASE, pero lo dejo para después.

Page 11: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 11 de 20

Podemos consultar algunas vistas para comprobar que los datafiles se han creado correctamente.

(v$datafile, v$controlfile, v$logfile, etc).

También debemos revisar el alert.ora.

Como curiosidad, si miramos el alert.ora, vemos que durante la creación 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

Page 12: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 12 de 20

En este punto, los usuarios SYS y SYSTEM tendrán las contraseñas 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

Page 13: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 13 de 20

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

Page 14: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 14 de 20

sys.dbms_assert.enquote_name(

sys.dbms_assert.schema_name(

item.USERNAME),false) || ' password expire account lock' ;

END LOOP;

END;

/

Cambiar contraseñas.

Por seguridad.

Editar servicio

Editar el servicio Oracle y ponerlo en automático.

Configuración de Oracle Net

Podemos utilizar el asistente de configuración de red de Oracle:

Page 15: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 15 de 20

Page 16: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 16 de 20

Comprobamos que nos ha creado el servicio:

Page 17: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 17 de 20

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

)

)

Page 18: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 18 de 20

El tnsnames.ora también se puede configurar con el asistente:

Page 19: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 19 de 20

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)

)

)

Page 20: Oracle - Creación MANUAL de una base de datos 11g en Windows

Título: Creación manual de una base de datos 11g en Windows

Fecha: 19/08/2011

Página 20 de 20