web-dev-qa-db-fra.com

Problèmes d'installation d'Oracle Database Express Edition 11g

J'essaie d'installer Oracle Database dans (X) Ubuntu 13.04 64-bit en utilisant ce guide . Tout s'est bien passé jusqu'à l'étape suivante:

$ Sudo /etc/init.d/Oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 11g Express 
Edition.  The following questions will determine whether the database should 
be starting upon system boot, the ports it will use, and the passwords that 
will be used for database accounts.  Press <Enter> to accept the defaults. 
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Specify a port that will be used for the database listener [1521]:

Specify a password to be used for database accounts.  Note that the same
password will be used for SYS and SYSTEM.  Oracle recommends the use of 
different passwords for each database account.  This can be done after 
initial configuration:
Confirm the password:

Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:

Starting Oracle Net Listener...Done
Configuring database...
Database Configuration failed.  Look into /u01/app/Oracle/product/11.2.0/xe/config/log for details

Les fichiers journaux affichent la sortie suivante:

:/u01/app/Oracle/product/11.2.0/xe/config/log$ for l in *.log
> do
> echo $l
> cat $l
> done
cloneDBCreation.log
Create controlfile reuse set database "XE"
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


BEGIN dbms_backup_restore.zerodbid(0); END;

*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


ORA-01034: Oracle not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
ORA-00845: MEMORY_TARGET not supported on this system
Create controlfile reuse set database "XE"
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter system enable restricted session
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter database "XE" open resetlogs
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter database rename global_name to "XE"
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter system switch logfile
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter system checkpoint
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter database drop logfile group 3
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/Oracle/oradata/XE/temp.dbf' SIZE 20480K REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


select tablespace_name from dba_tablespaces where tablespace_name='USERS'
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


select sid, program, serial#, username from v$session
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter user sys identified by "Oracle"
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter user system identified by "Oracle"
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


alter system disable restricted session
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


CloneRmanRestore.log
ORA-00845: MEMORY_TARGET not supported on this system
select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


declare
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


select TO_CHAR(systimestamp,'YYYYMMDD HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


postDBCreation.log
begin
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 



File created.

ORA-01034: Oracle not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
ORA-00845: MEMORY_TARGET not supported on this system
select 'utl_recomp_begin: ' || to_char(sysdate, 'HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


BEGIN utl_recomp.recomp_serial(); END;

*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


select 'utl_recomp_end: ' || to_char(sysdate, 'HH:MI:SS') from dual
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


postScripts.log
CREATE OR REPLACE LIBRARY dbms_sumadv_lib AS '/u01/app/Oracle/product/11.2.0/xe/lib/libqsmashr.so';
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


BEGIN dbms_datapump_utl.replace_default_dir; END;

*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


commit
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


create or replace directory XMLDIR as '/u01/app/Oracle/product/11.2.0/xe/rdbms/xml'
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


DROP DIRECTORY Oracle_OCM_CONFIG_DIR
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


DROP DIRECTORY ADMIN_DIR
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


DROP DIRECTORY WORK_DIR
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


BEGIN dbms_swrf_internal.cleanup_database(cleanup_local => FALSE); END;

*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 


commit
*
ERROR at line 1:
ORA-01034: Oracle not available 
Process ID: 0 
Session ID: 0 Serial number: 0 

Qu'est-ce que je fais mal?

13
Remco Haszing

J'étais dans le même bateau, essayant de configurer XE sur une machine virtuelle ( openSUSE 13.01 64 bits).

La solution dans mon cas était le nom d'hôte manquant dans /etc/hosts. Vous pouvez examiner les erreurs dans /u01/app/Oracle/product/11.2.0/xe/config/log/CloneRmanRestore.log au tout début (le chemin d'accès dépend de votre version de XE).

Rechercher une information similaire à: ORA-00119: invalid specification for system parameter LOCAL_LISTENER ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(Host=linux-cn65.site)(PORT=1521))

So linux-cn65.site (l'hôte VM) était manquant. Ajoutez votre hôte dans/etc/hosts (en tant que root):

127.0.0.1 linux-cn65.site <- votre hôte ici

et relancez la configuration (en tant que root): sh /etc/init.d/Oracle-xe configure

Tromperie supplémentaire

  • si vous n'avez pas les fichiers d'erreur dans le dossier de log, vous pouvez ré-installer XE sanshflag, comme ceci:

    • pour trouver votre paquet: Sudo rpm -qa | grep -i Oracle
    • pour l'enlever: Sudo rpm -e Oracle-xe-11.2.0-1.0.x86_64 <- votre paquet ici
  • installer à nouveau sans h drapeau: Sudo rpm -iv Oracle-xe-11.2.0-1.0.x86_64.rpm

oh, remplacez la version (Oracle-xe-11.2.0-1.0.x86_64.rpm) par la vôtre. À votre santé ;)

