Oracle Oracolo Database 11g Release 2 is not certified to run on Database 11g Release 2 non è certificato per funzionare su Fedora Fedora 13 (Goddard) but I wanted to use it to debug a problem with a particular application which used this database. 13 (Goddard), ma ho voluto utilizzarlo per eseguire il debug di un problema con una particolare applicazione che ha utilizzato questa banca dati. I checked on the Internet for details about how to install this version of the Oracle database on Fedora 13 but did not come across comprehensive instructions. Ho controllato su Internet per i dettagli su come installare questa versione del database Oracle su Fedora 13, ma non ha incontrato le istruzioni complete. I therefore decided to write this post as a guide for others who may also wish to install this database on Fedora 13. Ho quindi deciso di scrivere questo post come una guida per gli altri che possono voler installare il database su Fedora 13.
First of all you need to add a number of kernel parameters to /etc/sysctl.conf if they do not already exist in this file or have values less then what is shown here. Prima di tutto è necessario aggiungere una serie di parametri del kernel in / etc / sysctl.conf se non esistono già in questo file o hanno valori di meno di ciò che viene mostrato qui. These are minimum required values by the way; they can be higher. Questi sono valori minimi richiesti per il modo, possono essere più elevati.
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586
Compared to Rispetto alla Sybase ASE Sybase ASE which only requires kernel.shmmax , an Oracle database requires significantly more kernel parameter tweeking. che richiede solo kernel.shmmax, un database di Oracle richiede molto più tweeking parametro del kernel.
The current value of a kernel parameter can be displayed using the following command: Il valore corrente del parametro del kernel possono essere visualizzate utilizzando il seguente comando:
# /sbin/sysctl -a | grep
If you do not want to reboot your system, just execute the following command to update the kernel with the new parameters: Se non si desidera riavviare il sistema, basta eseguire il seguente comando per aggiornare il kernel con i nuovi parametri:
# /sbin/sysctl -p
You need to install a number of software packages on your system if the packages are not already installed. È necessario installare un certo numero di pacchetti software sul proprio sistema se i pacchetti non sono già installati. If you have installed the Development Tools package group, the majority of the necessary packages will already be installed. Se avete installato il pacchetto Strumenti di sviluppo del gruppo, la maggior parte dei pacchetti necessari saranno già installati. Install the Development Tools package group and the following packages if not already installed: Installare gli strumenti pacchetto di sviluppo di gruppo e seguenti pacchetti se non è già installato:
- binutils binutils
- libaio, libaio-devel Libaio, Libaio-devel
- ksh KSH
- sysstat Sysstat
- unixODBC, unixODBC-devel unixODBC, unixODBC-devel
- compat-libstdc++-33 compat-libstdc + + -33
Next, you need to modify PAM (Plugable Authentication Module) to increase session limits for the oracle user which we will create later on. Quindi, è necessario modificare PAM (Plugable Authentication Module) per aumentare i limiti di sessione per l'utente oracle che creeremo in seguito. Add the following line to /etc/pam.d/login if it does not already exist: Aggiungere la seguente riga a / etc / pam.d / login, se non esiste già:
session required pam_limits.so
and add the following lines to /etc/security/limits.conf : e aggiungere le seguenti righe al file / etc / security / limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Note that this file may not currently exist on your system. Si noti che questo file non esiste attualmente sul proprio sistema. You may have to create it. Potrebbe essere necessario crearla.
Now create a number of new users and groups as follows: Ora creare un certo numero di nuovi utenti e gruppi come segue:
groupadd oinstall groupadd dba groupadd oper groupadd asmadmin useradd -g oinstall -G dba,oper,asmadmin oracle
and set a password for the new oracle user. e impostare una password per l'utente oracle nuovo.
You must disable Secure Linux (SELINUX) while installing the database. È necessario disattivare Secure Linux (SELinux) durante l'installazione del database. Edit /etc/selinux/config as follows: Modificare / etc / selinux / config come segue:
SELINUX=disabled
and execute setenforce off . ed eseguire setenforce off.
Edit the /etc/redhat-release file replacing the current release information – Fedora release 13 (Goodwin) – with the following: Modificare il file / etc / redhat-release file sostituendo il rilascio informazioni correnti - versione di Fedora 13 (Goodwin) - con il seguente:
redhat release 5
You must create the directories in which the Oracle database software will be installed. È necessario creare le directory in cui il software di database Oracle verrà installato. In our example, the directory is /app/oracle and the SID is dbhome_1 . Nel nostro esempio, la directory è / app / oracle e il SID è dbhome_1.
mkdir -p /app/oracle/product/11.2.0/dbhome_1 chown -R oracle:oinstall /app chmod -R 775 /app
The remaining steps require that you are logged in as oracle . I passaggi rimanenti richiedono che si è loggati come oracolo. As user oracle , download Oracle Database 11g R2 from Come utente oracolo, il download di Oracle Database 11g R2 da Oracle Oracolo and place the two files you downloaded into the same subdirectory. e posizionare i due file scaricati nella stessa sottocartella. I placed them in ~oracle/tmp but you are free to choose any subdirectory. Li ho messi in oracle ~ / tmp, ma si è liberi di scegliere qualsiasi sottodirectory. Then unzip both files. Poi decomprimere entrambi i file.
# unzip linux.x64_11gR2_database_1of2.zip # unzip linux.x64_11gR2_database_2of2.zip # ls -d */ database/ #
A single subdirectory called database is created. singolo chiamato sottodirectory database A è stato creato. This subdirectory contains the unzipped files. Questa sottodirectory contiene i file decompressi.
Assuming that the user oracle is using the bash shell, add the following lines to the oracle user's .bash_profile file, changing ORACLE_HOSTNAME , ORACLE_HOME , etc. as required to suit your particular requirements: Supponendo che l'oracolo utente sta utilizzando la shell bash, aggiungere le seguenti righe per l'utente di Oracle. Bash_profile file cambiando ORACLE_HOSTNAME, ORACLE_HOME, ecc come richiesto in base alle proprie particolari esigenze:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=ultra.xfpmurphy.com; export ORACLE_HOSTNAME
ORACLE_UNQNAME=dbhome_1; export ORACLE_UNQNAME
ORACLE_BASE=/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=dbhome_1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
If you are using a different shell, you will need to set up these enviromental variables and limits using the appropriate shell syntax and shell initialization file. Se si sta utilizzando una shell diversa, è necessario impostare queste variabili ambientali e limiti utilizzando la sintassi appropriata shell e file di inizializzazione della shell. You may also need to set the NLS_LANG environmental variable to match your country, language and desired character set, eg germany_germany.we8iso8859p1 . Potrebbe anche essere necessario impostare la variabile ambientale NLS_LANG per abbinare il vostro paese, la lingua desiderata e il set di caratteri, ad es germany_germany.we8iso8859p1.
Oracle databases are installed using the Oracle Universal Installer (OUI) which is GUI-based and uses the X Window system. database Oracle sono installati utilizzando il Oracle Universal Installer (OUI) che è basato su GUI e utilizza il sistema X Window. There is no equivalent command line installer. Non esiste un equivalente di installazione della riga di comando. You may need to set the your DISPLAY environmental variable and use the xhost utility to configure server access. Potrebbe essere necessario impostare la variabile DISPLAY tuo ambientale e utilizzare l'xhost utilità per configurare l'accesso al server. Start OUI by issuing the runInstaller command in the ~oracle/tmp/database directory. OUI Inizia inviando il comando runInstaller nel oracolo ~ / tmp / directory del database.
If OUI cannot determine your IP address because it is not in /etc/hosts then you will get the following error: OUI Se non è possibile determinare il vostro indirizzo IP, perché non è in / etc / hosts allora otterrete il seguente errore:
[INS-06101] IP address of localhost could not be determined
If you see an error message similar to one of the following: “Failed to connect to server”, “Connection refused by server” or “Can't open display”, then you have a problem with X Windows, either with permissions or the DISPLAY variable. Se viene visualizzato un messaggio di errore analogo a uno dei seguenti: "Impossibile connettersi a" server "di connessione, rifiutata dal server" or "Impossibile aprire il" display, allora hai un problema con X Windows, either with the permissions o DISPLAY variabile. I am going to assume you know how to fix such problems. Ho intenzione di assumere a sapere come risolvere tali problemi.
After answering a few basic questions, you should see the following Typical Install Configuration screen: Dopo aver risposto ad alcune domande di base, si dovrebbe vedere la tipica schermata di installazione seguente configurazione:

