Come installare Oracle 11g su Ubuntu Linux: guida completa
Oracle Database è un affidabile software di gestione database multipiattaforma sviluppato da Oracle Corporation. Offre una serie di vantaggi, tra cui elevate prestazioni, ampia funzionalità, supporto cluster, supporto PL/SQL ecc. Oracle Database (di seguito denominato Oracle in questo post del blog) può essere installato su Solaris, Windows e Linux. L’installazione su Windows è l’opzione più semplice, mentre l’installazione di Oracle su Solaris e Linux richiede una configurazione manuale pre-installazione. Per quanto riguarda le distribuzioni Linux, Oracle consiglia di installare Oracle Database su Red-Hat, Oracle Linux e SUSE Linux Enterprise Server.Tuttavia, è possibile installare Oracle anche su Ubuntu Linux e Open SUSE Linux. Ubuntu è una distribuzione Linux molto diffusa e ampiamente utilizzata in tutto il mondo. Il post di oggi fornisce istruzioni dettagliate su come installare Oracle Database su Ubuntu. In questo tutorial installeremo Oracle Database Enterprise Edition (EE) 11g R2 su Ubuntu.
Preparazione di Ubuntu Linux
In questo tutorial, un sistema appena installato Ubuntu 16.04.6 viene utilizzato. Il sistema operativo è stato installato sulla VM VMware senza abilitare l’opzione “Scarica gli aggiornamenti durante l’installazione di Ubuntu” e senza utilizzare il “Installare software di terze parti” durante l’implementazione del sistema operativo.Se non avete mai installato Oracle su Linux prima d’ora, dovreste imparare come farlo. Installare Oracle su Ubuntu su una VM prima di installare Oracle su un computer fisico o un server.Se utilizzi una VM VMware, non dimenticare di installare Strumenti VMware. È inoltre possibile utilizzare VM VirtualBox e Hyper-V.Assicurarsi di aver selezionato il fuso orario corretto durante l’installazione. Il fuso orario è GMT 0 (Londra) in questo esempio.È possibile verificare il fuso orario con il comando:timedatectlControlla la versione di Ubuntu:lsb_release -aIl risultato nel nostro esempio è il seguente:
In questo tutorial su come installare Oracle 11g su Ubuntu, vengono utilizzati i seguenti parametri hardware della VM:
- CPU: 1 CPU
- RAM: 4 GB
- Disco rigido: 40 GB
utente1 è un utente regolare in questo esempio (utente1 viene creato durante l’installazione di Ubuntu e viene utilizzato per accedere a Ubuntu).Sono installati i seguenti pacchetti:
- vim, l’editor di testo
- strumenti di rete, strumenti per la gestione della rete
- openssh-server, il server SSH che consente di connettersi alla console Linux (terminale) in remoto
Se questi pacchetti non sono installati nel tuo Ubuntu Linux, puoi installarli utilizzando il comando:sudo apt-get install -y vim net-tools openssh-serverIl server SSH è installato per comodità. È necessario eseguire molti comandi nella console prima di utilizzare il programma di installazione Oracle su Ubuntu.Per abilitare l’autenticazione tramite password, modificare il file sshd_config file:vim /etc/ssh/sshd_configRimuovi il commento dalla riga (rimuovi il simbolo “#” all’inizio della riga):PasswordAuthentication yesSalva le modifiche e chiudi premendo il tasto Esc digitare vim e digitando :wqRiavviare il sshd servizio (demone), eseguendo il comando con privilegi di root:sudo service ssh restart
Configurazione di un file di swap
Ubuntu 16 utilizza una partizione di swap per impostazione predefinita. È possibile personalizzare la dimensione della partizione di swap durante l’installazione di Ubuntu. Se sono state selezionate le opzioni di partizionamento predefinite o è stata selezionata una dimensione errata della partizione di swap, è comunque possibile creare un file di swap di dimensioni personalizzate e utilizzare il file di swap al posto di una partizione di swap esistente. La dimensione dello swap dovrebbe essere pari al doppio della dimensione della RAM. Se si intende installare Oracle su Ubuntu con 4 GB di RAM, è necessario preparare un file o una partizione di swap da 8 GB. Creiamo il file di swap da 8 GB.Disabilitare temporaneamente l’utilizzo dell’area di swap:sudo swapoff -aCrea un nuovo file da 8 GB con il dd strumento:sudo dd if=/dev/zero of=/swapfile bs=1G count=8Imposta il file da 8 GB creato come file di swap:sudo mkswap /swapfileAbilita nuovamente l’uso dello swap:sudo swapon /swapfileControlla la dimensione dell’area di swap dopo aver creato un nuovo file di swap:grep SwapTotal /proc/meminfo
Configurazione delle impostazioni di rete
Per impostazione predefinita, Ubuntu 16 ottiene automaticamente un indirizzo IP per un’interfaccia di rete (se nella rete è presente un server DHCP). È necessario impostare un indirizzo IP statico e configurare un nome host prima di poter installare Oracle su Ubuntu.Verificare la configurazione IP corrente:ifconfigNell’output è possibile vedere i nomi degli adattatori di rete e gli indirizzi IP. Nel nostro caso, il nome dell’interfaccia di rete necessaria è ens33.
Configurazione dell’indirizzo IP statico
Modifica il file di configurazione delle interfacce di rete con vim:sudo vim /etc/network interfacesL’indirizzo IP statico necessario per installare l’Oracle Database su Ubuntu è 192.168.101.11 sull’interfaccia corrente della macchina Linux in questo esempio. Modifica il file di configurazione come segue:# interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopbackauto ens33iface ens33 inet staticaddress 192.168.101.11netmask 255.255.255.0gateway 192.168.101.2dns-nameservers 192.168.101.2 8.8.8.8Salva le modifiche e chiudi.Applica le modifiche:sudo /etc/init.d/networking restartOppure riavviare la macchina:init 6Verifica che le nuove impostazioni IP siano state applicate:ifconfigOppure:hostname -IDopo aver verificato la configurazione IP, controlla il nome host.
Controllo del nome host
Nel nostro caso, il nome host utilizzato per installare Oracle su Ubuntu è ubuntu-oracle11.Controlla il nome host corrente:hostnamectlSe hai dimenticato di configurare il nome host durante l’installazione di Ubuntu o desideri modificarlo per altri motivi, puoi comunque farlo.Per rinominare l’host e impostare un nuovo nome host (ubuntu-oracle11), esegui il comando:sudo hostnamectl set-hostname ubuntu-oracle11Verifica se il nuovo nome host è stato applicato:less /etc/hostnameModifica il file hosts:sudo vim /etc/hostsIl contenuto del file /etc/hosts deve essere simile al seguente:127.0.0.1 localhost127.0.1.1 ubuntu-oracle11Riavviare la macchina:init 6Prova a eseguire il ping del nome host definito sul tuo computer Ubuntu:ping ubuntu-oracle11
Configurazione dell’ambiente per Oracle
Per installare Oracle su Ubuntu, è necessario configurare l’ambiente Linux: creare utenti e gruppi di sistema, configurare i parametri del kernel, impostare un profilo di sistema, impostare le variabili di ambiente per un utente, definire i limiti della shell, creare collegamenti simbolici e installare i pacchetti obbligatori.
Creazione di utenti e gruppi
Aprire la console locale o connettersi alla console Linux tramite SSH come utente normale, quindi ottenere il radice privilegi:sudo -iI comandi riportati di seguito devono essere eseguiti come radice.Aggiungere i gruppi obbligatori per Oracle.Creare il Inventario Oracle gruppo:groupadd oinstallCrea il Amministratore di database Oracle gruppo:groupadd dbaCreare la directory home per l’utente Oracle:mkdir /home/oracle/Creare la directory per l’installazione di Oracle:mkdir -p /u01/app/oracleQuindi creare l’account utente Oracle che è membro del dba gruppo, ha il /home/oracle/ directory home e utilizzi /bin/bash come shell predefinita:useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracleImposta la password per l’utente oracle (non dimenticare questa password):passwd oracleImposta le impostazioni oracolo utente come proprietario della directory home Oracle e della directory di installazione Oracle. Il oracolo l’utente è membro del oinstall gruppo.chown -R oracle:oinstall /home/oraclechown -R oracle:oinstall /u01/app/oracleNota: A differenza di Oracle 10, la creazione del nessuno Il gruppo non è necessario per Oracle 11.Creare la directory per l’inventario:mkdir -p /u01/app/oraInventoryImposta le impostazioni oracolo utente come proprietario della directory dell’inventario Oracle:chown -R oracle:oinstall /u01/app/oraInventory
Configurazione dei parametri del kernel
Per installare Oracle su Ubuntu sono obbligatori parametri kernel personalizzati che influiscono sulle prestazioni di Oracle. I parametri della memoria condivisa, tra cui la dimensione minima e massima, il numero di segmenti di memoria condivisa e i semafori che possono essere considerati come flag per la memoria condivisa, devono essere personalizzati in base alla documentazione Oracle. È inoltre necessario impostare il numero massimo consentito di file che possono essere aperti contemporaneamente, il numero massimo di connessioni di rete simultanee e la dimensione del buffer di invio e ricezione della rete. I parametri del kernel considerati possono essere classificati in tre gruppi: specifiche del kernel (nucleo), specifiche di rete (rete) e gestori di file (fs). Modifica il /etc/sysctl.conf file per sovrascrivere i parametri del kernel Linux:vim /etc/sysctl.confAggiungi le righe riportate di seguito alla fine di questo file di configurazione.# ============================# Oracle 11g# ============================# semaphores: semmsl, semmns, semopm, semmnikernel.sem = 250 32000 100 128kernel.shmall = 2097152kernel.shmmni = 4096# Replace kernel.shmmax with the half of your memory size in bytes# if lower than 4 GB minus 1# 2147483648 is 2 GigaBytes (4 GB of RAM / 2)kernel.shmmax=2147483648## Max number of network connections. Use sysctl -a | grep ip_local_port_range to check.net.ipv4.ip_local_port_range = 9000 65500#net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576## The maximum allowed value, set to avoid overhead and input/output errorsfs.aio-max-nr = 1048576# 512 * Processesfs.file-max = 6815744 fs.suid_dumpable = 1## To allow dba to allocate hugetlbfs pages# 1001 is your oinstall group, you can check this id with the grep oinstall /etc/group commandvm.hugetlb_shm_group = 1001Applica i parametri del kernel che hai impostato:sysctl -p
Configurazione dei limiti della shell
È necessario impostare i limiti della shell per migliorare le prestazioni del software dell’Oracle Database.Modifica il file /etc/security/limits.conf file:vim /etc/security/limits.confAggiungi le seguenti righe alla fine del file di configurazione:# Oracleoracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240La prima colonna specifica l’utente per il quale sono impostati i limiti.La seconda colonna funziona con due opzioni: soft e hard. Soft è il numero massimo che può essere impostato dall’utente, mentre hard è il numero massimo che può essere riconfigurato dall’utente definito (oracle). Se il oracolo Se l’utente raggiunge il valore minimo critico di 2047 impostato nella prima riga e ha bisogno di estendere il limite, può aumentarlo fino a 16384. Non è possibile impostare valori superiori a 16384 tramite il comando oracolo utente, ma può essere impostato da root.La terza colonna definisce a quali risorse vengono applicati i limiti impostati.La quarta colonna definisce il numero massimo del parametro di risorsa specificato nella terza colonna.
Configurazione PAM
Assicurarsi che il /etc/pam.d/login Il file di configurazione contiene la seguente riga:session required pam_limits.soPuoi farlo con il comando:cat /etc/pam.d/login | grep pam_limits.soSe la riga indicata non è presente, aggiungila manualmente.
Impostazione del profilo della shell
Le variabili ambientali a livello di sistema sono impostate nel profilo globale della shell bash che è impostato nel /etc/profile file di configurazione.Modifica /etc/profile e impostare alcuni parametri necessari per oracolo a livello globale e permanente:vim /etc/profileAggiungi le seguenti righe:if [ $USER = \"oracle\" ]; then if [ $SHELL = \"/bin/ksh\" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifiNota: È utile sapere quando è possibile utilizzare ciascun file di configurazione della shell, poiché in seguito sarà necessario configurare un profilo che contenga le variabili di ambiente per il oracolo utente.Shell di login Bash carica la sua configurazione dai seguenti file nell’ordine appropriato:
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
/etc/profile può essere considerato come un profilo globale per la shell di login bash../bash_profile viene applicato alle shell di login bash, ad esempio quando si accede all’interfaccia della riga di comando di Linux direttamente utilizzando una tastiera collegata a questo computer Linux, oppure quando si apre una nuova sessione della console dopo aver effettuato l’accesso utilizzando il terminale SSH..profilo – questo file viene letto per bash e altri gusci come sh.Shell interattiva Bash senza login carica la configurazione da ~/.bashrcCiò significa che se hai già effettuato l’accesso al tuo computer Linux (ad esempio, hai effettuato l’accesso a Ubuntu con GUI) e poi hai aperto una nuova finestra della console (terminale), la configurazione della shell, comprese le variabili di ambiente, viene caricata dal .bashrc file prima di poter accedere al prompt dei comandi.Bash senza login e non interattivo configurazione dei carichi shell impostata nel $BASH_ENV variabile di ambiente. La shell non interattiva e senza login viene utilizzata quando viene eseguito uno script.
Installazione dei pacchetti obbligatori
È necessario installare i pacchetti obbligatori per Oracle. Prestare attenzione durante l’installazione perché un pacchetto mancante potrebbe causare errori durante l’installazione di Oracle o la creazione del database.Aggiornare l’albero del repository:apt-get updateInstalla i pacchetti per evitare errori che potrebbero verificarsi durante l’installazione di Oracle su Ubuntu. La maggior parte dei pacchetti può essere installata con il gestore di pacchetti standard di Ubuntu dai repository online.apt-get install alienapt-get install autoconfapt-get install automake apt-get install autotools-devapt-get install binutilsapt-get install bzip2apt-get install doxygenapt-get install elfutilsapt-get install expatapt-get install gawkapt-get install gccapt-get install gcc-multilibapt-get install g++-multilibapt-get install libelf-devapt-get install libltdl-devapt-get install libodbcinstq4-1 libodbcinstq4-1:i386apt-get install libpth-devapt-get install libpthread-stubs0-devapt-get install libstdc++5apt-get install makeapt-get install openssh-serverapt-get install rlwrapapt-get install rpmapt-get install sysstatapt-get install unixodbcapt-get install unixodbc-devapt-get install unzipapt-get install x11-utilsapt-get install zlibcapt-get install libaio1apt-get install libaio-devCi sono ancora alcuni pacchetti da installare, ma per farlo avrai bisogno di questi consigli e trucchi.apt-get install ia32-libsQuando esegui il comando per installare questo pacchetto con apt-get, verrà visualizzato un messaggio che indica che questo pacchetto non è disponibile.Esiste un pacchetto alternativo che può essere installato al posto di ia32-libs. Installare il lib32z1 pacchetto alternativo:apt-get install lib32z1Installiamo il pacchetto avanti:apt-get install libmotif4Anche questo pacchetto non è disponibile. È necessario scaricare e installare questo pacchetto manualmente. Scarica il libmotif4_2.3.4-8ubuntu1_amd64.deb file da un risorsa gratuita. Salva il file scaricato deb file in una directory personalizzata, ad esempio /home/user1/Downloads, prima di poter installare questo pacchetto.Il flusso di lavoro per l’installazione dei pacchetti deb in Ubuntu è il seguente (eseguire i comandi con privilegi di root):sudo dpkg -i nome_pacchetto.debsudo apt-get -f installIn questo caso, eseguiamo i comandi per l’installazione dei pacchetti come utente normale, ad esempio: utente1 utilizzando sudo. Premere Ctrl+D per uscire dalla sessione root e tornare alla utente1 sessione nella console (terminale).Vai alla directory in cui sono memorizzati i file scaricati:cd /home/user1/DownloadsScarica il file utilizzando un link diretto:wget http://launchpadlibrarian.net/207968936/libmotif4_2.3.4-8ubuntu1_amd64.debsudo dpkg -i libmotif4_2.3.4-8ubuntu1_amd64.debsudo apt-get -f installIl pacchetto avanti non può essere installato automaticamente:sudo apt-get install libpthread-stubs0E: Impossibile determinare l’ubicazione del pacchetto libpthread-stubs0Scarica e installare questo pacchetto manualmente.wget http://launchpadlibrarian.net/154418307/libpthread-stubs0-dev_0.3-4_amd64.debsudo dpkg -i libpthread-stubs0-dev_0.3-4_amd64.debsudo apt-get -f installInstallare in modo analogo il pacchetto avanti:sudo apt-get install lsb-cxxE: Impossibile determinare l’ubicazione del pacchetto lsb-cxxÈ possibile scaricare il lsb-cxx pacchetto manualmente.wget http://packages.linuxmint.com//pool/upstream/l/lsb/lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.debsudo dpkg -i lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.debsudo apt-get -f installInstalla un altro pacchetto:sudo apt-get install pdkshE: Il pacchetto “pdksh” non ha candidati per l’installazioneIl flusso di lavoro per l’installazione del pdksh Il pacchetto è lo stesso. Questo pacchetto può essere scaricato qui.wget http://launchpadlibrarian.net/200019501/pdksh_50e-2ubuntu1_all.debsudo dpkg -i pdksh_50e-2ubuntu1_all.debsudo apt-get -f installOracle 11g richiede l’installazione della versione a 32 bit di libstdc++5 pacchetto che non è installato automaticamente su Ubuntu 16. Ecco come installare manualmente questo pacchetto.I seguenti comandi vengono eseguiti come radice. Creare una directory temporanea per scaricare il pacchetto:mkdir /tmp/libstdc++5cd /tmp/libstdc++5Scarica il pacchetto (sono indicati i link ai pacchetti a 32 bit e 64 bit):wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_i386.debwget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_amd64.debInstalla i pacchetti scaricati con dpkg:dpkg --force-architecture -i libstdc++5_3.3.6-30_i386.debNota: Se i link non funzionano, è possibile pubblicare versioni più recenti dei pacchetti al posto di quelle precedenti. In questo caso, visitare una pagina web nel browser e copiare i link corretti necessari. deb pacchetti:http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/Riavvia la macchina Linux per applicare le modifiche.init 6
Creazione di collegamenti simbolici
È necessario creare collegamenti simbolici (symlink) per rendere la struttura dei file e delle directory utilizzata in Ubuntu simile alla struttura dei file in Red Hat. Creare i collegamenti simbolici per rendere la struttura del file system identica a quella di Red Hat, in modo da evitare errori durante l’installazione di Oracle.Eseguire i comandi come root:mkdir /usr/lib64ln -s /etc /etc/rc.dln -s /usr/bin/awk /bin/awkln -s /usr/bin/basename /bin/basenameln -s /usr/bin/rpm /bin/rpmln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib64/ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/ln -s /usr/lib/x86_64-linux-gnu /usr/lib64ln -sf /bin/bash /bin/shln -s /etc/rc0.d /etc/rc.d/rc0.dln -s /etc/rc2.d /etc/rc.d/rc2.dln -s /etc/rc3.d /etc/rc.d/rc3.dln -s /etc/rc4.d /etc/rc.d/rc4.dln -s /etc/rc5.d /etc/rc.d/rc5.dln -s /etc/rc6.d /etc/rc.d/rc6.dln -s /etc/init.d /etc/rc.d/init.dI comandi sopra riportati aiutano a prevenire errori quali:
- genclntsh: Impossibile collegare libclntsh.so.11.1 nel file make per rdbms/lib/ins_rdbms.mk a causa della libreria mancante: /usr/bin/ld: impossibile trovare /usr/lib64/libpthread_nonshared.a all’interno
- lib//libagtsh.so: riferimento non definito a “nnfyboot” in make: rdbms/lib/dg4odbc] Errore 1
Ora preveniamo un altro errore: /lib64/libgcc_s.so.1: File o directory non esistente durante la creazione di lib/liborasdkbase.so.11.1 in ins_rdbms.mk. Vai al /lib64 directory ed eseguire il comando:cd /lib64ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .Non dimenticare il punto alla fine del comando.Imposta la versione Linux come Red Hat Linux versione 5 in /etc/redhat-releaseLe distribuzioni Red Hat Linux memorizzano la loro versione in quel file.echo 'Red Hat Linux release 5' > /etc/redhat-release
Configurazione del profilo utente Oracle
Ora è necessario configurare l’ambiente utente per il oracolo utente.Accedi come oracolo se hai aperto la console come un altro utente:su oracleEsegui i comandi come oracolo:cdvim ~/.bashrcAggiungi le seguenti righe al file .bashrc file:# Oracle SettingsTMP=/tmp; export TMPTMPDIR=$TMP; export TMPDIR# Enter your hostnameORACLE_HOSTNAME=ubuntu-oracle11; export ORACLE_HOSTNAMEORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOMEORACLE_SID=ORADB11G; export ORACLE_SIDPATH=/usr/sbin:$PATH; export PATHPATH=$ORACLE_HOME/bin:$PATH; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATHumask 022Applica le impostazioni:source ~/.bashrcOra dovresti riavviare Ubuntu. Tieni presente che le impostazioni verranno applicate dopo il riavvio anche senza eseguire source ~/.bashrc.init 6
Preparazione del programma di installazione Oracle
Abbiamo quasi completato i preparativi per l’installazione di Oracle. Mancano solo pochi passaggi prima di poter avviare il programma di installazione e installare Oracle su Ubuntu. Dopo aver riavviato il computer Ubuntu, accedi come oracolo nell’interfaccia grafica utente di Ubuntu.
Apri un browser web.Nel nostro esempio, i due file scaricati vengono salvati in /home/oracle/Scarica per comodità:linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zip
Apri la console in Ubuntu ed esegui i seguenti comandi come oracolo. Vai alla directory in cui sono memorizzati i file scaricati:cd /home/oracle/Downloadsoppure cd ~/Downloads/Decomprimi i file di installazione dagli archivi zip scaricati:unzip linux.x64_11gR2_database_1of2.zipunzip linux.x64_11gR2_database_2of2.zipI file estratti vengono memorizzati in:/home/oracle/Downloads/databaseOra sei pronto per eseguire il programma di installazione e installare Oracle su Ubuntu.
Installazione di Oracle
Vai alla directory in cui sono stati scaricati i file di installazione. Esegui i comandi come oracolo nella console avviata nella sessione GUI.cd /home/oracle/Downloads/databaseEsegui il programma di installazione Oracle:./runInstaller
1. Configurare gli aggiornamenti di sicurezza per la sicurezzaDeseleziona la casella “Desidero ricevere gli aggiornamenti di sicurezza tramite My Oracle Support.Casella di controllo