Para cambiar el set de caracteres en la base de datos, es necesario tomar en cuenta algo muy importante: Unicamente podemos cambiar de acuerdo a un orden (subset) que oracle tiene, por ejemplo se puede cambiar de US7ASCII a WE8ISO8859P1 pero no al revés. Si hacemos esta prueba nos da un ora-12712: "new character set must be a superset of old character set"
Si es asi, se debe re-instalar la base de datos.
Con esa recomendación aqui va un ejemplo:
sql> shutdown immediate;
sql> startup mount;
sql> alter system enable restricted session;
sql> alter system set job_queue_processes=0;
sql> alter database open;
sql> alter database character set WE8ISO8859P1; (tambien puede ser "national character set")
sql> shutdown immediate;
sql> startup;
Linuxgrafias, monografias sobre: Instalacion de Servidores Linux, Bases de Datos Oracle, despliegues en nube, virtualización y seguridad, en resúmen mi experiencias sobre TIC
miércoles, 29 de agosto de 2007
viernes, 10 de agosto de 2007
Oracle: Import/Export de datos desde Linux a Windows y Viceversa
Las utilidades imp / exp que vienen con Oracle, nos dan la posibilidad de realizar backup lógicos en caliente.
Un problema muy frecuente en esta tarea se da cuando tratamos de subir un archivo dmp (exportado en linux) a windows o viceversa.
Inclusive dentro la misma plataforma es dificultoso subir de una versión de oracle a otra.
Una solución, extrayendo de libros y algunas experiencias, es:
a.- suponemos que tenemos dos versiones de oracle: 1 y 2
b.- hago el export de la version 1 con el programa exp que viene en esta versión.
c.- hago el import a la version 2 con el programa imp que viene con la versión 1.
Otra solución y la que dá mejores resultados:
Misma situación y aumentando que tenemos distintas plataformas:
a.- suponemos que tenemos version 1 en linux y version 2 en windows.
b.- desde oracle version 2 en windows creamos dos conexiónes con el net configuration,
una al oracle version 1 en linux, la llamamos oraclelinux y otra al oracle version 2 con el
nombre oraclewin
c.- desde windows hacemos un export conectándonos al oracle version 1 en linux:
ejemplo: exp usuario/contraseña@oraclelinux file=export_01.dmp
(se puede utilizar un script para hacer un backup full, etc)
d.- el backup se guarda en una carpeta de windows.
e.- finalmente se hace un import:
imp usuario/contraseña@oraclewin file=export_01.dmp
Aclaración Importante: Cuando realizamos exports con diferentes versiones de oracle, esto es posible únicamente cuando tenemos una version mayor (por ej. una 9) y hacemos la exportacion desde una menor (ej. 8 ).
Un problema muy frecuente en esta tarea se da cuando tratamos de subir un archivo dmp (exportado en linux) a windows o viceversa.
Inclusive dentro la misma plataforma es dificultoso subir de una versión de oracle a otra.
Una solución, extrayendo de libros y algunas experiencias, es:
a.- suponemos que tenemos dos versiones de oracle: 1 y 2
b.- hago el export de la version 1 con el programa exp que viene en esta versión.
c.- hago el import a la version 2 con el programa imp que viene con la versión 1.
Otra solución y la que dá mejores resultados:
Misma situación y aumentando que tenemos distintas plataformas:
a.- suponemos que tenemos version 1 en linux y version 2 en windows.
b.- desde oracle version 2 en windows creamos dos conexiónes con el net configuration,
una al oracle version 1 en linux, la llamamos oraclelinux y otra al oracle version 2 con el
nombre oraclewin
c.- desde windows hacemos un export conectándonos al oracle version 1 en linux:
ejemplo: exp usuario/contraseña@oraclelinux file=export_01.dmp
(se puede utilizar un script para hacer un backup full, etc)
d.- el backup se guarda en una carpeta de windows.
e.- finalmente se hace un import:
imp usuario/contraseña@oraclewin file=export_01.dmp
Aclaración Importante: Cuando realizamos exports con diferentes versiones de oracle, esto es posible únicamente cuando tenemos una version mayor (por ej. una 9) y hacemos la exportacion desde una menor (ej. 8 ).
lunes, 6 de agosto de 2007
Instalación de Oracle 10g en Fedora Core 6 y Disco SATA
Introducción.-
Partiendo sobre la base de una PC con fedora instalado.
La instalación la hice en una PC con las siguientes características:
Microprocesador: Pentium Dual Core
Motherboard: Asus - Via P4M890
Disco Rígido: SATA - 160 Gigabytes.
Elección de la distribución.-
Sabemos que Oracle cuando habla de linux para intel 386 solo se refiere a Red Hat y Suse. Siguiendo esta linea, pretendí instalar RedHat Enterprice Linux 4, el primer inconveniente que encuentro es con el disco SATA, si bien esta distro tiene los drivers para SAta (via_sata), pues me decia que no existía ningún disco donde instalar. Entre al setup, en fin despues de algunos intentos y leer foros, google, etc, decidi cambiar de distro. Me fui a Fedora Core 5, y me encontré con la misma historia, finalmente para no alargar, me quedé con Fedora Core 6, lo reconoció al disco inmediatamente y pude realizar una instalación estandar, con Gnome y aplicaciones para servidor de base de datos.
Configuración del S.O. para la instalación de Oracle 10g.-
De acuerdo con la documentación de la instalación de Oracle 10g, configuramos los parámentros del kernel:
Editar el archivo /etc/sysctl.conf
para guardar esta configuración.
Editar /etc/security/limits.conf y agregar las siguientes líneas:
Partiendo sobre la base de una PC con fedora instalado.
La instalación la hice en una PC con las siguientes características:
Microprocesador: Pentium Dual Core
Motherboard: Asus - Via P4M890
Disco Rígido: SATA - 160 Gigabytes.
Elección de la distribución.-
Sabemos que Oracle cuando habla de linux para intel 386 solo se refiere a Red Hat y Suse. Siguiendo esta linea, pretendí instalar RedHat Enterprice Linux 4, el primer inconveniente que encuentro es con el disco SATA, si bien esta distro tiene los drivers para SAta (via_sata), pues me decia que no existía ningún disco donde instalar. Entre al setup, en fin despues de algunos intentos y leer foros, google, etc, decidi cambiar de distro. Me fui a Fedora Core 5, y me encontré con la misma historia, finalmente para no alargar, me quedé con Fedora Core 6, lo reconoció al disco inmediatamente y pude realizar una instalación estandar, con Gnome y aplicaciones para servidor de base de datos.
Configuración del S.O. para la instalación de Oracle 10g.-
De acuerdo con la documentación de la instalación de Oracle 10g, configuramos los parámentros del kernel:
Editar el archivo /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144 ejecutar sysctl -p para guardar esta configuración.
Editar /etc/security/limits.conf y agregar las siguientes líneas:
* soft nproc 2047
* hard nproc 16388
* soft nofile 1024
* hard nofile 6556
Editar: /etc/pam.d/login
session required /lib/security/pam_limits.so
Desabilitar selinux editando: /etc/selinux/config
selinux=disable
Instalar o verificar los siguientes rpm's, ya sea de los cd's de distribución
o bien del sitio http://ayo.freshrpms.net/fedora/linux/6/i386
rpm -Uvh setarch-*
rpm -Uvh --force tcl-*
rpm -Uvh --force libXau-devel-* libXp-*
rpm -Uvh compat-db-*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh compat-libf2c-34-*
rpm -Uvh compat-gcc-34-*
rpm -Uvh libaio-*
rpm -Uvh compat-gcc-34-c++-*
rpm -Uvh compat-libstdc++-296*
rpm -Uvh compat-libgcc-296*
Librerias motif:
rpm -Uvh openmotif21-2.1.30-14.i386.rpm
Crear usuarios y grupos.Crear los subdirectorios donde vamos a instalar oraclegroupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle.oinstall /u01Editar el archivo /etc/redhat-release
reemplazar por: redhat-4
Editar el .bash_profile del usuario oracle y agregar las sgtes. lineas:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=TSH1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Instalación.-
loguearse como oracle
comprobar los seteos como ser ORACLE_HOME, etc
$ set | more
arrancar xwindows
$ startx
Iniciar una sesión de terminal
Comenzar la instalación desde el path de instalacion:
$ ./runInstaler
Suscribirse a:
Comentarios (Atom)