Check the settings carefully before proceeding further. Controllare le impostazioni attentamente prima di procedere ulteriormente.
Next OUI checks that the installed software development and runtime packages are correct: Avanti controlli OUI che lo sviluppo software e pacchetti runtime siano corrette:

Fedora 13 will fail all these checks. Fedora 13 non andrà a buon insieme di tali controlli. Just tick the check box Ignore All on the top right hand to ignore these errors. Basta spuntare la casella di controllo Ignora tutto sulla destra in alto a ignorare questi errori. So long as you have the latest version of each of these packages installed, all will be fine. Finché hai l'ultima versione di ciascuno di questi pacchetti installati, tutti andrà bene. Note that you do not need to install pdksh (Public Domain Korn Shell) if you have ksh installed. Si noti che non è necessario installare pdksh (Public Domain Korn Shell) se avete installato ksh.
During the installation, OUI will popup a dialog window advising you that an error has occurred with ins_emagent.mk . Durante l'installazione, OUI farà comparire una finestra di dialogo avvertendo che un errore si è verificato con ins_emagent.mk. See below: Vedi sotto:

This error is due to a change in the GCC linker in Fedora 13. Questo errore è dovuto a una modifica del linker GCC in Fedora 13. The announcement is L'annuncio è here qui . . The fix is to edit $ORACLE_HOME/sysman/lib/ins_emagent.mk , search for the line $(MK_EMAGENT_NMECTL) and replace the line with $(MK_EMAGENT_NMECTL) -lnnz11 as shown above. La correzione è da modificare $ ORACLE_HOME / Sysman / lib / ins_emagent.mk, cercare la linea di $ (MK_EMAGENT_NMECTL) e sostituire la riga con $ (MK_EMAGENT_NMECTL)-lnnz11 come indicato sopra.
After saving the changed file, select the Retry option, and the install should successfully continue. Dopo aver salvato il file modificato, selezionare l'opzione Riprova e l'installazione dovrebbe continuare con successo. Eventually you should see the Database Configuration Assistant screen as shown below: Alla fine si dovrebbe vedere il Database Configuration Assistant schermo come illustrato di seguito:

