Oracle Oracle Database 11g Release 2 is not certified to run on Database 11g Release 2 inte är certifierad att köras på Fedora Fedora 13 (Goddard) but I wanted to use it to debug a problem with a particular application which used this database. 13 (Goddard) men jag ville använda den för att felsöka problem med ett visst program som används för denna databas. 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. Jag kollade på internet för information om hur du installerar den här versionen av Oracle databas på Fedora 13 men kom inte över omfattande instruktioner. I therefore decided to write this post as a guide for others who may also wish to install this database on Fedora 13. Jag beslutade därför att skriva det här inlägget som en vägledning för andra som kanske också vill installera denna databas på 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. Först av allt måste du lägga till ett antal kärnparametrar till / etc / sysctl.conf om de inte redan finns i den här filen eller har värden mindre än vad som visas här. These are minimum required values by the way; they can be higher. Dessa är minimum som krävs värden genom det sätt, de kan vara högre.
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 Jämfört med Sybase ASE Sybase ASE which only requires kernel.shmmax , an Oracle database requires significantly more kernel parameter tweeking. som bara kräver kernel.shmmax, en Oracle-databas krävs betydligt fler parametrar tweeking kärna.
The current value of a kernel parameter can be displayed using the following command: Det aktuella värdet för en kärnparameter kan visas med följande kommando:
# /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: Om du inte vill starta om ditt system, bara kör du följande kommando för att uppdatera kärnan med de nya parametrarna:
# /sbin/sysctl -p
You need to install a number of software packages on your system if the packages are not already installed. Du måste installera ett antal program på ditt system om förpackningarna inte redan är installerat. If you have installed the Development Tools package group, the majority of the necessary packages will already be installed. Om du har installerat Utvecklingsverktyg paketet grupp, de flesta av de nödvändiga paketen kommer redan vara installerat. Install the Development Tools package group and the following packages if not already installed: Installera Utvecklingsverktyg paket grupp och följande paket om de inte redan installerat:
- 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. Sedan behöver du ändra PAM (Plugable Authentication Module) för att öka session gränser för orakel användare som vi kommer att skapa senare. Add the following line to /etc/pam.d/login if it does not already exist: Lägg till följande rad i / etc / pam.d / logga in om det inte redan finns:
session required pam_limits.so
and add the following lines to /etc/security/limits.conf : och lägga till följande rader i / etc / säkerhet / 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. Observera att denna fil för närvarande inte kan finnas på ditt system. You may have to create it. Du måste kanske skapa den.
Now create a number of new users and groups as follows: Nu skapa ett antal nya användare och grupper på följande sätt:
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. och ange ett lösenord för den nya orakel användaren.
You must disable Secure Linux (SELINUX) while installing the database. Du måste inaktivera Secure Linux (SELinux) under installationen av databasen. Edit /etc/selinux/config as follows: Redigera / etc / selinux / config på följande sätt:
SELINUX=disabled
and execute setenforce off . och utföra setenforce av.
Edit the /etc/redhat-release file replacing the current release information – Fedora release 13 (Goodwin) – with the following: Redigera / etc / redhat-release filen ersätter den aktuella utgåvan information - Fedora release 13 (Goodwin) - med följande:
redhat release 5
You must create the directories in which the Oracle database software will be installed. Du måste skapa kataloger i vilka Oracledatabasprogrammet kommer att installeras. In our example, the directory is /app/oracle and the SID is dbhome_1 . I vårt exempel katalog är / app / orakel och SID är 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 . De återstående åtgärder kräver att du är inloggad som orakel. As user oracle , download Oracle Database 11g R2 from Som användare orakel, hämta Oracle Database 11g R2 från Oracle Oracle and place the two files you downloaded into the same subdirectory. och placera de två filerna du laddade ner i samma underkatalog. I placed them in ~oracle/tmp but you are free to choose any subdirectory. Jag lade dem i ~ oracle / tmp, men du är fri att välja underkatalog. Then unzip both files. Packa upp båda filerna.
# unzip linux.x64_11gR2_database_1of2.zip # unzip linux.x64_11gR2_database_2of2.zip # ls -d */ database/ #
A single subdirectory called database is created. En enda underkatalog kallad databas skapas. This subdirectory contains the unzipped files. Denna katalog innehåller de uppackade filerna.
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: Om man antar att användaren oraklet använder bash-skalet, lägg till följande rader i orakel användarens. Bash_profile filen, ändra ORACLE_HOSTNAME, ORACLE_HOME etc. som krävs till era särskilda krav:
# 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. Om du använder ett annat skal, måste du ställa in dessa miljövariabler och begränsningar med hjälp av lämpliga skalet syntax och skal initieringsfil. You may also need to set the NLS_LANG environmental variable to match your country, language and desired character set, eg germany_germany.we8iso8859p1 . Du kan även behöva ställa in NLS_LANG miljö variabel som matchar ditt land, språk och tecken som t.ex. germany_germany.we8iso8859p1.
Oracle databases are installed using the Oracle Universal Installer (OUI) which is GUI-based and uses the X Window system. Oracle-databaser är installerade med Oracle Universal Installer (OUI) som GUI-baserat och använder X Window System. There is no equivalent command line installer. Det finns ingen motsvarande kommandoraden installationsprogrammet. You may need to set the your DISPLAY environmental variable and use the xhost utility to configure server access. Du kan behöva ställa in din DISPLAY miljö variabel och använda xhost verktyget för att konfigurera servern tillträde. Start OUI by issuing the runInstaller command in the ~oracle/tmp/database directory. Börja OUI genom att utfärda runInstaller kommandot i ~ orakel / tmp / databas katalogen.
If OUI cannot determine your IP address because it is not in /etc/hosts then you will get the following error: Om OUI inte kan bestämma din IP-adress eftersom den inte är i / etc / hosts så kommer du få följande felmeddelande:
[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. Om du ser ett felmeddelande som liknar något av följande: "Kunde inte ansluta till servern", "Connection refused av server" eller "Kan inte öppna display", då du har problem med X Windows, antingen med tillstånd eller DISPLAY variabel. I am going to assume you know how to fix such problems. Jag kommer att anta att du vet hur man rättar till dessa problem.
After answering a few basic questions, you should see the following Typical Install Configuration screen: Efter att ha besvarat några grundläggande frågor bör du se följande Typiska Installera Konfiguration skärmen:

Check the settings carefully before proceeding further. Kontrollera inställningarna noga innan du går vidare.
Next OUI checks that the installed software development and runtime packages are correct: Nästa OUI kontrollerar att det installerade programmet utveckling och paket runtime är korrekta:

Fedora 13 will fail all these checks. Fedora 13 kommer att misslyckas alla dessa kontroller. Just tick the check box Ignore All on the top right hand to ignore these errors. Bara kryssa i kryssrutan Ignorera alla på övre högra att ignorera dessa fel. So long as you have the latest version of each of these packages installed, all will be fine. Så länge du har den senaste versionen av vart och ett av dessa paket installerade, kommer alla att bli bra. Note that you do not need to install pdksh (Public Domain Korn Shell) if you have ksh installed. Observera att du inte behöver installera pdksh (Public Domain Korn Shell) om du har ksh installerat.
During the installation, OUI will popup a dialog window advising you that an error has occurred with ins_emagent.mk . Under installationen kommer OUI popup en dialogruta informerar dig om att ett fel har inträffat med ins_emagent.mk. See below: Se nedan:

This error is due to a change in the GCC linker in Fedora 13. Detta fel beror på en förändring i GCC länkaren i Fedora 13. The announcement is Tillkännagivandet är here här . . 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. För att fixa detta redigera $ ORACLE_HOME / sysman / lib / ins_emagent.mk söker rad $ (MK_EMAGENT_NMECTL) och byt linje med $ (MK_EMAGENT_NMECTL)-lnnz11 som visas ovan.
After saving the changed file, select the Retry option, and the install should successfully continue. Efter att spara den ändrade filen, välj Försök igen alternativet och installera bör framgångsrikt kunna fortsätta. Eventually you should see the Database Configuration Assistant screen as shown below: Så småningom bör du se databaskonfiguration Assistant skärmen som visas nedan:

Do not ignore the Password Management button; press it and change the passwords for SYS and SYSTEM . Ignorera inte den Lösenordshantering knappen, tryck på den och ändra lösenord för SYS och system.
You are now ready to do a basic smoketest of the installed database software. Du är nu redo att göra en grundläggande smoketest av den installerade databasprogram.
$ 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. Om du har kommit så här långt med din installation av Oracle 11g, allt är bra. The core Oracle 11g database software is installed and working. Kärnan Oracle 11g-databas är installerad och fungerar. You may have some tweaking to do for your particular requirements but that is outside the scope of this post. Du måste kanske vissa justeringar att göra för just ditt behov men det är utanför ramen för det här inlägget. Note the listener supports no services message; we will address this shortly. Obs lyssnaren stöder inga tjänster budskap, vi kommer att behandla detta inom kort.
First, as root , we need to fix up a couple of files. Först som root måste vi fixa ett par filer. Edit the /etc/oratab file setting the restart flag for each instance to Y : Redigera / etc / oratab dokument där omstarten flagga för varje tillfälle till Y:
DB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
Edit the /etc/redhat-release file to restore the original release information: Redigera / etc / redhat-release fil för att återställa den ursprungliga utgåvan information:
Fedora release 13 (Goodwin)
At this stage you should be able to invoke the Oracle sqldeveloper GUI by invoking $ORACLE_HOMEsqldeveloper/sqldeveloper/bin/sqldeveloper . I det här skedet bör du kunna åberopa Oracle sqldeveloper GUI genom att åberopa $ ORACLE_HOMEsqldeveloper / sqldeveloper / bin / sqldeveloper. Once you have configured a valid connection, you should see a screen similar to this: När du har konfigurerat en giltig anslutning, bör du se en skärm som liknar detta:

If you configure listener.ora you can also access the Oracle Enterprise Console via the Web as shown here: Om du konfigurerar listener.ora kan du även komma åt Oracle Enterprise Console via webben som visas här:

Here is what is in my listener.ora : Här är vad som ligger i min 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 . Du kommer naturligtvis att använda olika värden för HOST och eventuellt SID_NAME, ORACLE_HOME och 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. Att automatiskt starta och butik Oracle databas under systemstart och avstängning måste du placera en lämplig skriptet i / etc / rc.d / init.d katalog och symboliskt länka den till lämplig rc kataloger. Here is a script to start or stop the Oracle database using dbinit : Här är ett skript för att starta eller stoppa Oracle databas med 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: och här är ett alternativ skript för att starta och stoppa Oracle databasen med 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. Jag antar att du vet hur man installerar en ny Initieringsskriptfunktionalitet så jag kommer inte att beskriva processen här.
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. Hör av dig om jag lämnade ut något viktigt att du känner dig skulle av varit till hjälp för dig att installera Oracle 11g på Fedora 13 och jag kommer att lägga till det här inlägget.























Hi Finnbarr Hej Finnbarr
Very helpful description. Mycket hjälpsam beskrivning. Thanks a lot. Tack så mycket. Sole problem I had, was the SID, which was not consistent in your description. Enda problemet jag hade var SID, som inte var konsekvent i din beskrivning. Would be helpful to use orcl only. Skulle vara bra att använda orcl bara.
And a another small problem I had was Och en annan litet problem jag hade var
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXRTPROC1521))) Fel lyssna på: (Description = (ADRESS = (PROTOKOLL = IPC) (KEY = EXRTPROC1521)))
TNS-12555: TNS:permission denied TNS-12.555: TNS: Åtkomst nekad
TNS-12560: TNS:protocol adapter error TNS-12.560: TNS: protokoll adapter fel
TNS-00525: Insufficient privilege for operation TNS-00.525: Otillräckligt privilegium för drift
Linux Error: 1: Operation not permitted Linux Fel: 1: Operation tillåts inte
Could solve this using this post: http://forums.oracle.com/forums/thread.jspa?threadID=931431, by replacing the KEY to EXRTPROC0 Kunde lösa detta med hjälp av det här inlägget: http://forums.oracle.com/forums/thread.jspa?threadID=931431, genom att ersätta KEY to EXRTPROC0
Final wish: Maybe, you can also describe how to install a new init script. Final önskan: Kanske kan du också beskriva hur man installerar en ny init script. Then, your tutorial is complete in all terms :-) Sedan din läraren är komplett i alla termer :-)