Pasos para ejecutar el cambio del valor del parámetro. Leer el contenido completo de la guía. Al final se detalle algunos aspectos importantes para ambiente de RAC.
Objetivo: Actualizar la tabla sys.prop$ del diccionario de la base de datos en donde se almacena el set de caracteres de la base de datos.
SQL> column VALUE format a10
SQL> column PARAMETER format a30
SQL> select * from v$nls_parameters;
SQL> /
PARAMETER VALUE CON_ID
----------------------------- ------------------------------ ---------
NLS_LANGUAGE AMERICAN 0
NLS_TERRITORY AMERICA 0
NLS_CURRENCY $ 0
NLS_ISO_CURRENCY AMERICA 0
NLS_NUMERIC_CHARACTERS ., 0
NLS_CALENDAR GREGORIAN 0
NLS_DATE_FORMAT DD-MON-RR 0
NLS_DATE_LANGUAGE AMERICAN 0
NLS_CHARACTERSET WE8ISO8859P15 0
NLS_SORT BINARY 0
NLS_TIME_FORMAT HH.MI.SSXFF AM 0
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM 0
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR 0
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR 0
NLS_DUAL_CURRENCY $ 0
NLS_NCHAR_CHARACTERSET AL16UTF16 0
NLS_COMP BINARY 0
NLS_LENGTH_SEMANTICS BYTE 0
NLS_NCHAR_CONV_EXCP FALSE 0
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1895825408 bytes
Fixed Size 2925744 bytes
Variable Size 570428240 bytes
Database Buffers 1308622848 bytes
Redo Buffers 13848576 bytes
Database mounted.
SQL> show parameter job_queue_processes
NAME TYPE VALUE
--------------------- ----------- ----------------------
job_queue_processes integer 1000
SQL> alter system set job_queue_processes=0;
System altered.
SQL> alter database open;
Database altered.
SQL> alter database character set WE8MSWIN1252;
alter database character set WE8MSWIN1252
*
ERROR at line 1:
ORA-12719: operation requires database is in RESTRICTED mode
SQL> update sys.props$ set value$='WE8MSWIN1252' where name='NLS_CHARACTERSET';
1 row updated.
SQL> commit;
Commit complete.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 1895825408 bytes
Fixed Size 2925744 bytes
Variable Size 570428240 bytes
Database Buffers 1308622848 bytes
Redo Buffers 13848576 bytes
Database mounted.
SQL> alter system enable restricted session;
System altered.
SQL> alter database open;
Database altered.
SQL> alter database character set WE8MSWIN1252;
Database altered.
SQL> alter system set job_queue_processes=1000;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1895825408 bytes
Fixed Size 2925744 bytes
Variable Size 570428240 bytes
Database Buffers 1308622848 bytes
Redo Buffers 13848576 bytes
Database mounted.
Database opened.
SQL> select * from v$nls_parameters;
PARAMETER VALUE CON_ID
----------------------------- ---------- ---------
NLS_LANGUAGE AMERICAN 0
NLS_TERRITORY AMERICA 0
NLS_CURRENCY $ 0
NLS_ISO_CURRENCY AMERICA 0
NLS_NUMERIC_CHARACTERS ., 0
NLS_CALENDAR GREGORIAN 0
NLS_DATE_FORMAT DD-MON-RR 0
NLS_DATE_LANGUAGE AMERICAN 0
NLS_CHARACTERSET WE8MSWIN12 0
52
NLS_SORT BINARY 0
NLS_TIME_FORMAT HH.MI.SSXF 0
F AM
. . .
19 rows selected.
[oracle@dbvisit01 ~]$ env|grep NLS
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
[oracle@dbvisit01 ~]$ sqlplus /nolog
SQL*Plus: Release 12.1.0.2.0 Production on Thu May 14 14:10:31 2015
Copyright (c) 1982, 2014, Oracle. All rights reserved.
SQL> connect / as sysdba
Connected.
SQL> truncate table t1;
Table truncated.
SQL> desc t1
Name Null? Type
-------------------------- -------- ---------------------
NOMBRE VARCHAR2(20)
APELLIDO VARCHAR2(20)
SQL> insert into t1 values ('Fabián','Nuñez');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from t1;
NOMBRE APELLIDO
-------------------- --------------------
Fabián Nuñez
SQL>
Para ambientes en RAC es necesario modificar algunos pasos al inicio del proceso y final.
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;
Cuando se concluya el proceso es necesario volver a revertir los cambios iniciales.
En la base de datos del nodo1 configurar el parámetro de CLUSTER_DATABASE=TRUE
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM SET CLUSTER_DATABASE=true scope=spfile;
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=1000;
SQL> SHUTDOWN IMMEDIATE;
Arrancar las instancias del RAC con el commando srvctl
Publicado por Ronald Vargas Quesada. Consultor, Profesor Universitario, Oracle Academy Instructor y Conferencista Internacional. Ronald tiene más de 25 años de experiencia en Oracle DBA. Él reside en Costa Rica y es responsable de la creación de las Centroamericano Oracle Usuarios Grupos y responsable de introducir OTN Tour a los países centroamericanos. Ronald es un participante activo en OracleMania, Comunidad Oracle Hispana y LAOUC y disfruta ayudando a sus compañeros para encontrar soluciones y respuestas en Oracle Technology. Ronald es también el director de tecnología para la LAOUC. Ronald es actualmente instructor de Oracle University y fue reconocido como uno de los 15 mejores instructores LAD por Oracle University.
Este artículo ha sido revisado por el equipo de productos Oracle y se encuentra en cumplimiento de las normas y prácticas para el uso de los productos Oracle.