Do not ignore the Password Management button; press it and change the passwords for SYS and SYSTEM . Non ignorare il pulsante Gestione Password; premere e cambiare la password per SYS e SYSTEM.
You are now ready to do a basic smoketest of the installed database software. Ora siete pronti per fare un smoketest di base del software di database installati.
$ id uid=502(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper),504(asmadmin) $ cd $ORACLE_HOME $ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 06-AUG-2010 20:47:56 Copyright (c) 1991, 2009, Oracle. All rights reserved. Starting /app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 11.2.0.1.0 - Production System parameter file is /app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora Log messages written to /app/oracle/diag/tnslsnr/ultra/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ultra.xxxxxxxxxx.com)(PORT=1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 06-AUG-2010 20:47:58 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora Listener Log File /app/oracle/diag/tnslsnr/ultra/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ultra.xxxxxxxxxx.com)(PORT=1521))) The listener supports no services The command completed successfully $ $ emctl start dbconsole Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved. https://ultra.xxxxxxxxxxx.com:1158/em/console/aboutApplication Starting Oracle Enterprise Manager 11g Database Control ...... started. ------------------------------------------------------------------ Logs are generated in directory /app/oracle/product/11.2.0/dbhome_1/ultra.xxxxxxxxxx.com_orcl/sysman/log $ $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 6 20:50:12 2010 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 839282688 bytes Fixed Size 2217992 bytes Variable Size 524290040 bytes Database Buffers 306184192 bytes Redo Buffers 6590464 bytes Database mounted. Database opened. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options $
If you have got this far with your installation of Oracle 11g, all is well. Se si è arrivati fin qui con l'installazione di Oracle 11g, va tutto bene. The core Oracle 11g database software is installed and working. Il nucleo del software per database Oracle 11g è installato e funzionante. You may have some tweaking to do for your particular requirements but that is outside the scope of this post. Si può avere qualche ritocco da fare per le vostre particolari esigenze, ma che è al di fuori di questo post. Note the listener supports no services message; we will address this shortly. Nota: l'ascoltatore non supporta i servizi di messaggeria, ci affronterà questo breve.
First, as root , we need to fix up a couple of files. In primo luogo, come root, dobbiamo sistemare un paio di file. Edit the /etc/oratab file setting the restart flag for each instance to Y : Modificare il file / etc / oratab file impostando il riavvio bandiera per ogni istanza di Y:
DB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Edit the /etc/redhat-release file to restore the original release information: Modificare il file / etc / redhat-release file per ripristinare la versione originale di informazioni:
Fedora release 13 (Goodwin)
At this stage you should be able to invoke the Oracle sqldeveloper GUI by invoking $ORACLE_HOMEsqldeveloper/sqldeveloper/bin/sqldeveloper . A questo punto dovreste essere in grado di avviare la GUI sqldeveloper Oracle invocando $ ORACLE_HOMEsqldeveloper / sqldeveloper / bin / sqldeveloper. Once you have configured a valid connection, you should see a screen similar to this: Dopo aver configurato una connessione valida, si dovrebbe vedere una schermata simile a questa:

