Red Hat Enterprise Linux 5.1 Red Hat Enterprise Linux Oracle Tuning Guide Tuning and optimizing performance tips and guidelines for Oracle® 9i and 10g databases on Red Hat Enterprise Linux 5, 4, 3 and 2.
Red Hat Enterprise Linux Oracle Tuning Guide Red Hat Enterprise Linux 5.1 Oracle 9i and 10g Tuning Guide Tuning and optimizing performance tips and guidelines for Oracle® 9i and 10g databases on Red Hat Enterprise Linux 5, 4, 3 and 2.1 Edition 1.4 Editor Chris Curran ccurran@redhat.com Copyright © 2007 by Red Hat, Inc. Red Hat owns the copyright to this and all other subsequent derivative works. Werner Puschitz retains the copyright to the original at www.puschitz.
I. Tuning and Optimizing Red Hat Enterprise Linux for Oracle Database 9i and 10g 1 1. Introduction 3 2. Hardware Architectures and Linux Kernels 2.1. General ............................................................................................................... 2.2. 32 bit Architecture and the hugemem Kernel .......................................................... 2.3. The 64 bit Architecture ......................................................................................... 5 5 5 6 3.
Red Hat Enterprise Linux Oracle Tuning Guide 13.3. Using Raw Devices for Oracle Databases .......................................................... 39 13.4. Using Block Devices for Oracle 10g Release 2 in Red Hat Enterprise Linux 4 and 5 ....................................................................................................................... 40 14. Large Memory Optimization, Big Pages, and Huge Pages 14.1. Big Pages in Red Hat Enterprise Linux 2.
20.7. Oracle 10g R1 on Red Hat Enterprise Linux 2.1 (x86) ......................................... 80 20.8. Verifying and Updating the redhat-release File .................................................... 80 21. Sizing Disk Space for Oracle 10g 83 22. Setting Shell Limits for Your Oracle User 85 23. Creating Oracle User Accounts 87 24. Creating Oracle Directories 89 24.1. Optimal Flexible Architecture (OFA) for 10g R1 (10.1.0.2) .................................... 89 25.
Red Hat Enterprise Linux Oracle Tuning Guide 36.2. Patching Oracle9i R2 to 9.2.0.6.0 on Red Hat Enterprise Linux 4 ....................... 138 37. Starting and Shutting down the Oracle9i Database 141 38. Oracle Installation Errors 143 39. Reference List 151 A.
Part I.
Chapter 1. Introduction This guide covers optimizations for Red Hat Enterprise Linux x86 (32 bit) and x86_64 (64 bit) platforms running Oracle 9i R2 (32 bit or 64 bit) and Oracle 10g R1/R2 (32 bit or 64 bit) standalone and RAC databases. This white paper covers Red Hat Enterprise Linux Advanced Server 2.1, 3, 4 and 5. Various workarounds covered in this article are due to the 32 bit address limitations of the x86 platform. However, many steps described in this document also apply to x86-64 platforms.
4
Chapter 2. Hardware Architectures and Linux Kernels 2.1. General When it comes to large databases the hybrid x86-64 architecture platform is strongly recommended over the 32 bit x86 platform. 64 bit platforms can access more than 4GB of memory without workarounds. With 32 bit platforms there are several issues that require workaround solutions for databases that use lots of memory, for example refer to Chapter 17, Using Very Large Memory (VLM).
Chapter 2. Hardware Architectures and Linux Kernels If you install the Red Hat Enterprise Linux 3, 4 or 5 hugemem kernel ensure that any proprietary drivers you are using (e.g. proprietary multipath drivers) are certified with the hugemem kernel. In Red Hat Enterprise Linux 2.1, the smp kernel is capable of handling up to 4GB of RAM. The kernel-enterprise kernel should be used for systems with more than 4GB of RAM up to 16GB.
Chapter 3. Kernel Upgrades Make sure to install the latest kernel where all proprietary drivers, if applicable, are certified and supported. Note that proprietary drivers are often installed under /lib/modules//kernel/drivers/addon. For example, the EMC PowerPath drivers can be found in the following directory when running the 2.4.21-32.0.1.ELhugemem kernel: $ ls -al /lib/modules/2.4.21-32.0.1.ELhugemem/kernel/drivers/addon/emcpower total 732 drwxr-xr-x 2 root root 4096 Aug 20 13:50 .
Chapter 3. Kernel Upgrades initrd /initrd-2.4.21-32.0.1.ELsmp.img In this example, the "default" attribute is set to "0" which means that the 2.4.21-32.0.1.ELhugemem kernel will be booted. If the "default" attribute would be set to "1", then 2.4.21-32.0.1.ELsmp would be booted. After you installed the newer kernel reboot the system.
Chapter 4. Kernel Boot Parameters 4.1. General The Linux kernel accepts boot parameters when the kernel is started. Very often it is used to provide information to the kernel about hardware parameters where the kernel would have problems or to overwrite default values. Red Hat Enterprise Linux 3 uses 2.4 based kernels, Red Hat Enterprise Linux 4 and 5 use 2.6 based kernels. For a list of kernel parameters in Red Hat Enterprise Linux 4 and 5, see /usr/share/doc/ kernel-doc-2.6.
10
Chapter 5. Memory Usage and Page Cache 5.1. Checking the Memory Usage To determine the size and usage of memory, you can enter the following command: grep MemTotal /proc/meminfo You can find a detailed description of the entries in /proc/meminfo at http://www.redhat.com/advice/ tips/meminfo.html.
Chapter 5. Memory Usage and Page Cache Alternatively, you can use sysctl(8) to change it: # sysctl -w vm.pagecache="1 15 30" To make the change permanent, add the following line to the file /etc/sysctl.conf. This file is used during the boot process. # echo "vm.pagecache=1 15 30" >> /etc/sysctl.conf With Red Hat Enterprise Linux 4 and 5, the pagecache is dynamically adjusted.
Chapter 6. Swap Space 6.1. General In some cases it is good for the swap partition to be used. For example, long running processes often access only a subset of the page frames they obtained. This means that the swap partition can safely be used even if memory is available because system memory could be better served for disk cache to improve overall system performance. In fact, in the 2.
Chapter 6. Swap Space 6.2. Checking Swap Space Size and Usage You can check the size and current usage of swap space by running the command: grep SwapTotal /proc/meminfo Swap usage may slowly increase as shown above but should stop at some point. If swap usage continues to grow steadily or is already large, then one of the following choices may need to be considered: • Adding more RAM. • Reducing the size of the SGA. • Increasing the size of the swap space.
Chapter 7. Setting Shared Memory Shared memory allows processes to access common structures and data by placing them in shared memory segments. It is the fastest form of inter-process communication available since no kernel involvement occurs when data is passed between the processes. In fact, data does not need to be copied between the processes. Oracle uses shared memory segments for the Shared Global Area (SGA) which is an area of memory that is shared by Oracle processes.
Chapter 7. Setting Shared Memory # cat /proc/sys/kernel/shmmax 2147483648 The default shared memory limit for SHMMAX can be changed in the proc file system without reboot: # echo 2147483648 > /proc/sys/kernel/shmmax Alternatively, you can use sysctl(8) to change it: # sysctl -w kernel.shmmax=2147483648 To make a change permanent, add the following line to the file /etc/sysctl.conf (your setting may vary). This file is used during the boot process. # echo "kernel.shmmax=2147483648" >> /etc/sysctl.
Removing Shared Memory system is 2097152*4096 bytes (shmall*PAGE_SIZE) which is 8 GB. PAGE_SIZE is usually 4096 bytes unless you use Chapter 14, Large Memory Optimization, Big Pages, and Huge Pages which supports the configuration of larger memory pages.
Chapter 7. Setting Shared Memory bytes=2736783360 lpid=3688 cpid=3652 nattch=0 att_time=Sat Oct 29 13:36:52 2005 det_time=Sat Oct 29 13:36:52 2005 change_time=Sat Oct 29 11:21:06 2005 To remove the shared memory segment, you could copy and paste shmid and execute: $ ipcrm shm 32768 Another approach to remove shared memory is to use Oracle's sysresv utility.
Chapter 8. Setting Semaphores Semaphores can best be described as counters which are used to provide synchronization between processes or between threads within a process for shared resources like shared memories. System V semaphores support semaphore sets where each one is a counting semaphore. So when an application requests semaphores, the kernel releases them in sets. The number of semaphores per set can be defined through the kernel parameter SEMMSL. To see all semaphore settings, run: ipcs -ls 8.1.
Chapter 8. Setting Semaphores Oracle recommends SEMMSL to be at least 32000 for 9i R2 and 10g R1/R2 databases except for 9i R2 on x86 platforms where the minimum value is lower. Setting SEMMNS to 32000 ensures that SEMMSL * SEMMNI (250*128=32000) semaphores can be be used. Therefore it is recommended to set SEMMNS to at least 32000 for 9i and 10g databases on x86 and x86-64 platforms. 8.4.
An Example of Semaphore Settings As shown at Section 8.3, “The SEMMNS Parameter” the maximum number of semaphores that can be allocated on a Linux system will be the lesser of: SEMMNS or (SEMMSL * SEMMNI). Since SEMMNI can stay at 128, we need to increase SEMMNS to 641280 (5010*128). As shown at Section 8.4, “The SEMOPM Parameter” a semaphore set can have the maximum number of SEMMSL semaphores per semaphore set and it is recommended to set SEMOPM equal to SEMMSL.
22
Chapter 9. Setting File Handles The maximum number of file handles denotes the maximum number of open files on a Linux system. Oracle recommends that the file handles for the entire system is set to at least 65536 for 9i R2 and 10g R1 and R2 for x86 and x86-64 platforms.
24
Chapter 10. Adjusting Network Settings 10.1. Changing Network Adapter Settings To check the speed and settings of network adapters, use the ethtool command which works now for most network interface cards.
Chapter 10. Adjusting Network Settings # sysctl -w net.core.wmem_max=262144 To make the change permanent, add the following lines to the /etc/sysctl.conf file, which is used during the boot process: net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=262144 net.core.wmem_max=262144 To improve fail over performance in a RAC cluster, consider changing the following IP kernel parameters as well: net.ipv4.tcp_keepalive_time net.ipv4.tcp_keepalive_intvl net.ipv4.tcp_retries2 net.ipv4.
Chapter 11. Setting Shell Limits for the Oracle User Most shells like Bash provide control over various resources like the maximum allowable number of open file descriptors or the maximum number of processes available to a user. To see all shell limits, run: ulimit -a For more information on ulimit for the Bash shell, see man bash and search for ulimit. Note On some Linux systems setting "hard" and "soft" limits in the following examples might not work properly when you log in as user oracle via SSH.
Chapter 11. Setting Shell Limits for the Oracle User entire system will run out of file handles. This may prevent users logging in as the system cannot open any PAM modules that are required for the login process. That is why the hard limit should be set to 63536 and not 65536. That these limits work you also need to ensure that pam_limits is configured in the /etc/pam.d/ system-auth file, or in /etc/pam.d/sshd for ssh, /etc/pam.d/su for su, or /etc/pam.
Limiting Maximum Number of Processes Available for the Oracle User To see the current limit of the maximum number of processes for the oracle user, run: $ su - oracle $ ulimit -u Note The ulimit options are different for other shells. To change the "soft" and "hard" limits for the maximum number of processes for the oracle user, add the following lines to the /etc/security/limits.
30
Chapter 12. Enabling Asynchronous I/O and Direct I/O Support Asynchronous I/O permits Oracle to continue processing after issuing I/Os requests which leads to higher I/O performance. Red Hat Enterprise Linux also allows Oracle to issue multiple simultaneous I/O requests with a single system call. This reduces context switch overhead and allows the kernel to optimize disk activity. To enable asynchronous I/O in Oracle Database, it is necessary to relink Oracle 9i and 10g Release 1.
Chapter 12. Enabling Asynchronous I/O and Direct I/O Support 12.2. Relinking Oracle 10g to Enable Asynchronous I/O Support Ensure that for 10g Release 1 and 2 the libaio and libaio-devel RPMs are installed on the system: # rpm -q libaio libaio-devel libaio-0.3.96-5 libaio-devel-0.3.96-5 If you relink Oracle for asynchronous I/O without installing the libaio RPM, then you will get an error message similar to this one: SQL> connect / as sysdba oracleorcl: error while loading shared libraries: libaio.so.
Tuning Asynchronous I/O for Oracle 9i and 10g filesystemio_options=asynch This parameter is platform specific. By default, this parameter is set to none for Linux and thus needs to be changed: SQL> show parameter filesystemio_options; NAME TYPE VALUE ------------------------------------ ----------- ----------filesystemio_options string none SQL> The filesystemio_options can have the following values with Oracle9iR2: • asynch: This value enables asynchronous I/O on file system files.
Chapter 12. Enabling Asynchronous I/O and Direct I/O Support # echo 1048576 > /proc/sys/fs/aio-max-size Alternatively, you can use sysctl(8) to change it: # sysctl -w fs.aio-max-size=1048576 To make the change permanent, add the following line to the /etc/sysctl.conf file. This file is used during the boot process: $ echo "fs.aio-max-size=1048576" >> /etc/sysctl.conf 12.5.
Verifying Asynchronous I/O Usage $ The numbers in red (number of active objects) show whether Oracle makes asynchronous I/O calls. The output will look a little bit different in Red Hat Enterprise Linux 4 and 5. However, the numbers in red will show same behavior in Red Hat Enterprise Linux 3 and Red Hat Enterprise Linux 4 and 5. The first column displays the cache names kioctx and kiocb. The second column shows the number of active objects currently in use.
36
Chapter 13. Configuring I/O for Raw Partitions 13.1. General Raw partitions allow Oracle to bypass the OS cache. A raw device can be assigned or bound to block devices such as disk or disk partitions. When a raw device is bound to a disk, any read or write access to the raw device will perform a raw I/O with the disk. A raw I/O through the /dev/raw interface bypasses the kernel's block buffer cache entirely that is normally associated with block devices and goes right to the low level device itself.
Chapter 13. Configuring I/O for Raw Partitions the alias settings in this example would not be required in Red Hat Enterprise Linux 4 1 and 5. For more information, see Red Hat Enterprise Linux AS 4 Release Notes . Be also careful when adding/removing devices which can change device names on the system. Starting Oracle with incorrect device names or raw devices can cause permanent damage 2 to the database. For stable device naming in Linux 2.4 and 2.6, see Optimizing Linux I/O . 13.2.
Using Raw Devices for Oracle Databases /dev/raw/raw100 /dev/sdz 13.3. Using Raw Devices for Oracle Databases Many guides and documentations show instructions on using the devices in /dev/raw/ for configuring raw devices for data files. It is not recommend to use the raw devices in /dev/raw/ for the following reason: When you configure raw devices for Oracle data files, you also have to change ownership and permissions of the devices in /dev/raw/ to allow Oracle to read and write to these raw devices.
Chapter 13. Configuring I/O for Raw Partitions And the /etc/sysconfig/rawdevices file would look something like this if you use EMC PowerPath: /u02/oradata/asmdisks/disk01 /u02/oradata/asmdisks/disk02 /u02/oradata/asmdisks/disk03 /u02/oradata/asmdisks/disk04 /dev/emcpowera /dev/emcpowerb /dev/emcpowerc /dev/emcpowerd In this example, 4 raw devices have been created using minor numbers 1 through 4. This means that the devices /dev/raw/raw1..
Chapter 14. Large Memory Optimization, Big Pages, and Huge Pages Please Note As explained in detail in this section, enabling big pages helps reduce TLB misses. However, this performance benefit is realized primarily when using large SGA sizes. Once a portion of memory is locked down for big pages, applications that use normal pages cannot access that portion of the memory. It is very important to make sure that there is enough memory for normal pages for applications and users to avoid excessive swapping.
Chapter 14. Large Memory Optimization, Big Pages, and Huge Pages • pages are locked in memory and are never swapped out which guarantees that shared memory such as SGA remains in RAM. • contiguous pages are pre-allocated and cannot be used for anything else but for System V shared memory, for example SGA. • less bookkeeping work for the kernel in that part of virtual memory due to larger page sizes. 14.2.
Configuring Huge Pages in Red Hat Enterprise Linux 3 Thus, Big Pages cannot be larger than Highmem. The total amount of memory in the high region can be obtained by reading the memory statistic HighTotal from the /proc/meminfo file: $ grep "HighTotal" /proc/meminfo HighTotal: 9043840 kB $ The Big Pages feature can be enabled with the following command: # echo "1" > /proc/sys/kernel/shm-use-bigpages Alternatively, you can use sysctl(8) to change it: # sysctl -w kernel.
Chapter 14. Large Memory Optimization, Big Pages, and Huge Pages In Red Hat Enterprise Linux 3 the desired size of the Huge Pages pool is specified in megabytes. The size of the pool should be configured by the incremental size of the Huge Page size. To obtain the size of Huge Pages, execute the following command: $ grep Hugepagesize /proc/meminfo Hugepagesize: 2048 kB $ The number of Huge Pages can be configured and activated by setting hugetlb_pool in the proc file system.
Configuring Huge Pages in Red Hat Enterprise Linux 4 or 5 This command usually takes a while to finish. 14.7. Configuring Huge Pages in Red Hat Enterprise Linux 4 or 5 Before configuring Big Pages, ensure to have read Section 14.3, “Sizing Big Pages and Huge Pages”. In Red Hat Enterprise Linux 4 or 5 the size of the Huge Pages pool is specified by the desired number of Huge Pages. To calculate the number of Huge Pages you first need to know the Huge Page size.
Chapter 14. Large Memory Optimization, Big Pages, and Huge Pages Note In order that an Oracle database can use Huge Pages in Red Hat Enterprise Linux 4 or 5, you also need to increase the ulimit parameter "memlock" for the oracle user in /etc/ security/limits.conf if "max locked memory" is not unlimited or too small, see ulimit -a or ulimit -l. An example can be seen below.
Huge Pages and Shared Memory File System in Red Hat Enterprise Linux 3 On this database system the size of the database buffer cache is 2 GB: db_block_buffers = 262144 db_block_size = 8192 The following command shows that Oracle allocated a shared memory file of 2GB (262144*8192=2147483648) for the buffer cache on the ramfs shared memory file system: # mount | grep ramfs ramfs on /dev/shm type ramfs (rw) # ls -al /dev/shm total 204 drwxr-xr-x 1 oracle dba 0 drwxr-xr-x 22 root root 204800 -rw-r----1 oracle
48
Chapter 15. Growing the Oracle SGA to 2.7 GB in x86 Red Hat Enterprise Linux 2.1 Without VLM 15.1. General Due to 32 bit virtual address limitations workarounds have been implemented in Linux to increase the maximum size for shared memories. The workaround is to lower the Mapped Base Address (mapped_base) for shared libraries and the SGA Attach Address for shared memory segments. Lowering the Mapped Base Address and the SGA Attach Address allows SGA sizes up to 2.7 GB.
Chapter 15. Growing the Oracle SGA to 2.7 GB in x86 Red Hat Enterprise Linux 2.1 Without VLM 0ab11000-0ab99000 0ab99000-0ad39000 40000000-40016000 40016000-40017000 40017000-40018000 40018000-40019000 40019000-4001a000 4001a000-4001c000 ... 42606000-42607000 50000000-50400000 51000000-53000000 53000000-55000000 ...
Lowering the Mapped Base Address for Shared Libraries in Red Hat Enterprise Linux 2.1 not be above the SGA attach address, example, between 0x15000000 (336 MB) and 0xc0000000 (3GB). To increase the space for shared memory in Red Hat Enterprise Linux 2.1, the mapped base for shared libraries for the Oracle processes must be changed by root. And the oracle user must relink Oracle to relocate or lower the SGA attach address for shared memory segments. 15.4.
Chapter 15. Growing the Oracle SGA to 2.7 GB in x86 Red Hat Enterprise Linux 2.1 Without VLM [[ ! -f ksms.s_orig ]] && cp ksms.s ksms.s_orig # Modify the SGA attach address in the ksms.s file before relinking Oracle genksms -s 0x15000000 > ksms.s Rebuild the Oracle executable by entering the following commands: # Create a new ksms object file make -f ins_rdbms.mk ksms.o # Create a new "oracle" executable ($ORACLE_HOME/bin/oracle): make -f ins_rdbms.
Allowing the Oracle User to Change the Mapped Base Address for Shared Libraries Allow the oracle user to execute /usr/local/bin/ChangeMappedBase via sudo without password: # echo "oracle /etc/sudoers ALL=NOPASSWD: /usr/local/bin/ChangeMappedBase" >> \ Now the Oracle user can run /usr/local/bin/ChangeMappedBase to change the mapped_base for its own shell: $ su - oracle $ cat /proc/$$/mapped_base; echo 1073741824 $ sudo /usr/local/bin/ChangeMappedBase $ cat /proc/$$/mapped_base; echo 268435456$ To change
54
Chapter 16. Growing the Oracle SGA to 2.7/3.42 GB in x86 Red Hat Enterprise Linux 3, 4 and 5 Without VLM 16.1. General Due to 32 bit virtual address limitations workarounds have been implemented in Linux to increase the maximum size for shared memories. A workaround is to lower the Mapped Base Address for shared libraries and the SGA Attach Address for shared memory segments. This enables Oracle to attain an SGA larger than 1.7 GB.
Chapter 16. Growing the Oracle SGA to 2.7/3.
Lowering the SGA Attach Address in Oracle 10g Red Hat Enterprise Kernel Type 10g Database Version Default Supported SGA without VLM Max Supported SGA without VLM Comments smp kernel (x86) 10g Release 2 Up to ~2.2 GB (*) Up to ~2.2 GB (*) No relink of 10g R2 is necessary but the SGA Attach Address is a little bit higher than in R1 hugemem kernel (x86) 10g Release 2 Up to ~3.3 GB (*) Up to ~3.
Chapter 16. Growing the Oracle SGA to 2.7/3.
Chapter 17. Using Very Large Memory (VLM) 17.1. General This chapter does not apply to x86-64 (64 bit) systems. With hugemem kernels on 32 bit systems, the SGA size can be increased but not significantly as shown at Section 16.3, “Oracle 10g SGA Sizes in Red Hat Enterprise Linux 3, 4 or 5”. Note the hugemem kernel is always recommended on systems with large amounts of RAM, see Section 2.2, “32 bit Architecture and the hugemem Kernel”.
Chapter 17. Using Very Large Memory (VLM) $ cat /etc/redhat-release Red Hat Enterprise Linux AS release 4 (Nahant Update 2) $ egrep "shm|tmpfs|ramfs" /proc/filesystems nodev tmpfs nodev ramfs $ This means that if you try to mount a shmfs file system in Red Hat Enterprise Linux 4 or 5, you will get the following error message: mount: fs type shm not supported by kernel The difference between shmfs and tmpfs is you do not need to specify the size of the file system if you mount a tmpfs file system. 17.2.
Configuring Very Large Memory (VLM) use_indirect_data_buffers=true db_block_size=8192 db_block_buffers=1048576 shared_pool_size=2831155200 Note that shmmax needs to be increased for shared_pool_size to fit into the System V shared memory. In fact, it should be slightly larger than the SGA size. Since shared_pool_size is less than 3 GB in this example, shmmax does not need to be larger than 3GB. The 8 GB indirect buffer cache will be in the RAM disk and hence it does not have to be accounted for in shmmax.
62
Part II. Installing the Oracle Database 10g on Red Hat Enterprise Linux Introduction and Information on Supported Setups for Oracle 10g This article provides a step by step guide for installing Oracle Database 10g on Red Hat Enterprise Linux. This guide covers the following Oracle Database and Red Hat Linux versions: Oracle Database Version Red Hat Enterprise Linux Version Architecture Comments Oracle 10g R2 (10.2.0.1.0) 4 and 5 x86-64 See also Oracle Database Installation Guide 10g Release 2 (10.
Part II. Installing the Oracle Database 10g on Red Hat Enterprise Linux Oracle Database Version Red Hat Enterprise Linux Version Architecture Comments 1 (10.1) for UNIX 7 Systems . Table 3. Table displaying Certified Red Hat Enterprise Linux For Oracle 10g 8 For Validation and Certification information, see Oracle's Certification Matrices . 8 https://metalink.oracle.com/metalink/certify/certify.
Chapter 18. Downloading and Unpacking Oracle 10g Installation Files Download Oracle 10g (32 bit and 64 bit) for Linux from the following web site: http://otn.oracle.com/ software/products/database/oracle10g/index.html Note To install an Oracle Database 10g (without RAC) you need to download the database file ship.db.lnx32.cpio.gz, 10201_database_linux_x86_64.cpio or similar file.
66
Chapter 19. Pre-Installation Preparation and Verification 19.1. Verifying Memory and Swap Space Oracle states that the system must have at least 512MB of RAM and 1GB of swap space or a swap space twice the size of the RAM. For systems with more than 2 GB of RAM it states the swap space can be between one and two times the size of the RAM. You might also want to read Swap Space.
Chapter 19. Pre-Installation Preparation and Verification everything work safely, securely and accurately. This section contains a list Oracle Database versions and versions of Red Hat Enterprise Linux. The list details which packages are required and how to assess whether the correct RPMs are present. For Oracle 10g R2 (64 bit), on Red Hat Enterprise Linux 4 and 5 x86-64 versions, the document 1 Oracle Database Installation Guide 10g Release 2 (10.
Verifying Software Packages (RPMs) gcc-c++-3.4.3-9.EL4 glibc-2.3.4-2 glibc-common-2.3.4-2 gnome-libs-1.4.1.2.90-44.1 libstdc++-3.4.3-9.EL4 libstdc++-devel-3.4.3-9.EL4 make-3.80-5 pdksh-5.2.14-30 sysstat-5.0.5-1 xscreensaver-4.18-5.rhel4.2 Note Install the libaio-0.3.96 RPM or a newer version, otherwise the OUI prerequisite check will fail.
Chapter 19. Pre-Installation Preparation and Verification compat-gcc-7.3-2.96.128 compat-gcc-c++-7.3-2.96.128 compat-libstdc++-7.3-2.96.128 compat-libstdc++-devel-7.3-2.96.128 gnome-libs-1.4.1.2.90-34.1 (32 bit) openmotif21-2.1.30-8 setarch-1.3-1 libaio-0.3.96-3 libaio-devel-0.3.
Verifying Kernel Parameters To check these RPMs, run: rpm -q make glibc gcc gcc-c++ libstdc++ openmotif For Red Hat Enterprise Linux 3 and 2.1 it is also important to have binutils-2.11.90.0.8-12 or a newer version installed. Make sure you have the binutils RPM installed on Red Hat Enterprise Linux 4 and 5 as well: rpm -q binutils Important OUI for x86 will also complain if the openmotif package is missing (do not confuse it with the openmotif21 package).
Chapter 19. Pre-Installation Preparation and Verification To verify shmmni, execute: cat /proc/sys/kernel/shmmni shmmni = 4096 To verify the shmall parameter, execute the command below. shmall is used in 10g R1. cat /proc/sys/kernel/shmall shmall = 2097152 To verify shmmin, execute: ipcs -lm |grep "min seg size" shmmin = 1 Note that shmseg is hardcoded in the kernel, the default is much higher.
Verifying Kernel Parameters On the following versions of Red Hat Enterprise Linux 4 x86, 3 U5 x86, 3 U5 x86-64, and 2.1; you may have to increase the kernel parameters shmmax, semopm, and filemax to meet the minimum requirement. On Red Hat Enterprise Linux 4 x86-64 you may have to increase shmmax and semopm. Oracle also recommends to set the local port range ip_local_port_range for outgoing messages to "1024 65000" which is needed for high usage systems.
Chapter 19. Pre-Installation Preparation and Verification To make the change permanent, add the following lines to the /etc/sysctl.conf file, which is used during the boot process: net.core.rmem_default=262144 net.core.wmem_default=262144 net.core.rmem_max=262144 net.core.
Chapter 20. Installing Required Software Packages The following sections provide a detailed set of instructions for installing the required software packages(RPMs) before you install your Oracle Database 10g (R1 and R2).
Chapter 20. Installing Required Software Packages rpm -Uvh libaio-0.3.103-3.x86_64.rpm rpm -Uvh compat-libstdc++-33-3.2.3-47.3.x86_64.rpm rpm -Uvh glibc-devel-2.3.4-2.13.i386.rpm libgcc-3.4.4-2.i386.rpm If you are yet to install Update 3 or later, do not forget to install an updated binutils RPM from 1 https://rhn.redhat.com/ or from http://oss.oracle.com/ . This command will install the newer version of binutils, remember to change the version number if the one you downloaded is newer.
10g R2 on Red Hat Enterprise Linux 4 and 5 (x86) redhat-artwork-0.120.1-1.2E.x86_64.rpm \ scrollkeeper-0.3.14-3.x86_64.rpm \ cdrecord-2.01.1-5.x86_64.rpm \ docbook-dtds-1.0-25.noarch.rpm \ evolution-data-server-1.0.2-9.x86_64.rpm \ intltool-0.31.2-1.x86_64.rpm \ libcroco-0.6.0-4.x86_64.rpm \ libgnomeprint22-2.8.0-3.x86_64.rpm \ libgnomeprintui22-2.8.0-1.x86_64.rpm \ libgsf-1.10.1-1.x86_64.rpm \ libwnck-2.8.1-1.rhel4.1.x86_64.rpm \ mkisofs-2.01.1-5.x86_64.rpm \ samba-common-3.0.10-1.4E.2.x86_64.
Chapter 20. Installing Required Software Packages rpm -Uvh compat-libstdc++-33-3.2.3-47.3.i386.rpm Oracle lists the control-center and xscreensaver RPMs as a requirements. But you should not have any problems when these RPMs are missing. If you want to install them, you may have to install many additional RPMs in order to satisfy dependencies. 20.3.
Oracle 10g R1 and R2 on Red Hat Enterprise Linux 3 (x86) 20.5. Oracle 10g R1 and R2 on Red Hat Enterprise Linux 3 (x86) On Red Hat Enterprise Linux 3 x86 you may have to install the following RPMs and dependencies to meet the software requirements: rpm -Uvh gcc-3.2.3-52.i386.rpm \ cpp-3.2.3-52.i386.rpm \ glibc-devel-2.3.2-95.33.i386.rpm \ glibc-headers-2.3.2-95.33.i386.rpm \ glibc-kernheaders-2.4-8.34.1.i386.rpm rpm -Uvh compat-db-4.0.14-5.1.i386.rpm \ compat-gcc-7.3-2.96.128.i386.rpm \ compat-gcc-c++-7.
Chapter 20. Installing Required Software Packages libungif-4.1.0-15.x86_64.rpm Note: Red Hat Enterprise Linux 3 x86-64 U5 does not come with a x86-64 openmotif21 RPM rpm -Uvh openmotif21-2.1.30-9.RHEL3.6.i386.rpm \ XFree86-libs-4.3.0-81.EL.i386.rpm \ XFree86-Mesa-libGL-4.3.0-81.EL.i386.rpm \ expat-1.95.5-6.i386.rpm \ fontconfig-2.2.1-13.i386.rpm \ freetype-2.1.4-4.0.i386.rpm \ zlib-1.1.4-8.1.i386.rpm Make sure to use the right i386 and x86_64 RPMs as listed above.
Verifying and Updating the redhat-release File it as a supported OS. However, the installer of 10g 10.1.0.3 does not recognize Red Hat Enterprise Linux 4 as a supported release yet. This means that you will have to edit the /etc/redhat-release file. It is not recommend to execute "runInstaller -ignoreSysPrereqs" since this will disable other checks you may need.
82
Chapter 21. Sizing Disk Space for Oracle 10g Oracle says that about 2.5 GB of disk space should be reserved for the Oracle software on Linux. Here are examples to check a file system: $ du -m -s /u01 1963 /u01 $ du -m -s /u01/app/oracle/oradata 720 /u01/app/oracle/oradata If you also install additional software from the Oracle Database 10g Companion CD, then add at least 1 GB of free disk space.
84
Chapter 22. Setting Shell Limits for Your Oracle User Most shells like Bash provide control over various resources like the maximum allowable number of open file descriptors or the maximum number of processes available to a user. For more information on ulimit for Bash, see man bash and search for ulimit. If you just install a small test database, then you might be fine with the current settings. Please note that the limits very often vary from system to system.
86
Chapter 23. Creating Oracle User Accounts To create the oracle account and groups, execute the following commands: su - root groupadd dba # group of users to be granted SYSDBA system privilege groupadd oinstall # group owner of Oracle files useradd -c "Oracle software owner" -g oinstall -G dba oracle passwd oracle For more information on the "oinstall" group account, see when to use "OINSTALL" group during 1 install of oracle . 1 https://metalink.oracle.com/oracleinstall/oracle8i/genericunix.
88
Chapter 24. Creating Oracle Directories For Oracle 10g you only need to create the directory for $ORACLE_BASE: su - root mkdir -p /u01/app/oracle chown oracle.oinstall /u01/app/oracle If you want to comply with Oracle's Optimal Flexible Architecture (OFA), then you do not want to place the database files in the /u01 directory but in another directory, file system or disk such as /u02: su - root mkdir -p /u02/oradata/orcl chown oracle.
Chapter 24. Creating Oracle Directories /u03/oradata/ /u03/oradata/ The mount point /u01 should be used for the Oracle software only. /u02, /u03, /u04 and so on, should be used for the database files. The db_name represents the DB_NAME initialization parameter which is typically the same as the SID name for single instance databases.
Chapter 25. Setting Oracle Environments Since the Oracle Universal Installer (OUI) "runInstaller" is run from the oracle account, some environment variables must be configured for this account before OUI is started.
92
Chapter 26. Installing Oracle Database 10g This Chapter will guide you through the process of installing an Oracle 10g Database. 26.1. Installing Oracle 10g on a Remote Linux Server If you want to install Oracle on a remote server, then you need to relink X to your local desktop. The easiest way to do this is to use the "X11 forwarding" feature of ssh. This means that you do not have to run xhost and set the DISPLAY environment variable.
Chapter 26.
Installing Oracle 10gR2 Cluster Ready Services (CRS) with MPIO /dev/raw/raw1 /dev/raw/raw2 /dev/raw/raw3 /dev/raw/raw4 /dev/raw/raw5 8 8 8 8 8 33 49 65 97 113 On the other nodes run blockdev so the partition table are read again and created: # # # # # blockdev blockdev blockdev blockdev blockdev --rereadpt --rereadpt --rereadpt --rereadpt --rereadpt /dev/sdc /dev/sdd /dev/sde /dev/sdg /dev/sdh Double check on the other nodes that the minor numbers for the block devices match.
Chapter 26. Installing Oracle Database 10g #/dev/raw/raw1 #/dev/raw/raw2 #/dev/raw/raw3 #/dev/raw/raw4 #/dev/raw/raw5 8 8 8 8 8 33 49 65 97 113 Check to be sure the Oracle Notification Services has started on all nodes. # ps -ef oracle oracle root |grep ons 20058 1 20059 20058 20812 28286 0 13:49 ? 0 13:49 ? 0 13:50 pts/2 00:00:00 /ora/crs/opmn/bin/ons -d 00:00:00 /ora/crs/opmn/bin/ons -d 00:00:00 grep ons The installation is now complete. Now you can to turn off Oracle CRS and start using MPIO.
Starting Oracle Universal Installer /dev/raw/raw1: /dev/raw/raw2: /dev/raw/raw3: /dev/raw/raw4: /dev/raw/raw5: bound bound bound bound bound to to to to to major major major major major 253, 253, 253, 253, 253, minor minor minor minor minor 25 21 22 23 24 Verify the correct permissions are all set.
Chapter 26. Installing Oracle Database 10g $ su - root # mount /mnt/cdrom On Red Hat Enterprise Linux 3 and 4 execute: $ su - root # mount /media/cdrom To execute runInstaller from the mounted CD, run the command corresponding to your version as the oracle user. On Red Hat Enterprise Linux 2.1 execute: oracle$ /mnt/cdrom/runInstaller On Red Hat Enterprise Linux 3 and 4 execute: oracle$ /media/cdrom/runInstaller 26.4.
Using Oracle Universal Installer (OUI) Then click Continue - Product-specific Prerequisite Checks: Verify that all checks have been passed. Make sure that the status of each Check is set to "Succeeded". On Red Hat Enterprise Linux AS 4 ignore the warnings for binutils, gcc, and openmotif and proceed. If a check fails, see Chapter 29, Oracle 10g and Linux Installation Errors and Troubleshooting. Note The "Retry" button does not work after you have fixed one of the failed checks.
Chapter 26. Installing Oracle Database 10g - Summary Click Install If Enterprise Manager configuration fails due to port allocation problems, read Chapter 29, Oracle 10g and Linux Installation Errors and Troubleshooting. When a window pops up to run the root.sh script, execute the script in another terminal as root: su - root # /u01/app/oracle/product/10.1.0/db_1/root.sh Running Oracle10 root.sh script...
Updating after the Oracle Universal Installer export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib For 10g R2 (10.2.0.1.0) you may want to add the following lines to the ~oracle/.bash_profile file: export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1 export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib After that run the following command to set all environment variables in ~oracle/.bash_profile: $ .
102
Chapter 27. Oracle Post Installation Tasks Important Before you continue, make sure you followed the steps at Section 26.5, “Updating after the Oracle Universal Installer”. 27.1. Startup and Shutdown of the Oracle 10g Database This section contains details on how to start up and shut down your Oracle Database.
Chapter 27.
Chapter 28. Tips and Hints for Oracle 10g on Red Hat Enterprise Linux To reinstall Oracle 10g after a failed installation attempt, you might want to execute the following commands. Make sure you first used the "De-installation" option in the OUI. su - root export ORACLE_HOME=/u01/app/oracle/product/10.1.0/db_1 . $ORACLE_HOME/bin/localconfig delete The above line stops the Oracle CSS daemon and deletes the configuration. rm -rf /u01/app/oracle/* rm rm rm rm -f /etc/oraInst.
106
Chapter 29. Oracle 10g and Linux Installation Errors and Troubleshooting This chapter presents many common Oracle 10g problems and other issues. Note Most of the issues are caused by not following the installation procedure correctly. Some errors are caused by not using an Oracle supported Linux OS version such as Red Hat Enterprise Linux. The Installation log file can be found in $ORACLE_BASE/oraInventory/logs. The Database Creation log file can be found in $ORACLE_BASE/admin/$ORACLE_SID/create.
Chapter 29. Oracle 10g and Linux Installation Errors and Troubleshooting Checking for filemax=65536; found filemax=26163. Failed <<<< Increase the file-max kernel parameter. See Section 19.4, “Verifying Kernel Parameters” for information on this problem and how to solve it. ORA-01034: ORACLE not available, ORA-27101: shared memory realm does not exist, Linux Error: 2: No such file or directory, or ORA-01034: ORACLE not available First check if ORACLE_SID is set correctly.
su - root init 3 init 5 If you are using telnet you will have to set the DISPLAY variable manually. Recovery Manager(rman) hangs You are probably running the wrong rman binary which belongs to the XFree86-devel RPM: $ which rman /usr/X11R6/bin/rman ORA-00988 missing or invalid password(s) During the Oracle 10g installation you probably provided a password for the Oracle database accounts that started with a digit number.
Chapter 29. Oracle 10g and Linux Installation Errors and Troubleshooting libs-6.8.2-1.EL.13.6.i386.rpm). The installation depends on the following packages, to install these packages execute the follow commands: # rpm -Uvh xorg-x11-deprecated-libs-6.8.2-1.EL.13.6.i386.rpm \ xorg-x11-libs-6.8.2-1.EL.13.6.i386.rpm \ xorg-x11-Mesa-libGL-6.8.2-1.EL.13.6.i386.rpm \ expat-1.95.7-4.i386.rpm \ fontconfig-2.2.3-7.i386.rpm \ freetype-2.1.9-1.i386.rpm \ zlib-1.2.1.2-1.i386.rpm Installing 10g R2 (10.2.0.1.
Error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory Make sure the libaio RPM is installed. On Red Hat Enterprise Linux 3 x86: # rpm -Uvh libaio-0.3.96-5.i386.rpm On Red Hat Enterprise Linux 4 Update 2 x86-64: # rpm -Uvh libaio-0.3.103-3.x86_64.rpm Your version of libaio may be different. Error in invoking target 'all_no_orcl' The error text in full: Error in invoking target 'all_no_orcl' of makefile '/u01/app/oracle/oracle/product/10.2.
Chapter 29. Oracle 10g and Linux Installation Errors and Troubleshooting The log file shows the following error: INFO: Creating /u01/app/oracle/oracle/product/10.2.0/db_1/lib/liborasdkbase.so.10.2 INFO: gcc: INFO: /usr/lib/libstdc++.so.5: No such file or directory INFO: INFO: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/genorasdksh: Failed to link liborasdkbase.so.10.2 This means that the "33" version of the compat-libstdc++ RPM is missing. Installing 10g R2 (10.2.0.1.
ORA-12547: TNS:lost contact There can be many reasons for this error. This can happen during the ASM instance start up when the libaio RPM is not installed on the system. You can test this by running lsnrctl as the oracle user. $ lsnrctl start ...
114
Part III. Installing the Oracle9i 32 bit Database on Red Hat Enterprise Linux Introduction and Information on Supported Setups for Oracle 9i This article provides a step by step guide for installing Oracle9i databases on Red Hat Enterprise Linux. This guide covers the following Oracle Database and Red Hat Linux versions: Oracle Database Version Red Hat Enterprise Linux Version Architecture Oracle9i R2 (9.2.0.6.0) 4 x86 (32 bit) Oracle9i R2 (9.2.0.4.0) 3 x86 (32 bit) Oracle9i R2 (9.2.0.1.0) 2.
Chapter 30. Preparing Red Hat Enterprise Linux for an Oracle Database Installation This chapter will guide you though the pre-installation procedures for installing Oracle 9i on Red Hat Enterprise Linux 30.1. Unpacking and Downloading the Oracle9i Installation Files Download Oracle9i for Linux from http://otn.oracle.com/software/products/oracle9i/htdocs/ linuxsoft.html. Here are two methods for unpacking the Oracle installation files, choose one.
Chapter 30. Preparing Red Hat Enterprise Linux for an Oracle Database Installation 30.3. Setting Shared Memory For Oracle9i installations, the maximum shared memory size must be increased. If it is too small, the Oracle Database Configuration Assistant will display the following error message: ORA-27123: unable to attach to shared memory segment.
Chapter 31. Verifying Required Packages(RPMs) You will need certain RPM development packages for the Oracle installer to build Oracle modules, otherwise you will get error messages similar to this one: Error in invoking target ntcontab.o of makefile /u01/app/oracle/product/9.2.0/network/lib/ins_net_client.mk Note Always ensure you use the latest stable versions of RPM. See the Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 for the list of required RPMs. 31.1.
Chapter 31. Verifying Required Packages(RPMs) 31.3.
Required Packages for Red Hat Enterprise Linux 4 gnome-libs-devel-1.4.1.2.90-44.1.i386.rpm ORBit-0.5.17-14.i386.rpm ORBit-devel-0.5.17-14.i386.rpm alsa-lib-1.0.6-4.i386.rpm audiofile-0.2.6-1.i386.rpm esound-0.2.35-2.i386.rpm esound-devel-0.2.35-2.i386.rpm gtk+-1.2.10-33.i386.rpm gtk+-devel-1.2.10-33.i386.rpm imlib-1.9.13-23.i386.rpm imlib-devel-1.9.13-23.i386.rpm libpng10-1.0.16-1.i386.rpm alsa-lib-devel-1.0.6-4.i386.rpm audiofile-devel-0.2.6-1.i386.rpm gdk-pixbuf-0.22.0-15.1.i386.rpm glib-devel-1.2.10-15.
122
Chapter 32. Setting Up a Working Environment for Oracle This chapter covers the creation of user accounts, directories and Oracle environments for your Oracle Database before you install. 32.1. Creating Oracle User Accounts This section covers the command necessary to activate the required accounts to install an Oracle Database.
Chapter 32. Setting Up a Working Environment for Oracle export export export export ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/9.2.0 ORACLE_SID=test ORACLE_TERM=xterm You will need to export TNS_ADMIN= Set if sqlnet.ora, tnsnames.
Chapter 33. Starting runInstaller An important point to note... If you use CDs to install the database, do not change directory (cd) to /mnt/cdrom to execute ./runInstaller! If you do so, the installation will fail because you will not be able to change the CDs. Before you continue, make sure you have set the Oracle environment variables in Section 32.3, “Setting Oracle Environment Variables”. Oracle no longer supports a character mode installer.
126
Chapter 34. Installing Oracle9i R2 (9.2.0.1.0) on Red Hat Advanced Server 2.1 You may get one or more errors during the Oracle installation. If you encounter a problem, read Chapter 38, Oracle Installation Errors. for more information and solutions. The errors can be addressed very easily using the prescribed solutions.
128
Chapter 35. Installing Oracle9i R2 (9.2.0.4.0) on Red Hat Enterprise Linux 3 In order to install an Oracle9i R2 database on Red Hat Enterprise Linux 3, the "Oracle9iR2 Patch Set 3 9.2.0.4.0" patch set and a few other patches must be applied after the installation of Oracle9i Release 2 (9.2.0.1.0). Please note, there exists errors that can only be fixed by applying the 9.2.0.4 patch set. 35.1. Installing Oracle9i R2 (9.2.0.1.
Chapter 35. Installing Oracle9i R2 (9.2.0.4.0) on Red Hat Enterprise Linux 3 To resolve the __libc_wait symbol issue, download the p3006854_9204 patch p3006854_9204_LINUX.zip from http://metalink.oracle.com. See bug 3006854 for more information. To apply the patch, run # unzip p3006854_9204_LINUX.zip Archive: p3006854_9204_LINUX.zip creating: 3006854/ inflating: 3006854/rhel3_pre_install.sh inflating: 3006854/README.txt # cd 3006854 # sh rhel3_pre_install.sh Applying patch...
Installing Oracle9i R2 (9.2.0.1.0) on Red Hat Enterprise Linux 3 - Inventory Location: Click Next - Unix Group Name: Use "oinstall" Click Next When asked to run /tmp/orainstRoot.sh, run it before you click Continue - File Locations: Use the default values - Available Products: Select "Oracle9i Database 9.2.0.1.0" - Installation Types: Select Custom since we only want to install the software for now - Available Products: Click Next or add some more components.
Chapter 35. Installing Oracle9i R2 (9.2.0.4.0) on Red Hat Enterprise Linux 3 /usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS) is referenced by DSO collect2: ld returned 1 exit status make: *** [ctxhx] Error 1 Click ignore. This will be fixed when you apply the 9.2.0.4 patch set. 35.2. Patching Oracle9i to 9.2.0.4.0 on Red Hat Enterprise Linux 3 To patch Oracle9i R2, download the Oracle9i Release 2 Patch Set 3 Version 9.2.0.4.0 for Linux x86 from http://metalink.oracle.com.
Patching Oracle9i to 9.2.0.4.0 on Red Hat Enterprise Linux 3 - Welcome Screen: Click Next - File Locations: Use default values - Available Products: Select "Oracle9iR2 Patch Set 3 9.2.0.4.0 !" - Summary: Start the Install - At the end of the installation, exit runInstaller You may get the error: "Error in invoking target install of makefile /u01/app/oracle/ product/9.2.0/network/lib/ins_oemagent.mk". The /u01/app/oracle/product/9.2.0/install/make.log file reads: /u01/app/oracle/product/9.2.
Chapter 35. Installing Oracle9i R2 (9.2.0.4.0) on Red Hat Enterprise Linux 3 $ dbca 35.3. Patching Oracle Intelligent Agent on Red Hat Enterprise Linux 3 When you run "agentctl start" (Oracle 9.2.0.4), dbsnmp will crash: $ su - oracle $ agentctl start DBSNMP for Linux: Version 9.2.0.4.0 - Production on 07-JAN-2004 19:11:14 Copyright (c) 2003 Oracle Corporation. All rights reserved. Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.
Patching Oracle Intelligent Agent on Red Hat Enterprise Linux 3 $ su - oracle $ cd $ORACLE_HOME/network/lib $ make -f ins_oemagent.mk install Now you should be able to start the agent: $ su - oracle $ agentctl start Note Do not forget to undo the links to /usr/bin/gcc and /usr/bin/g++ if you do not need them any more. You may also want to undo the changes in /etc/ld.so.preload file.
136
Chapter 36. Installing Oracle9i R2 (9.2.0.6.0) on Red Hat Enterprise Linux 4 In order to install Oracle9i Release 2 (9.2.0.6), the 9.2.0.6 patch set must be applied for the Oracle database server (patch number 3948480) after the Oracle9i Release 2 (9.2.0.4) installation. For more information, see Oracle9i Release Notes Release 2 (9.2.0.4.0) for Linux x86 - Red Hat Enterprise Linux 4 Certification Update. 36.1. Installing Oracle9i R2 (9.2.0.4.
Chapter 36. Installing Oracle9i R2 (9.2.0.6.0) on Red Hat Enterprise Linux 4 - Summary: Start the Install 36.2. Patching Oracle9i R2 to 9.2.0.6.0 on Red Hat Enterprise Linux 4 Download the patch 3948480, Oracle9i Patch Set Release 2 (9.2.0.6) Patch Set 5, from http:// metalink.oracle.com and execute the following commands to extract it: su - oracle $ cp p3948480_9206_LINUX.zip /tmp $ cd /tmp $ unzip p3948480_9206_LINUX.zip Archive: p3948480_9206_LINUX.
Patching Oracle9i R2 to 9.2.0.6.0 on Red Hat Enterprise Linux 4 su - oracle $ echo $LD_ASSUME_KERNEL # it is important that this variable is set! 2.4.19 $ /tmp/Disk1/install/runInstaller -paramFile /tmp/oraparam.ini - Welcome Screen: Click Next - File Locations: Use default values (in this example: /tmp/Disk1/stage/products.xml) - Available Products: Select "Oracle 9iR2 Patchset 9.2.0.6.0" - Summary: Click Install When you are asked to run root.
140
Chapter 37. Starting and Shutting down the Oracle9i Database This chapter shows two separate ways to start and shut down an Oracle9i Database; Using SQLplus and using the ORACLE_HOME binaries. sqlplus Note In Oracle9i svrmgrl is no longer supported, however, you can now do everything with sqlplus so nothing is lost. To start up the database, run the following commands: oracle$ sqlplus /nolog SQL> connect / as sysdba SQL> startup The slash connects you to the schema owned by SYS.
Chapter 37. Starting and Shutting down the Oracle9i Database cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936 \ $ORACLE_HOME/dbs/inittest.ora Then make sure that your init file already exists in $ORACLE_HOME/dbs.
Chapter 38. Oracle Installation Errors This chapter covers many common errors and pitfalls associated with installing an Oracle9i Database. Log Files Always check first the error logs for 9.2.0 in /tmp/OraInstall*, where "*" will be the date of the install, for example /tmp/OraInstall2002-07-04_09-50-19PM. When you problems with make, see also the $ORACLE_HOME/install/make.log file.
Chapter 38. Oracle Installation Errors INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m `cat $(LIBHOME)/sysliblist` $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa $(LDLIBFLAG)sc_ex $(LDLIBFLAG)sc_da $(LDLIBFLAG)sc_ut $(LDLIBFLAG)sc_ch $(LDLIBFLAG)sc_fi $(LLIBCTXHX) $(LDLIBFLAG)c -Wl,-rpath,$(CTXHOME)lib $(CORELIBS) $(COMPEOBJS) After that hit Retry in the error pop-up.
Copyright (c) 2003 Oracle Corporation. All rights reserved. Starting Oracle Intelligent Agent.../u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1855 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1 /u01/app/oracle/product/9.2.0/bin/dbsnmpwd: line 156: 1868 Segmentation fault nohup $ORACLE_HOME/bin/dbsnmp $* >>$DBSNMP_WDLOGFILE 2>&1 /u01/app/oracle/product/9.2.
Chapter 38. Oracle Installation Errors gcc -o /u01/app/oracle/product/9.2.0/rdbms/lib/oracle \ -L/u01/app/oracle/product/9.2.0/rdbms/lib/ ... ... /usr/bin/ld: /u01/app/oracle/product/9.2.0/rdbms/lib/oracle: hidden symbol `__fixunssfdi' in / usr/lib/gcc-lib/i386-redhat-linux/3.2.3/libgcc.a(_fixunssfdi.oS) is referenced by DSO collect2: ld returned 1 exit status make: *** [/u01/app/oracle/product/9.2.0/rdbms/lib/oracle] Error 1 /usr/bin/make -f ins_rdbms.mk ioracle ORACLE_HOME=/u01/app/oracle/product/9.2.
Recovery Manager(rman) Hangs You are probably running the wrong rman binary from the XFree86-devel RPM: $ which rman /usr/X11R6/bin/rman Can't find init file for Database "SID" You may see this error when you start the database with dbstart. Copy the init file for your SID (in this example “test”) from from /u01/app/oracle/admin/test/ pfile to $ORACLE_HOME/dbs to get dbstart and dbshut working: cp /u01/app/oracle/admin/test/pfile/inittest.ora.642002224936 $ORACLE_HOME/dbs/inittest.
Chapter 38. Oracle Installation Errors /u01/app/oracle/jre/1.1.8/bin/../lib/i686/green_threads/libzip.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference (libzip.so) Unable to initialize threads: cannot find class java/lang/Thread Could not create Java VM You may experience this problem when running the Database Configuration Assistant dbca on Red Hat Enterprise Linux 3 but forgot to set the LD_ASSUME_KERNEL environment variable.
Note If you use newer Red Hat Enterprise Linux versions as your desktop and you want to install the database on another machine, then you need to set the DisallowTCP entry in /etc/X11/gdm/gdm.conf for the GNOME Display Manager to read: DisallowTCP=false After that you need to restart your X server. You can do this runnning the init command as root: # init 3# init 5 Other Errors For other errors, issues and problems your best bet is to search the Oracle on Linux Discussion 1 Forum . 1 http://forums.
150
Chapter 39. Reference List puschitz.com 1 Oracle Database 10g Release 1 (10.1) Documentation Oracle Database 10g Release 2 (10.2) Documentation Oracle Database 10g Linux Administration 2 3 4 http://www.bookpool.com/sm/0072230533 GFS and Oracle 10gR2 RAC Installation 5 GFS and Oracle 10gR2 RAC Installation (PDF) Red Hat Enterprise Linux AS 4 Release Notes 6 7 Upgrading from Red Hat Enterprise Linux 2.1 AS To Red Hat Enterprise Linux 3 8 An Overview of Red Hat Advanced Server V2.
Chapter 39. Reference List Oracle MetaLink Note:249213.1 Oracle MetaLink Note:260152.1 Oracle MetaLink Note:262004.1 Oracle MetaLink Note:265194.1 Oracle MetaLink Note:270382.1 Oracle MetaLink Note:280463.1 Oracle MetaLink Note:329378.1 Oracle MetaLink Note:344320.1 Oracle Database Documentation Library 16 17 Oracle Validated Configurations 16 17 http://www.oracle.com/pls/db102/portal.portal_demo3?selected=1 http://www.oracle.com/technology/tech/linux/validated-configurations/index.
Appendix A. Revision History Revision 1.00 Chris Curran ccurran@redhat.com Converted to the Red Hat standard Revision 1.01 Chris Curran ccurran@redhat.com Legal Notice Page: Clarification of Copyright Statement. Red Hat owns the copyright to this and all other subsequent derivative works. Werner Puschitz retains the copyright to the original at www.puschitz.com.
154