restaurar - recuperar base de datos oracle desde archivos dbf
Detectando si está instalada una base de datos Oracle (5)
Busque el archivo / etc / oratab para hogares con oráculo. Estas casas tienen instalado el software de base de datos, así como el nombre de la base de datos de esa casa. Luego, puede verificar si la base de datos es sólida o no al iniciarla.
Me preguntaba si había una forma de saber si una instancia de Oracle en un sistema tiene una base de datos instalada o no.
Esto es para un script de instalación, y necesito verificar que haya una base de datos real en su lugar antes de continuar con la carga de mi propio espacio de tabla en esa base de datos. ¿Alguien ha abordado este problema antes?
Aclamaciones
Para Oracle 10g, en Windows:
- Verifica el registro:
- La clave
HKLM/SOFTWARE/ORACLE
debe existir. - Debe existir una subclave que:
- Tiene un nombre que comienza con
KEY_
(comoKEY_OraDb10g_home1
, la cadena final es un nombre de inicio de Oracle). - Tiene un valor cuyo nombre comienza con
ORA_
y termina con_AUTOSTART
. (comoORA_XE_AUTOSTART
, la cadena del medio es un nombre de instancia).
- Tiene un nombre que comienza con
- La clave
Tenga cuidado, instale un cliente Oracle (sin una instancia de base de datos entonces), crea entradas en el registro y puede establecer variables de entorno (como ORACLE_HOME
). Esta es la razón por la que el patrón anterior es un poco complicado.
Es muy probable que este patrón también funcione para Oracle 9i y posiblemente para Oracle 8i.
Podría usar tnsping
para verificar si el escucha de la base de datos está activo, eso sería una buena indicación. Aparte de eso, ¿por qué no simplemente hacer una conexión de prueba? Si es parte de un proceso de instalación, puede solicitar al usuario que ingrese las credenciales de conexión adecuadas si no sabe con anticipación.
Verifique la existencia de un ORACLE_HOME. También es razonable esperar que este entorno se configure para la instalación, por lo que probar las variables de entorno y salir con un diagnóstico razonable (posiblemente sugiriendo que se ejecuten oraenv) es un buen comienzo. Si tiene configurada una ORACLE_HOME, ORACLE_SID u otra variable de entorno adecuada, puede verificar la existencia de un oráculo y verificar la conectividad y los permisos de la base de datos.
No estoy seguro de Oracle, pero para MySQL y PostgreSql hago lo siguiente:
$yum grouplist | grep SQL
Esto devuelve:
MySQL Database client
MySQL Database server
PostgreSQL Database client
PostgreSQL Database server
Entonces supongo que deberías intentar:
$yum grouplist | grep Orac