If you configure listener.ora you can also access the Oracle Enterprise Console via the Web as shown here: Se si configura listener.ora è anche possibile accedere alla Oracle Enterprise Console tramite il Web, come illustrato di seguito:

Here is what is in my listener.ora : Ecco ciò che è nel mio listener.ora:
$ cat $ORACLE_HOME/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ultra.xfpmurphy.com)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DBHOME)
(ORACLE_HOME = /app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = orcl)
)
)
ADR_BASE_FPM = /app/oracle
$
You will obviously have to use different values for HOST and possibly SID_NAME , ORACLE_HOME and GLOBAL_DBNAME . Sarà ovviamente necessario utilizzare valori diversi per HOST e possibilmente SID_NAME, ORACLE_HOME e GLOBAL_DBNAME.
To automatically start and shop the Oracle database during system startup and shutdown you need to place an appropriate script in the /etc/rc.d/init.d directory and symbolically link it to the appropriate rc directories. Per avviare automaticamente il database e un negozio di Oracle durante l'avvio del sistema e lo spegnimento è necessario inserire uno script appropriato in / etc / rc.d / init.d e simbolicamente link alla rc directory appropriate. Here is a script to start or stop the Oracle database using dbinit : Ecco uno script per avviare o arrestare il database Oracle utilizzando dbinit:
#!/bin/bash
#
# init file for starting and stopping Oracle 11g database using dbstart/dbstop
#
# chkconfig: 35 80 30
# description: Oracle database startup and shutdown script
#
. /etc/rc.d/init.d/functions
ORACLE_BASE=/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=dbhome_1
case "$1" in
start)
echo -n $"Starting Oracle DB:"
su - oracle -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle DB:"
su - oracle -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac
and here is an alternative script to start and stop the Oracle database using Oracle Enterprise Manager Database Control: ed ecco una scrittura alternativa per avviare e arrestare il database Oracle utilizzando Oracle Enterprise Manager Database Control:
#!/bin/bash
#
# init file for starting and stopping Oracle 11g database using emctl
#
# chkconfig: 35 80 30
# description: Oracle database startup and shutdown script using Enterprise manager console
#
. /etc/rc.d/init.d/functions
ORACLE_BASE=/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=dbhome_1
case "$1" in
start)
echo -n $"Starting Oracle Enterprise Manager Database Console:"
su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle Enterprise Manager Database Console:"
su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac
I assume that you know how to install a new init script so I am not going to describe the process here. Suppongo che lei sa come installare un nuovo script di init, quindi non ho intenzione di descrivere il processo qui.
Please let me know if I left out anything important that you feel would of been of help to you in installing Oracle 11g on Fedora 13 and I will add it to this post. Per favore fatemi sapere se ho lasciato fuori qualcosa di importante che ti senti di stato sarebbe di aiuto a voi per l'installazione di Oracle 11g su Fedora 13 e lo aggiungerò a questo post.























Hi Finnbarr Ciao Finnbarr
Very helpful description. Molto utile descrizione. Thanks a lot. Grazie molto. Sole problem I had, was the SID, which was not consistent in your description. Unico problema che avevo, era il SID, che non era coerente nella tua descrizione. Would be helpful to use orcl only. Potrebbe essere utile usare ORCL solo.
And a another small problem I had was E un altro piccolo problema che ho avuto era
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXRTPROC1521))) Errore in ascolto: (descrizione = (ADDRESS = (PROTOCOL = IPC) (KEY = EXRTPROC1521)))
TNS-12555: TNS:permission denied TNS-12555: TNS: autorizzazione negata
TNS-12560: TNS:protocol adapter error TNS-12560: TNS: errore dell'adattatore del protocollo
TNS-00525: Insufficient privilege for operation TNS-00525: privilegi insufficienti per il funzionamento
Linux Error: 1: Operation not permitted Linux Errore: 1: Operation not permitted
Could solve this using this post: http://forums.oracle.com/forums/thread.jspa?threadID=931431, by replacing the KEY to EXRTPROC0 Potrebbe risolvere questo utilizzando questo post: http://forums.oracle.com/forums/thread.jspa?threadID=931431, sostituendo la CHIAVE per EXRTPROC0
Final wish: Maybe, you can also describe how to install a new init script. Finale desiderio: forse, si può anche descrivere come installare un nuovo script di init. Then, your tutorial is complete in all terms :-) Poi, il tuo tutorial è completo in tutti i termini :-)