En el site www.ajpdsoft.com se publica el manual online Instalacion Oracle 9i sobre Windows, donde se explica paso a paso y con captura de pantallas cómo instalar una BD Oracle 9i sobre windows, cómo solucionar algunos de los errores típicos que suelen aparecer durante la instalación, cómo levantar el listener, comprobar el estado de la base de datos, y alguna cosa más..
En este artículo se presenta una completa guia 'paso a paso', confeccionada por Alejandro Ramirez para instalar una base de datos Oracle 10g sobre Debian.
Está todo en castellano, y cada paso está muy bien explicado. La guia es para Debian, pero puede ser fácilmente extrapolable a otros SO Linux.
Table of Contents
Estas instrucciones de instalación están adaptadas de Oracle®
Database Quick Installation Guide 10g Release 1 (10.1) for Linux
x86. (requiere registro gratuito). Visita también Oracle Database Documentation Library (requiere registro
gratuito).
Ve a http://otn.oracle.com/software/products/database/oracle10g/index.html
y descargar el siguiente fichero:
$ cksum ship.db.cpio.gz 306399691 611574473 ship.db.cpio.gz
cksum
es una utilidad básica del sistema que muestra el CRC y tamaño en
bytes de un fichero.
Descomprímelo. Aparecerá un directorio Disk1.
xhost + su export DISPLAY=:0.0 gunzip ship.db.cpio.gz cpio -idmv < ship.db.cpio
Con las tres primeras líneas hacemos login como root y
permitimos que este usuario root use el servidor X del usuario
inicial. Lo necesitaremos luego para lanzar el instalador. cpio es
un programa de archivado similar a tar.
Instala
libc6-dev
2.3.2.ds1-12. Una librería C usada por casi todos los
programas escritos en ese lenguaje. Si no la instalamos, algunos
ejecutables de Oracle en orahome/bin no se
crearán adecuadamente porque requieren ficheros de cabecera en
/usr/include.
binutils
2.14.90.0.7-8. Herramientas para desarrollar programas
en Unix. En realiad esto solo es requerido por Oracle 8.
apt-get install libc6-dev binutils
Instala lo siguiente:
wajig:
es un frontend para usar apt-get, apt-cache, dpkg, e
init.d.
gcc:
el compilador de c.
make:
una herramienta de construcción de proyectos.
libmotif3:
librerías compartidas para ejecutar programas OpenMotif.
lesstif2:
librerías compartidas para LessTif, libXm, libMrm.
rpm:
instalador de paquetes Debian. Funciona al margen del instalador
de paquetes de Debian.
wajig install gcc make libmotif3 lesstif2 rpm
Los sistemas operativos certificados tienen ciertas utilidades
en diferentes sitios que Debian. Añade estos enlaces
simbólicos:
ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/rpm /bin/rpm ln -s /usr/bin/basename /bin/basename
Según Oracle, el sistema debe tener 512Mb (524288 KB) de RAM y 1
Gb (1048576 KB) de swap o el doble de RAM. En sistemas con 2 o más Gb
de RAM, la partición de intercambio puede ser entre una y dos veces el
tamaño de la RAM. Siendo realistas, 512Mb de RAM es lo mínimo para
poder arrancar el sistema, no para trabajar con Oracle.
Para ver la cantidad de RAM y swap:
grep MemTotal /proc/meminfo grep SwapTotal /proc/meminfo
Puedes obtener más espacio de swap usando un fichero en vez de
reparticionando, aunque si estas configurando un servidor es más
aconsejable reparticionar. Aqui se muestra como crear un fichero de
511995 kB y usarlo como swap (hazlo solo si necesitas más
swap):
su - root cd /root dd if=/dev/zero of=/root/tmpswp bs=1k count=500000 chmod 600 tmpswp mkswap tmpswp swapon tmpswp grep SwapTotal /proc/meminfo
El espacio en disco recomendable debería ser mayor de 4Gb, que
se consumirá como sigue:
Table 1. espacio requerido en disco
| espacio en /tmp para el Oracle Universal Installer |
400 Mb |
| Ficheros de instalación | 1.5 Gb |
| Productos opcionales de Oracle Database 10g que vienen en el "Companion CD" |
1 Gb |
| Ficheros de una base de datos | 1.2 Gb |
| Total | 4.1 Gb |
Este comando muestra el espacio libre en
disco:
df -k /
Ahora vamos a justar algunos parametros del kernel. Priumero
vemos la configuración de nuestro sistema:
/sbin/sysctl -a | grep sem /sbin/sysctl -a | grep shm /sbin/sysctl -a | grep file-max /sbin/sysctl -a | grep ip_local_port_range
La salida debe ser
kernel.sem = 250 32000 100 128 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.shmmax = 2147483648 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
asi que editamos
/etc/sysctl.conf y añadimos o cambiamos estas
líneas:
kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
Al reiniciar el
sistema, /etc/inittab invocará el script
/etc/init.d/bootmisc.sh que leera la
configuración del kernel de /etc/sysctl.conf.
Pero si queremos que los cambios apliquen inmediatamente hacemos
esto:
/sbin/sysctl -p
Para ver los límites del shell ejecutamos ulimit
-a, que mostrará algo similar a esto:
core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 stack size (kbytes, -s) unlimited cpu time (seconds, -t) unlimited max user processes (-u) 2047 virtual memory (kbytes, -v) unlimited
Por defecto, hay
un límite por usuario, de 1024 descriptores de fichero, y 2047
procesos. Vamos a editar el fichero
/etc/security/limits.conf para ajustar estos
valores:
* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536
Las dos últimas líneas
imponen un límite inicial de 1024, pero permiten que un usuario
aumente el límite a 65536 usando el comando ulimit -n
65536. Las dos primeras líneas limitan el número de
procesos.
Añade lo siguiente a
/etc/pam.d/login:
session required /lib/security/pam_limits.so
pam_limits.so
es el módulo PAM que procesa la configuración del fichero
/etc/security/limits.conf que cambiamos
antes.
Suponiendo que el usuario oracle usa un shell Bash, Bourne, o
Korn, añade lo siguiente a
$HOME/.bash_profile:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Creamos un usuario (oracle) y un par de grupos
oinstall: propietario de los ficheros de Oracle. Este
grupo se usa cuando los dbas no mantienen la instalación de
software. En caso contrario, bastaría con hacerlo todo con el
grupo dba.
dba: grupo de usuarios con privilegios SYSDBA.
Para comprobar si existen haz:
grep oinstall /etc/group grep dba /etc/group grep nobody /etc/group id oracle id nobody
Crea los que falten con esto:
/usr/sbin/groupadd oinstall /usr/sbin/groupadd dba /usr/sbin/groupadd nobody /usr/sbin/useradd -c "Oracle Software Owner" -g oinstall -G dba oracle /usr/sbin/useradd -g nobody nobody # cambiamos el password del usuario oracle passwd oracle
Creamos el directorio base de oracle
(/u01/app/oracle), y opcionalmente un directorio
de datos para las bases de datos que creemos
(/u02/oradata):
mkdir -p /u01/app/oracle mkdir -p /u02/oradata chown -R oracle:oinstall /u01 /u02 chmod -R 775 /u01 /u02
El directorio base debería tener 2.5Gb
(2621440 KB) libres o 3.7Gb (3879731 KB) si no creamos un directorio
de datos. Cuando no creamos un directorio de datos, oracle usa
/u01/app/oracle/oradata. Cada base de datos ocupa
un subdirectorio del directorio de datos.
Haz login como oracle
su oracle
y
añade esta línea al final de
/home/oracle/.bash_profile:
umask 022
Crea este directorio
mkdir -p /home/oracle/config/10.1.0
Añade estas variables de entorno:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1; export ORACLE_HOME
ORACLE_SID=test; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_OWNER=oracle; export ORACLE_OWNER
#TNS_ADMIN=/home/oracle/config/10.1.0 export TNS_ADMIN
NLS_LANG=SPANISH_SPAIN.WE8ISO8859P1; export NLS_LANG
#ORA_NLS10=${ORACLE_HOME}/db_1/nls/data; export ORA_NLS10
CLASSPATH=${CLASSPATH}:${ORACLE_HOME}/jdbc/lib/classes12.zip
LD_LIBRARY_PATH=${ORACLE_HOME}/lib; export LD_LIBRARY_PATH
DISABLE_HUGETLBFS=1; export DISABLE_HUGETLBFS
TEMP=/tmp; export TEMP
TMPDIR=/tmp; export TMP
PATH=$PATH:/u01/app/oracle/product/10.1.0/db_1/bin; export PATH
Crea este directorio que parece que usa para guardar un fichero
de lock:
mkdir /var/lock/subsys
Asegurate de que la redirección de X esta activada, y ejecuta el
instalador como usuario oracle:
xhost + su oracle # cd al directorio donde descomprimimos cd /var/install/Disk1
Puesto que el instalador solo se ejecuta en sistemas operativos
certificados (Red-Hat o United Linux), podemos hacer una de dos cosas
para arrancar el instalador:
engañar al instalador para que piense que esta en Red-Hat
(la ^D es Ctrl+D)
cat > /etc/redhat-release Red Hat Linux release 2.1 (drupal) ^D
y luego ejecutar el instalador
./runInstaller
o simplemente, pedirle que ignore los
prerequisitos:
./runInstaller -ignoreSysPrereqs
Cuando te pida que ejecutes root.sh, haz esto
antes:
ln -s /etc /etc/rc.d
Pantallas de la instalación
Table 2. Instalación
| Pantalla | Acción |
|---|---|
| Bienvenido | Pulsa . |
| Especificar Ubicación de los Archivos | Yo usé los valores
Pulsa |
| Seleccionar tipo de Tipo de Instalación | Selecciona Standard Edition o Enterprise Edition. Yo seleccione la primera. Pulsa . |
| Seleccionar Configuración de Base de Datos | Yo seleccione "Uso General". Pulsa . |
| Especificar Opciones de Configuración de Base de Datos |
Valores:
En /etc/hosts tengo |
| Seleccionar Opción de Gestión de Base de Datos |
Pulsa . |
| Especificar Opción de Almacenamiento de Archivo de Base de Datos |
Yo seleccioné "Sistema de Archivos" con /u02/oradata como directorio de almacenamiento de las bases de datos. Pulsa . |
| Especificar Opciones de Copia de Seguridad y Recuperación |
No Activar Copias de Seguridad Automáticas. Pulsa . |
| Especificar Contraseñas de Esquema de Base de Datos |
Aqui nos pide contraseña para las cuentas SYS, SYSTEM, SYSMAN, DBSNMP. Yo escogí "secreto" como contraseña única. Pulsa . |
| Resumen | Pulsa . |
| Asistente de Configuración de Base de Datos | Cuando el aistente finaliza muestra la siguiente información:
También nos indica que todas las cuentas |
| Privilegios de Configuración | Nos pide que ejecutemos un script como root. Lo hacemos. Aceptamos los valores por defecto. En mi caso el script termina tras diez minutos esperando a conectarse con el demonio "Cluster Ready Service". Ignoro este error, vuelvo al instalador, y pulso . |
| Fin de Instalación | El instalador termina mostrando las URLs de varias herramientas. Anoto dichas URLs y pulso . |
Mensajes de consola al ejecutar root.sh:
debian:/u01/app/oracle/product/10.1.0/db_1# ./root.sh
Running Oracle10 root.sh script...
\nThe following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/10.1.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Adding entry to /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Oracle Cluster Registry for cluster has been initialized
Adding to inittab
Checking the status of Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
Giving up: Oracle CSS stack appears NOT to be running.
Oracle CSS service would not start as installed
Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started
Mensaje de fin de instalación:
Se han desplegado las siguientes aplicaciones J2EE y se puede acceder a ellas en las siguientes direcciones URL. URL de Ultra Search: http://debian.elpiso:5620/ultrasearch URL de Herramienta de Administración de Ultra Search: http://debian.elpiso:5620/ultrasearch/admin URL de iSQL*Plus: http://debian.elpiso:5560/isqlplus URL de Enterprise Manager 10g Database Control: http://debian.elpiso:5500/em
Usuarios:
DBSNMP
SYS. Es el único usuario con acceso al esquema SYS, que
guarda las tablas y vistas para el diccionario de datos de la
base de datos. Solo se usa para cambiar los parametros de
almacenamiento del diccionario de datos. Este usuario se crea
automaticamente al crear una base de datos y tiene rol
DBA.
SYSMAN
SYSTEM. Solo se usa para crear tablas y vistas con
información realtiva a la administración de la base de datos.
Este usuario se crea automaticamente al crear una base de datos
y tiene rol DBA.
Roles
SYSDBA. Puede conectarse como usuario SYS. Tiene los
siguientes privilegios especiales:
Perform STARTUP and SHUTDOWN operations
ALTER DATABASE: open, mount, back up, or change
character set
CREATE DATABASE
DROP DATABASE
CREATE SPFILE
ALTER DATABASE ARCHIVELOG
ALTER DATABASE RECOVER
Includes the RESTRICTED SESSION privilege
SYSOPER. Permite tareas administrativas sin acceso a los
datos de usuario. Tiene los siguientes privilegios
especiales:
Perform STARTUP and SHUTDOWN operations
CREATE SPFILE
ALTER DATABASE OPEN/MOUNT/BACKUP
ALTER DATABASE ARCHIVELOG
ALTER DATABASE RECOVER (Complete recovery only. Any
form of incomplete recovery, such as UNTIL
TIME|CHANGE|CANCEL|CONTROLFILE requires connecting as
SYSDBA.)
Includes the RESTRICTED SESSION privilege.
Compruebo que servicios estan a la escucha:
debian:~# netstat -l| grep "5500\|5560\|5620" tcp 0 0 *:5560 *:* LISTEN tcp 0 0 *:5500 *:* LISTEN
La base de datos y el proceso Oracle Net listener estan
ejecutandose.
Oracle
Enterprise Manager Database Control y iSQL*Plus estan
ejecutandose y son accesible con un navegador.
Table 3. Servicios
| Puerto | Servicio | Comando |
|---|---|---|
| 1521 | Listener. | $ORACLE_HOME/bin/tnslsnr |
| 5560 | iSQL*Plus | |
| 5500 | Oracle Database Control corriendo como aplicación web de OC4J. |
$ORACLE_HOME/jdk/bin/java |
Los siguientes son procesos de Oracle que aparecen tras la
instalación. Podemos verlos con ps -efH.
Consola para trabajar con PL/SQL. Disponible como
aplicación web en http://debian.elpiso:5560/isqlplus.
Teniendo en cuenta la URL, debería haber un puerto a la escucha
en 5560:
netstat -l | grep 5560
Reinicia automaticamente el Oracle Management Agent.
Comprobamos que esta en ejecución con
ps -ef | grep emwd
El Database Control es una aplicación Web que podemos usar
para administrar una base de datos Oracle. Conecto en la URL
http://debian.elpiso:5500/em
usando usuario SYS y role SYSDBA. El password es el que
especificamos durante la instalación. Teniendo en cuenta la URL,
debería haber un puerto a la escucha en 5500:
netstat -l | grep 5500
The Oracle Management Agent is responsible for monitoring
all targets on the host, for communicating that information to
the middle-tier Management Service, and for managing and
maintaining the host and the products installed on the host.
Comprobamos que esta en ejecución con
ps -efH | grep emagent
Yo no lo uso, asi que le hice un kill al emwd y al emagent
(por ese orden).
The listener is down: listener "LISTENER" is not running using
/u01/app/oracle/product/10.1.0/db_1/network/admin/listener.ora
Para conectarte a SQL*PLUS haz esto:
oracle@debian:/u01$ sqlplus /nolog SQL*Plus: Release 10.1.0.2.0 - Production on Dom Jul 4 19:41:32 2004 Copyright (c) 1982, 2004, Oracle. All rights reserved. SQL> CONNECT SYS/secreto AS SYSDBA Conectado.
Si aparece un mensaje
ORA-12705: invalid or unknown NLS parameter value specified
ejecuta
unset ORA_NLS10
Oracle Net es un componente de Net Services que permite la
conexión de clientes a la base de datos. Net Services se conocía
anteriormente como Net8, y antes como SQL*Net.
En UNIX, Oracle busca el fichero tnsnames.ora
en los sitios siguientes:
$ORACLE_HOME/network/admin
/var/opt/oracle
Un directorio apuntado por la variable
TNS_ADMIN. Cuando hay varios usuarios usando un
mismo fichero tnsnames, lo más comodo es que apunten la variable
TNS_ADMIN a un directorio compartido.
Cuando conectamos usando usuario/password@SID, oracle sigue estos
pasos:
Lee el valor de NAMES.DEFAULT_DOMAIN en el fichero
sqlnet.ora, y se lo añade al SID de la base
de datos. Si el SID es test, y el valor leído es debian, la cadena
resultante es "test.debian".
Resuelve la cadena anterior en el fichero
tnsnames.ora.
Si conectamos usando usuario/password@SID.dominio, oracle no lee
el fichero sqlnet.ora. Va directamente al fichero
tnsnames.ora.
Un ejemplo de sqlnet.ora:
NAMES.DEFAULT_DOMAIN = debian # autentificacion en windows # SQLNET.AUTHENTICATION_SERVICES= (NTS) # prioridad de resolucion de nombres NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
Un ejemplo de tnsnames.ora:
EXTPROC_CONNECTION_DATA.DEBIAN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = IPC)
(KEY = EXTPROC1)
)
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
TEST.DEBIAN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.1.36)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TEST)
)
)
El listener usa el fichero listener.ora, que también debe estar en
el directorio apuntado por TNS_ADMIN. Este es un ejemplo del contenido
del fichero:
# LISTENER is the name of the listener
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = IPC)
(KEY = EXTPROC0)
)
)
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 192.168.1.36)
(PORT = 1521)
)
)
)
)
# SID list of the listener LISTENER
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = test.debian)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(SID_NAME = test)
)
)
# directorio de log para el listener LISTENER
LOG_DIRECTORY_LISTENER = /home/oracle/config
Si has cambiado la variable TNS_ADMIN, quiza
quieras reiniciar el Listener:
lsnrctl stop lsnrctl start
Para comprobar que el listener funciona usa
tnsping:
oracle@debian:~$ tnsping test.debian TNS Ping Utility for Linux: Version 10.1.0.2.0 - Production on 04-JUL-2004 22:15:20 Copyright (c) 1997, 2003, Oracle. All rights reserved. Archivos de parámetros utilizados: /home/oracle/config/sqlnet.ora Adaptador TNSNAMES utilizado para resolver el alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.36) (PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = TEST))) Realizado correctamente (0 mseg)
Para probar los anteriores ficheros, o configurar otros desde
cero podemos usar el Asistente de Configuración:
netca
Escoge "Local Net Service Name configuration" para probar el
tnsnames.ora. Un error común:
Connecting...ORA-12514: TNS:el listener no conoce actualmente el servicio solicitado en el descriptor de conexi�n
O en inglés
Connecting...ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor
Edita /etc/oratab para indicar que bases de
datos deben arrancar con el sistema. Aqui solo arranco la base de datos
test asi que todo el contenido de mi fichero es este:
*:/u01/app/oracle/product/10.1.0/db_1:N test:/u01/app/oracle/product/10.1.0/db_1:Y
Crea el script de arranque en
/etc/init.d/oracle con este
contenido:
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/u01/app/oracle/product/10.1.0/db_1"
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
# start TNS listener
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
# start database
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
# stop TNS listener
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
# stop database
su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
Hazlo ejecutable
chmod 755 oracle
Añadelo a los niveles de ejecución
ln -s /etc/init.d/oracle /etc/rc.d/rc2.d/S99oracle ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle ln -s /etc/init.d/oracle /etc/rc.d/rc4.d/S99oracle ln -s /etc/init.d/oracle /etc/rc.d/rc0.d/K01oracle ln -s /etc/init.d/oracle /etc/rc.d/rc6.d/K01oracle
El fichero listener.ora es la configuración
para el SQL*Net Listener. Como valor del campo HOST, ebes poner la IP
del equipo, no el hostname de la máquina. La ruta a este fichero es
/u01/app/oracle/product/10.1.0/db_1/network/admin/listener.ora.
Ahora ya deberiamos poder ejecutar o parar oracle con
wajig:
wajig start oracle wajig stop oracle
Veras algo como esto:
debian:/etc/init.d# wajig start oracle Starting Oracle: LSNRCTL for Linux: Version 10.1.0.2.0 - Production on 26-JUN-2004 13:18:52 Copyright (c) 1991, 2004, Oracle. All rights reserved. Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS TNS-00515: Message 515 not found; No message file for product=network, facility=TNS Linux Error: 2: No such file or directory SQL*Plus: Release 10.1.0.2.0 - Production on Sat Jun 26 13:18:55 2004 Copyright (c) 1982, 2004, Oracle. All rights reserved. SQL> Connected to an idle instance. SQL> ORACLE instance started. Total System Global Area 188743680 bytes Fixed Size 778036 bytes Variable Size 162537676 bytes Database Buffers 25165824 bytes Redo Buffers 262144 bytes Database mounted. Database opened. SQL> Disconnected from Oracle Database 10g Release 10.1.0.2.0 - Production Database "test" warm started. touch: cannot touch `/var/lock/subsys/oracle': No such file or directory OK
Si queremos hacerlo manual, arrancamos el listener
TNS:
lsnrctl start
Para ver si el
listener se está ejecutando podemos hacer ps -ef | grep
lsnr, o netstat -a | grep 1521.
En el enlace de Novell Documentacion Oracle sobre SUSE se puede acceder a una serie de documentos de ayuda en formato PDF para realizar instalaciones de diferentes versiones de Oracle sobre otras tantas de SUSE Linux. Recordemos que SLES (SUSE Linux Enterprise Server) es una de las distribuciones Linux que está certificada por Oracle.
La información es completa y fiable, al provenir de una fuente oficial, y la mayoría de documentos se estructuran como guias del tipo 'paso a paso', con impresiones de pantalla para cada etapa.
Si se quiere instalar, por ejemplo, la última versión de la base de datos Oracle sobre la última de SLES sólo hay que ir siguiendo las indicaciones del documento de Instalacion de Oracle 10g release 2 sobre SUSE Linux Enterprise Server 10.
Por supuesto, al ser documentación de Novell, está todo en inglés.
desde python me intento conectar a Oracle de manera remota con la cadena de conexion conexion=cx_Oracle.connect("usuario/contraseña@host") y me sale el siguiente error ORA-12514 el listener no ha podido resolver el SERVICE_NAME del descriptor de conexion espero pronta respuesta a la posible solucion
gracias