28
kodeart
nano /etc/init.d/Oracle-shm

ajouter du texte

#! /bin/sh 
# /etc/init.d/Oracle-shm 
# 
case "$1" in 
start) 
echo "Starting script /etc/init.d/Oracle-shm" 
# Run only once at system startup  
if [ -e /dev/shm/.Oracle-shm ]; then 
echo "/dev/shm is already mounted, nothing to do" 
else 
rm -f /dev/shm 
mkdir /dev/shm 
mount --move /run/shm /dev/shm 
mount -B /dev/shm /run/shm 
touch /dev/shm/.Oracle-shm 
fi 
;; 
stop) 
echo "Stopping script /etc/init.d/Oracle-shm" 
echo "Nothing to do" 
;; 
*) 
echo "Usage: /etc/init.d/Oracle-shm {start|stop}" 
exit 1 
;; 
esac 
# 
### BEGIN INIT INFO 
# Provides: Oracle-shm 
# Required-Start: $remote_fs $syslog 
# Required-Stop: $remote_fs $syslog 
# Default-Start: 2 3 4 5 
# Default-Stop: 0 1 6 
# Short-Description: Bind /run/shm to /dev/shm at system startup. 
# Description: Fix to allow Oracle 11g use AMM. 
### END INIT INFO

rendre le fichier exécutable 

chmod 755 /etc/init.d/Oracle-shm
/etc/init.d/Oracle-shm start

A ce stade, redémarrez, puis vérifiez

df -kh /dev/shm

continuer ensuite à émuler chkconfig et continuer avec le reste de la configuration et installer

dpkg -i Oracle-xe-11.2.0-1.0.x86_64.deb

Vérifiez les variables d'environnement et Oracle_HOME et démarrez la base de données

8
Laurent B

Vérifiez votre fichier/etc/hosts. Cela devrait ressembler à 

127.0.0.1 localhost.localdomain localhost hostname.domain hostname

http://blog.christian-stankowic.de/?p=5276&lang=en

2
davioncheg

J'ai eu du mal avec ça aussi. J'ai essayé plusieurs solutions différentes, mais le problème persiste. Je l'ai "corrigé" en supprimant memory_target de la configuration de la base de données:

sqlplus / as sysdba
create pfile=‘<path>’ from spfile 
!vi <path>

Ajoutez # devant la ligne avec memory_Target, enregistrez et fermez le fichier. 

startup from pfile=‘<path>'
create spfile from pfile=‘<path>’

Cette solution fonctionne bien avec ma base de données XE, j'espère que cela aidera. 

2
Marius

J'ai eu ce problème avec Ubuntu 14.04. Le problème est apparu à Oracle-XE, qui attendait un espace suffisant dans/dev/shm, tandis que Ubuntu a changé pour utiliser/run/shm avec un lien symbolique à partir de/dev/shm. 

La solution qui a fonctionné pour moi a été de créer le fichier /etc/rc2.d/S01shm_load contenant:

#!/bin/sh
case "$1" in
start)
    mkdir /var/lock/subsys 2>/dev/null
    touch /var/lock/subsys/listener
    rm /dev/shm 2>/dev/null
    mkdir /dev/shm 2>/dev/null
    mount -t tmpfs shmfs -o size=2048m /dev/shm ;;
*)
    echo error
    exit 1
    ;;    
esac

Je l'ai eu de http://sysadminnotebook.blogspot.de/2012/10/installing-Oracle-11g-r2-express.html qui est similaire à beaucoup d'autres pages sur l'installation de XE mais qui était le seul Solution. 

PS. Les autorisations de fichier sont définies à 755, vous devrez donc exécuter:

Sudo chmod 755 /etc/rc2.d/S01shm_load

définir les autorisations sur ce fichier. 

2
Ken Riley

Ce lien semble avoir la réponse. Vous devez vous assurer que/dev/shm est monté sur votre système et lui attribuer une mémoire d'au moins MEMORY_TARGET.

Vous pouvez le faire en ajoutant ce qui suit à votre fstab et en redémarrant. (Cela définira la taille de/dev/shm sur 2 Go):

shmfs /dev/shm tmpfs size=2048m 0 0
1
antlersoft

Il faut d'abord installer plusieurs packages, ainsi que certains paramètres du noyau, qui doivent être modifiés avant de pouvoir démarrer la base de données. Consultez le guide d'installation Oracle pour Linux ou recherchez dans Google des guides spécifiques pour Oracle 11gR2 XE sur Ubuntu.

0
ELadner