quick installation guide - · pdf file · 2013-10-022013-10-02 · 3.1...
TRANSCRIPT
1 | P a g e
Quick Installation Guide
12c Release 1 (12.1) for Oracle Solaris on x86-64 (64-Bit)
This guide describes how to quickly install Oracle Database 12c Release 1 (12.1) on
Oracle Solaris on x86-64 (64-Bit) systems. It includes information about the following:
Table of Contents
1. Reviewing Information About This Guide .......................................................................................... 3
2. Logging Into the system as root ............................................................................................................. 3
3. Configuring Servers for Oracle Database ............................................................................................ 3
3.1 Checking Server Hardware and Memory Configuration ................................................................... 3
1. To determine the available RAM and swap space, enter the following command to obtain the
system activity report: ............................................................................................................................... 3
2. To determine the size of the configured swap space, enter the following command: .................. 3
3. To determine the amount of space available in the /tmp directory, enter the following
command: .................................................................................................................................................. 4
4. To determine the amount of free disk space on the system, enter one of the following
commands: ................................................................................................................................................ 4
5. To determine the RAM size, enter the following command: .......................................................... 4
3.2 General Server Minimum Requirements .............................................................................................. 5
3.3 Server Storage Minimum Requirements .............................................................................................. 5
3.4 Server Memory Minimum Requirements ............................................................................................. 6
4. Operating System Requirements for Oracle Solaris onx86-64 (64-Bit) ............................................. 6
4.1 Supported Oracle Solaris 10 Releases for x86-64 (64-Bit) .................................................................... 7
5. Checking the Software Requirements ................................................................................................ 26
1. To determine which version of Oracle Solaris is installed, enter the following command: ........... 26
2. To determine the release level enter the following command: ......................................................... 26
3. To determine if the required packages are installed, enter the following command: ..................... 26
6. Verifying Operating System Patches on Oracle Solaris 10 .............................................................. 27
2 | P a g e
7. Creating Required Operating System Groups and User ................................................................. 27
8. Configuring Kernel Parameters on Oracle Solaris ............................................................................ 31
8.1 Minimum Parameter Settings for Installation..................................................................................... 31
9. Requirements for Shared Memory Resources ................................................................................... 32
9.1 Checking Shared Memory Resource Controls .................................................................................... 33
9.2 Displaying and Changing Kernel Parameter Values ......................................................................... 33
10. Configuring Shell Limits for Oracle Solaris .................................................................................. 38
10.1 To check current soft shell limits, enter the following command: - ................................................ 38
10.2 To check maximum hard limits, enter the following command: ..................................................... 39
10.3 To change Soft/hard limits permanently, enter the following command: ...................................... 40
10.4 To Set Hard Limit unlimited .............................................................................................................. 41
10.5 How to Remove a Resource Control Attribute From a Project ........................................................ 42
10.6 Adding Resource Control Attribute to Project .................................................................................. 42
10.7 Removing Resource Control Attribute to Project ............................................................................. 42
11. Creating Required Directories & Identifying Required Software Directories ......................... 43
To create the Oracle base directory and specify the correct owner, group, and permissions for it: .... 43
12. Configuring Oracle Software Owner Environment .................................................................. 44
3 | P a g e
1. Reviewing Information About This Guide
This guide describes how to install Oracle Database by using the default installation options.
Where to Get Additional Installation Information
For more information about installing Oracle Database http://www.oracle.com/technetwork/indexes/documenta tion/index.html
2. Logging Into the system as root
During installation, you must perform tasks as root or as other users on remote terminals. Have
root login.
3. Configuring Servers for Oracle Database
This section describes the following operating system tasks you must complete before you
install Oracle Database:
■ Checking Server Hardware and Memory Configuration
■ General Server Minimum Requirements
■ Server Storage Minimum Requirements
■ Server Memory Minimum Requirements
3.1 Checking Server Hardware and Memory Configuration
Run the following commands to check your current system information:
1. To determine the available RAM and swap space, enter the following command to obtain the system activity
report:
# sar -r n i
For example:
# sar -r 2 10
If the size of the physical RAM installed in the system is less than the required size,
then install more memory before continuing.
2. To determine the size of the configured swap space, enter the following command:
# /usr/sbin/swap -l # swap -s total: 176408k bytes allocated + 36060k reserved = 212468k used, 1272768k available
If necessary, see your operating system documentation for information about how to
configure additional swap space. ========================================================================
Note: Review your Oracle Solaris documentation for swap space allocation
guidance for your server. The Oracle Solaris documentation guidelines
supersede the swap space requirements listed in this guide. ========================================================================
4 | P a g e
3. To determine the amount of space available in the /tmp directory, enter the following command:
# df -k /tmp # df -h /tmp Filesystem size used avail capacity Mounted on swap 1.2G 36K 1.2G 1% /tmp
The df -k command displays disk space in 1 kilobyte blocks. On most systems, you can
use the df command with the -h flag (df -h ) to display output in "human-readable"
format.
If the free space available in the /tmp directory is less than what is required, then complete
one of the following steps:
■ Delete unnecessary files from the /tmp directory to meet the disk space
requirement.
■ Set the TMP and TMPDIR environment variables when setting the oracle user ’s
environment.
See Also: "Configuring Oracle Software Owner Environment" on page 1-
19 for more information about setting TMP and TMPDIR
■ Extend the file system that contains the /tmp directory.
4. To determine the amount of free disk space on the system, enter one of the following commands:
# df -k # df -h
5. To determine the RAM size, enter the following command:
# /usr/sbin/prtconf | grep "Memory size"
# /usr/sbin/prtconf | grep "Memory size" Memory size: 1280 Megabytes
6. To determine if the system architecture can run the Oracle software, enter the
following command:
# /bin/isainfo -kv
# /bin/isainfo -kv 64-bit amd64 kernel modules
This command displays the processor type. The following is the expected output of this
command:
Oracle Solaris on x86-64 (64-Bit):
64-bit amd64 kernel modules
If you do not see the expected output, then you cannot install the software on this system.
Obtain the correct software for your system architecture before proceeding further
5 | P a g e
3.2 General Server Minimum Requirements
Ensure the following general minimum requirements on your system:
■ Ensure that the system is started with run level 3.
■ Ensure display cards provide at least 1024 x 768 display resolution, so that Oracle
Universal Installer displays correctly while performing a system console-based
installation.
3.3 Server Storage Minimum Requirements
Ensure that your Oracle Solaris system meets the following storage requirements:
■ Ensure that your Oracle Solaris system meets the disk space requirement for software
files as described in Table 1.
Table 1 Disk Space Requirements for Software Files on Oracle Solaris on x86-64 (64-Bit) ================================
Installation Type Disk Space
================================
Enterprise Edition 5.9 GB
Standard Edition 5.8 GB
Standard Edition One 5.8 GB
================================
# df -h |egrep 'File|u01'
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t2d0s0 9.9G 10M 9.7G 1% /u01
■ 1 GB of space in the /tmp directory.
If the free space available in the /tmp directory is less than what is required, then complete
one of the following steps:
■ Delete unnecessary files from the /tmp directory to meet the disk space
requirement.
■ Set the TMP and TMPDIR environment variables when setting the oracle user’s
environment.
See Also: "Configuring Oracle Software Owner Environment" on page 1-
19 for more information about setting TMP and TMPDIR
■ Extend the file system that contains the /tmp directory.
# df -h /tmp
Filesystem size used avail capacity Mounted on
swap 1.2G 36K 1.2G 1% /tmp
6 | P a g e
3.4 Server Memory Minimum Requirements
Ensure that your Oracle Solaris system meets the following memory requirements:
Minimum: 1 GB of RAM
Recommended: 2 GB of RAM or more
Table 2 describes the relationship between the installed RAM and the configured swap space
recommendation:
Table 2 Swap Space Requirement for Oracle Solaris ===========================================
RAM Swap Space ===========================================
Between 1 GB and 2 GB 1.5 times the size of the RAM
Between 2 GB and 16 GB Equal to the size of the RAM
More than 16 GB 16 GB
=========================================== # /usr/sbin/prtconf | grep "Memory size"
Memory size: 1280 Megabytes
Note: On Oracle Solaris, if you use non-swappable memory, like
ISM, then deduct the memory allocated to this space from the
available RAM before calculating the swap space. If you plan to install
Oracle Database on systems using DISM, then available swap space
must be at least equal to the sum of the SGA sizes of all instances running on the servers.
4. Operating System Requirements for Oracle Solaris onx86-64 (64-Bit)
The following Oracle Solaris kernels and packages listed are supported on x86-64 (64-bit)
systems for Oracle Database and Oracle Grid Infrastructure 12c:
■ Supported Oracle Solaris 10 Releases for x86-64 (64-Bit)
7 | P a g e
4.1 Supported Oracle Solaris 10 Releases for x86-64 (64-Bit)
Use the following information to check supported Oracle Solaris 10 releases:
Table 4 x86-64 (64-Bit) Supported Oracle Solaris 10 Operating System Requirements
Item Requirements
SSH Requirement Ensure that OpenSSH is installed on your servers. OpenSSH is the required SSH software.
Oracle Solaris 10 operating system
Packages and Patches for Oracle Solaris 10
Oracle Solaris 10 Update 10 (Oracle Solaris 10 8/11 s10x_ u10wos_17b) or later updates
The following packages and patches (or later versions) must be installed:
SUNWarc SUNWbtoo SUNWcsl SUNWdtrc SUNWeu8o SUNWhea SUNWi1cs (ISO8859-1) SUNWi15cs (ISO8859-15) SUNWi1of SUNWlibC SUNWlibm SUNWlibm SUNWspro SUNWtoo SUNWxwfn
Note: You may also require additional font packages for Java, depending on your locale. Refer to the following website for more information: http://www.oracle.com/technetwork/java/javase/sola ris-font-requirements-142758.htm
5. Checking the Software Requirements
To ensure that the system meets these requirements, follow these steps:
1. To determine which version of Oracle Solaris is installed, enter the following command:
# uname -r 5.10
In this example, the version shown is Oracle Solaris 10 (5.10).
2. To determine the release level enter the following command:
# cat /etc/release # cat /etc/release Oracle Solaris 10 1/13 s10x_u11 wos_24a X86 Copyright (c) 1983, 2013, Oracle and/or its affil iates. All rights reserved. Assembled 17 January 20 13
3. To determine if the required packages are installed, enter the following command:
pkginfo -i pkg_name
Where pkg_name is the name of the package to check.
For example, to determine if the required Oracle Solaris 10 packages are installed, enter a
command similar to the following:
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUNWl ibm SUNWlibms SUNWsprot \ SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUNWc sl SUNWdtrc
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibC SUN Wlibm SUNWlibms SUNWsprot \ > SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt SUN Wcsl SUNWdtrc system SUNWarc Lint Libraries (usr) system SUNWbtool CCS tools bundled with SunOS system SUNWcsl Core Solaris, (Shared Libs) system SUNWdtrc DTrace Clients system SUNWhea SunOS Header Files system SUNWi1of ISO-8859-1 (Latin-1) Optional Fonts system SUNWlibC Sun Workshop Compilers Bundle d libC system SUNWlibm Math & Microtasking Library H eaders & Lint Files (Usr) system SUNWlibms Math & Microtasking Libraries (Usr) system SUNWsprot Solaris Bundled tools system SUNWtoo Programming Tools system SUNWxwfnt X Window System platform requ ired fonts ERROR: information for "SUNWi1cs" was not found ERROR: information for "SUNWi15cs" was not found
If a package that is required for your system architecture is not installed, then install it.
Refer to your operating system or software documentation for information about
installing packages.
See Also: "Verifying Operating System Packages on Oracle Solaris
10"
Note: There may be more recent versions of packages listed installed on the
system. If a listed patch is not installed, then determine if a more recent
version is installed before installing the version listed.
6. Verifying Operating System Patches on Oracle Solaris 10
Note: Your system may have more recent versions of the listed patches
installed on it. If a listed patch is not installed, then determine if a more recent
version is installed before installing the version listed.
Verify that you have the required operating system patches. To ensure that the system meets
these requirements, use the following procedure:
1. To determine whether an operating system patch is installed, and whether it is the correct
version of the patch, enter a command similar to the following:
# /usr/sbin/patchadd -p | grep patch_number
For example, to determine if any version of the 119963 patch is installed, use the
following command:
# /usr/sbin/patchadd -p | grep 119963
If an operating system patch is not installed, then download and install it from My
Oracle Support: https://support.oracle.com
7. Creating Required Operating System Groups and User
The following local operating system groups and users are required if you are
installing Oracle Database:
■ The Oracle Inventory group (typically, oinstall )
You must create this group the first time you install Oracle software on the system. The usual name chosen for this group is oinstall . This group owns the Oracle inventory, which is a catalog of all Oracle software installed on the system.
■ The OSDBA group (typically, dba )
You must create this group the first time you install Oracle Database software on the system. It
identifies operating system user accounts that have database administrative privileges (the
SYSDBA privilege). The default name for this group is dba.
If you want to specify a group name other than the default dba group, then you must choose the
Custom installation type to install the software or start Oracle Universal Installer as a user that is
not a member of this group. In this case, Oracle Universal Installer prompts you to specify the
name of this group.
• An unprivileged user
Verify that the unprivileged user nobody exists on the system. The nobody user must own the
external jobs (extjob) executable after the installation.
Verifying that the User nobody Exists
Before installing the software, perform the following procedure to verify that the nobody user
exists on the system:
1. To determine whether the user exists, enter the following command:
# id nobody
uid=60001(nobody) gid=60001(nobody)
#
If this command displays information about the nobody user, then you do not have to
create that user.
2. If the nobody user does not exist, then enter the following command to create it:
# /usr/sbin/useradd nobody
■ The Oracle software owner (typically, oracle)
You must create this user the first time you install Oracle software on the system. This user owns
all of the software installed during the installation. This user must have the Oracle Inventory
group as its primary group. It must also have the OSDBA and OSOPER groups as secondary
groups.
■ The OSOPER group (Optional. Typically, oper)
This is an optional group. Create this group if you want a separate group of operating system
users to have a limited set of database administrative privileges (the SYSOPER privilege). By
default, members of the OSDBA group also have the SYSOPER privilege.
If you want to specify a separate OSOPER group, other than the default dba group, then you must
choose the Custom installation type to install the software or start Oracle Universal Installer as a
user that is not a member of the dba group. In this case, Oracle Universal Installer prompts you to
specify the name of this group. The usual name chosen for this group is oper.
To determine whether these groups and users exist, and if necessary, to create them, follow
these steps:
1. To determine whether the oinstall group exists, enter the following command:
# more /var/opt/oracle/oraInst.loc
If the output of this command shows the oinstall group name, then the group exists.
If the oraInst.loc file exists, then the output from this command is similar to the
following:
inventory_loc=/u01/app/oracle/oraInventory inst_group= oinstall
The inst_group parameter shows the name of the Oracle Inventory group, oinstall .
2. To determine whether the dba group exists, enter the following command:
# grep dba /etc/group
If the output from this commands shows the dba group name, then the group exists.
3. If necessary, enter the following commands to create the oinstall and dba,oper groups:
# /usr/sbin/ groupadd -g 101 oinstall # /usr/sbin/ groupadd -g 102 dba # /usr/sbin/ groupadd -g 103 oper
4. To determine whether the oracle user exists and belongs to the correct groups, enter the
following command:
# id -a oracle
If the oracle user exists, this command displays information about the groups to which
the user belongs. The output should be similar to the following, indicating that oinstall is
the primary group and dba is a secondary group:
uid=440(oracle) gid=200( oinstall) groups=201(dba),202(oper)
5. If necessary, complete one of the following actions:
■ If the oracle user exists, but its primary group is not oinstall or it is not a member
of the dba group, then enter the following command:
# /usr/sbin/usermod -g oinstall -G dba oracle
Oracle does not support modifying an existing installation owner. See Oracle
Database Installation Guide for more information.
■ If the oracle user does not exist, enter the following command to create it:
-bash-3.2$ df -h |egrep 'File|export' Filesystem size used avail capacity Mounted on /dev/dsk/c0t0d0s7 7.1G 7.2M 7.0G 1% /export/home
To delete existing users: ========================== userdel -r oracle � this will remove his home folder as well or userdel oracle � this will keep his home folder and only remove user
# id -a oracle id: invalid user name: "oracle" # pwd /export/home # ls -ltrh total 18 drwx------ 2 root root 8.0K Jul 7 18: 49 lost+found drwxr-xr-x 2 root root 512 Jul 9 16: 49 soft
# useradd -u 100 -g oinstall -G dba,oper -d /export/home/ora cle -m -s /bin/bash -c "oracle Software Owner" oracle # ls -ltrh total 20 drwx------ 2 root root 8.0K Jul 7 18: 49 lost+found drwxr-xr-x 2 root root 512 Jul 9 16: 49 soft drwxr-xr-x 2 oracle oinstall 512 Sep 4 22:02 oracle
This command creates the oracle user and specifies oinstall as the primary group
and dba as the secondary group.
In this command:
The -g option specifies the primary group, which must be the Oracle Inventory group, for
example oinstall
The -G option specifies the secondary groups, which must include the OSDBA group and
if required, the OSOPER group. For example, dba,oper
The –m Create the new user's home directory if it does not already exist. If the directory
already exists, it must have read, write, and execute permissions by group, where group is
the user's primary group.
# cat /etc/passwd |grep oracle oracle:x:100:101:oracle Software Owner:/export/home /oracle:/bin/ksh
6. Enter the following command to set the password of the oracle user:
# passwd -r files oracle
New Password: Re-enter new Password: passwd: password successfully changed for oracle oracle12c is the passwd
7. Check newly created oracle user by login in separate putty/window.
login as: oracle Using keyboard-interactive authentication. Password: Last login: Wed Sep 4 22:10:13 2013 from 192.168.5 6.1 Oracle Corporation SunOS 5.10 Generic Pat ch January 2005 $ id -p uid=100(oracle) gid=101(oinstall) projid=3(default) $ pwd /export/home/oracle $ touch tst.txt $ ls -ltrh total 6 -rw-r--r-- 1 oracle oinstall 136 Sep 4 22: 09 local.cshrc -rw-r--r-- 1 oracle oinstall 157 Sep 4 22: 09 local.login -rw-r--r-- 1 oracle oinstall 174 Sep 4 22: 09 local.profile -rw-r--r-- 1 oracle oinstall 0 Sep 4 22: 16 tst.txt $ echo $SHELL /bin/ksh
8. Configuring Kernel Parameters on Oracle Solaris
This section contains the following topics:
■ Minimum Parameter Settings for Installation
■ Requirements for Shared Memory Resources
■ Checking Shared Memory Resource Controls
■ Displaying and Changing Kernel Parameter Values
==========================================================
Note: The kernel parameter values in this section are minimum values only.
For production database systems, Oracle recommends that you tune these
values to optimize the performance of the system. Refer to your operating
system documentation for more information about kernel resource
management.
==========================================================
8.1 Minimum Parameter Settings for Installation
During installation, you can generate and run the fixup script to check and set the kernel
parameter values required for successful installation of the database. This script updates
required kernel packages if necessary to minimum values.
If you cannot use the fixup script, then review the following table to set the values manually.
Verify that the kernel parameters shown in the following table are set to values greater than
or equal to the minimum value shown.
==========================================================
Note: On Oracle Solaris 10, you are not required to make changes to the
/etc/system file to implement the System V IPC. Oracle Solaris 10 uses the
resource control facility for its implementation.
==========================================================
Resource
Parameter Replaced by Resource Control Recommended Value
noexec_user_stack NA 1
semsys:seminfo_semmni project.max-sem-ids 100
semsys:seminfo_semmns NA 1024
semsys:seminfo_semmsl project.max-sem-nsems 256
semsys:seminfo_semvmx NA 32767
shmsys:shminfo_shmmax project.max-shm-memory 4294967295
shmsys:shminfo_shmmin NA 1
shmsys:shminfo_shmmni project.max-shm-ids 100
shmsys:shminfo_shmseg NA 10
Resource Control Minimum Value
project.max-sem-ids 100
process.max-sem-nsems 256
project.max-shm-memory This value varies according to the RAM size. See General Server Minimum Requirements for minimum values.
project.max-shm-ids 100
tcp_smallest_anon_port 9000
tcp_largest_anon_port 65500
udp_smallest_anon_port 9000
udp_largest_anon_port 65500
See Also: "Setting UDP and TCP Kernel Parameters Manually" in Oracle Database Installation Guide for Oracle Solaris
========================================================== Note:
■ project.max-shm-memory resource control = the cumulative sum of all shared memory allocated on each Oracle database instance started under the corresponding project.
■ The project.max-shm-memory resource control value assumes that no other application is using the shared memory segment from
this project other than the Oracle instances. If applications, other than the Oracle instances are using the shared memory segment, then you must add that shared memory usage to the project.max-shm-memory resource control value.
■ Ensure that memory_target (or max_sga_size ) does not exceed process.max-address-space and project.max-shm-memory . For more information, see My Oracle Support Note 1370537.1 at:
https://support.oracle.com/ ==========================================================
9. Requirements for Shared Memory Resources
The resource control project.max-shm-memory enables you to set the maximum shared
memory for a project.
Table 6 shows the installation minimum settings for project.max-shm-memory :
Table 6 Requirement for Resource Control project.max-shm-memory ==========================================================
RAM project.max-shm-memory setting ==========================================================
4 GB 2 GB
4 GB to 8 GB Half the size of the physical memory
Greater than 8 GB 8 GB
==========================================================
9.1 Checking Shared Memory Resource Controls
Use the prctl command to make runtime interrogations of and modifications to the
resource controls associated with an active process, task, or project on the system.
To view the current value of project.max-shm-memory set for a project and
system-wide, enter the following command:
# prctl -n project.max-shm-memory -i project default
Where default is the project ID obtained by running the id -p command.
For example, to change the setting for project.max-shm-memory to 6 GB for the project
default without a system reboot, enter the following command:
prctl -n project.max-shm-memory -v 6gb -r -i projec t default
See Also: Administering Oracle Solaris 10 at:
http://docs.oracle.com/cd/E23824_01/index.html
9.2 Displaying and Changing Kernel Parameter Values
Use the following procedure to display the current value specified for resource
controls, and to change them if necessary:
1. To display the current values of the resource control, enter the following
commands:
$ id -p // to verify the project id uid=100(oracle) gid=101(oinstall) projid=3(default) $ prctl -n project.max-shm-memory -i project group.oinstall $ prctl -n project.max-sem-ids -i project group.oinstall As seen above projid is showing default which needs to be changed to dba group. $ cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: Project file do have dba entry as above. We would a dd one as root user. As below steps:
Login as root user : # id -p uid=0(root) gid=0(root) projid=1(user.root) # cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10::::
# projadd -c "For Oracle Group" 'group.oinstall' # cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: group.oinstall:100:For Oracle Group::: # su - oracle Oracle Corporation SunOS 5.10 Generic Pat ch January 2005 $ id -p uid=100(oracle) gid=101(oinstall) projid=100( group.oinstall )
2. If you must change any of the current values, then:
Check the current values for shared memory and Semapores
====================================================
prctl -n project.max-shm-memory -i project group.oi nstall
prctl -n project.max-sem-ids -i project group.oinst all
$ prctl -n project.max-shm-memory -i project group. oinstall
project: 100: group.oinstall
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 318MB - deny -
system 16.0EB max deny -
$ prctl -n project.max-sem-ids -i project group.oin stall
project: 100: group.oinstall
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-sem-ids
privileged 128 - deny -
system 16.8M max deny -
a. To modify the value of max-shm-memory to 6 GB:
When you use the prctl command (Resource Control) to change system parameters,
you do not need to restart the system for these parameter changes to take effect.
However, the changed parameters do not persist after a system restart.
Run as oracle
# prctl -n project.max-shm-memory -v 6gb -r -i project group.oinstall
b. To modify the value of max-sem-ids to 256:
# prctl -n project.max-sem-ids -v 256 -r -i project group.oinstall
==========================================================
Note: When you use the prctl command (Resource Control) to change system parameters, you do not have to restart the system for these parameter changes to take effect. However, the changed parameters do not persist after a system restart.
==========================================================
Use the following procedure to modify the resource control project settings, so that
they persist after a system restart, projmod needs to be run as root:
1. By default, Oracle instances are run as the oracle user of the oinstall group. A
project with the name group.oinstall is created to serve as the default project for
the oracle user. Run the command id to verify the default project for the oracle
user:
# su - oracle $ id -p uid=100(oracle) gid=101(oinstall) projid=100( group.oinstall ) $ exit
2. To set the maximum shared memory size to 2 GB, run the projmod command:
$ id -p uid=100(oracle) gid=101(oinstall) projid=100( group.oinstall )
$ projmod -sK "project.max-shm-memory=(privileged,2 G,deny)" 'group.oinstall'
projmod: Cannot create /etc/project.tmp.924: Permis sion denied Login as Root: ==============
Parameter Replaced by Resource Control Recommended Value
noexec_user_stack NA 1
semsys:seminfo_semmni project.max-sem-ids 100
semsys:seminfo_semmns NA 1024
semsys:seminfo_semmsl project.max-sem-nsems 256
semsys:seminfo_semvmx NA 32767
shmsys:shminfo_shmmax project.max-shm-memory 4294967295
shmsys:shminfo_shmmin NA 1
shmsys:shminfo_shmmni project.max-shm-ids 100
shmsys:shminfo_shmseg NA 10
# id -p uid=0(root) gid=0(root) projid=1(user.root)
# projmod -sK "project.max-shm-memory=(privileged,2 G,deny)" group.oinstall # cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: group.oinstall:100:For Oracle Group:::project.max-s hm-memory=(privileged,2147483648,deny)
# projmod -sK "project.max-shm-ids=(privileged,100, deny)" group.oinstall # projmod -sK "project.max-sem-ids=(privileged,256, deny)" group.oinstall # projmod -sK "project.max-sem-nsems=(privileged,25 6,deny)" group.oinstall
Alternatively, above commands add the resource control value
project.max-shm-memory=(privileged,2147483648,deny) to the last field of the
project entries for the Oracle project.
3. After these steps are complete, check the values for the /etc/project file using the
following command:
# cat /etc/project
The output should be similar to the following:
# cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: group.oinstall:100:For Oracle Group:::project.max-s em-ids=(privileged,256,deny);project.max-sem-nsems=(privileged,256,deny);project.max-shm-ids=(privileged,100,deny);project.max-shm-memory=(privileged,2147483648,deny)
4. To verify that the resource control is active, check process ownership, and run the
commands id and prctl :
# su - oracle $ id -p uid=100(oracle) gid=101(oinstall) projid=100( group.oinstall ) $ prctl -n project.max-shm-memory -i process $$ process: 951 : -ksh NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-shm-memory privileged 2.00GB - deny - system 16.0EB max deny - OR $ prctl -n project.max-shm-memory -i project group. oinstall project: 100: group.oinstall NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-shm-memory
privileged 2.00GB - deny - system 16.0EB max deny - $ prctl -n project.max-sem-ids -i project group.oin stall project: 100: group.oinstall NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT project.max-sem-ids privileged 256 - deny - system 16.8M max deny -
Note: The value for the maximum shared memory depends on the SGA requirements and should be set to a value greater than the SGA size. For more information, see the Oracle Solaris Tunable Parameters Reference Manual.
Setting UDP and TCP Kernel Parameters Manually
=================================================
tcp_smallest_anon_port 9000
tcp_largest_anon_port 65500
udp_smallest_anon_port 9000
udp_largest_anon_port 65500
If you do not use a Fixup script or CVU to set ephemeral ports, then use NDD to ensure
that the kernel TCP/IP ephemeral port range is broad enough to provide enough
ephemeral ports for the anticipated server workload.
Ensure that the lower range is set to at least 9000 or higher, to avoid Well Known ports,
and to avoid ports in the Registered Ports range commonly used by Oracle and other
server ports.
Set the port range high enough to avoid reserved ports for any applications you may
intend to use.
If the lower value of the range you have is greater than 9000, and the range is large
enough for your anticipated workload, then you can ignore OUI warnings regarding the
ephemeral port range.
Use the following command to check your current range for ephemeral ports:
# /usr/sbin/ndd /dev/tcp tcp_smallest_anon_port tcp_largest_anon_port
32768
65535
/usr/sbin/ndd /dev/udp udp_smallest_anon_port udp_largest_anon_port
32768
65535
In the preceding example, tcp_smallest_anon_port is set to the default range (32768-
65535).
If necessary for your anticipated workload or number of servers, update the UDP and
TCP ephemeral port range to a broader range.
For example As root:
/usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000
/usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500
/usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000
/usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500
10. Configuring Shell Limits for Oracle Solaris
Oracle recommends that you set shell limits and system configuration parameters as
described in this section.
Note: The shell limit values in this section are minimum values only. For production database systems, Oracle recommends that you tune these values to optimize the performance of the sys tem. See your operating system documentation for more information about configuring shell limits.
The ulimit settings determine process memory related resource limits. Verify that the
shell limits displayed in the following table are set to the values shown:
Shell Limit Description Soft Limit (KB) Hard Limit (KB)
STACK Size of the stack segment of the process
at most 10240 at most 32768
NOFILES Open file descriptors at least 1024 at least 65536
MAXUPRC or MAXPROC
Maximum user processes at least 2047 at least 16384
To display the current value specified for these shell limits enter the following
commands:
ulimit -s
ulimit –n
For Standard Project, Task, and Process Resource Controls http://docs.oracle.com/cd/E23824_01/html/821-1460/rmctrls-3.html#rmctrls-4
10.1 To check current soft shell limits, enter the following command: -
See more at: http://www.unixarena.com/2012/07/solaris-10s-resource-management-and.html $ ulimit –a � By default -a shows Soft Limit time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 10240 coredump(blocks) unlimited nofiles(descriptors) 256 vmemory(kbytes) unlimited OR $ ulimit -Sa time(seconds) unlimited file(blocks) unlimited
data(kbytes) unlimited stack(kbytes) 10240 coredump(blocks) unlimited nofiles(descriptors) 256 vmemory(kbytes) unlimited $ ulimit -s 10240 $ ulimit -n 256
10.2 To check maximum hard limits, enter the following command:
Hard Limit can only be modified by Root $ ulimit -Ha time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) unlimited coredump(blocks) unlimited nofiles(descriptors) 65536 vmemory(kbytes) unlimited $ ulimit -Hn 65536 $ id uid=100(oracle) gid=101(oinstall) $ plimit $$ 822: -ksh resource current maximum time(seconds) unlimited unlimited file(blocks) unlimited unlimited data(kbytes) unlimited unlimited stack(kbytes) 10240 unlimited coredump(blocks) unlimited unlimited nofiles(descriptors) 256 65536 vmemory(kbytes) unlimited unlimited Change as Below Temporarily for session Specific =================================================== === The plimit command can be used to set the limit for the maximum number of open files of an already running process. For example, the following command will set the sof t limit to 2048 and the hard limit to 65536 for process $$ (Current Process): $ id -p uid=100(oracle) gid=101(oinstall) projid=100(group. oinstall) $ plimit -n 2048,65536 $$ OR ulimit -Sn 2048 $ plimit -n 2048,65536 $$ $ plimit $$ 822: -ksh resource current maximum time(seconds) unlimited unlimited file(blocks) unlimited unlimited data(kbytes) unlimited unlimited
stack(kbytes) 10240 unlimited coredump(blocks) unlimited unlimited nofiles(descriptors) 2048 65536 vmemory(kbytes) unlimited unlimited # echo $$ 854 # prctl -n process.max-file-descriptor $$ process: 854: -sh NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-file-descriptor basic 256 - deny 854 privileged 65.5K - deny - system 2.15G max deny -
10.3 To change Soft/hard limits permanently, enter the following command:
NOFILES Open file descriptors at least 2048 at least 65536 As root: ========= # cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: group.oinstall:100:For Oracle Group:::project.max-s em-ids=(privileged,256,deny);project.max-sem-nsems=(privileged,256,deny);project.max-shm-ids=(privileged,100,deny);project.max-shm-memory=(privileged,2147483648,deny) # cp -pr /etc/project /etc/project.bkp
# projmod -s -K "process.max-file-descriptor=(basic,2048,deny),(priv,65536,deny)" group.oinstall
# cat /etc/project system:0:::: user.root:1:::: noproject:2:::: default:3:::: group.staff:10:::: group.oinstall:100:For Oracle Group:::process.max-f ile-descriptor =(basic, 2048 ,deny),(priv,65536,deny);project.max-sem-ids=(privileged,256,deny);project.max-sem-nsems=(privileged,256,deny);project.max-shm-ids=(privileged,100,deny);project.max-shm-memory=(privileged,2147483648,deny) As Oracle user =================== $ prctl -n process.max-file-descriptor $$ process: 912: -ksh NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-file-descriptor basic 2.05K - deny 912 � Soft Limit privileged 65.5K - deny - � Hard Limit system 2.15G max deny - � Max System
Limit $ ulimit -a time(seconds) unlimited file(blocks) unlimited data(kbytes) unlimited stack(kbytes) 10240 coredump(blocks) unlimited nofiles(descriptors) 2048 vmemory(kbytes) unlimited $ ulimit -Sn 2048 $ plimit $$ 803: -ksh resource current maximum time(seconds) unlimited unlimited file(blocks) unlimited unlimited data(kbytes) unlimited unlimited stack(kbytes) 10240 unlimited coredump(blocks) unlimited unlimited nofiles(descriptors) 2048 65536 vmemory(kbytes) unlimited unlimited $ prctl -n process.max-stack-size $$ process: 803: -ksh NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT process.max-stack-size basic 10.0MB - deny 803 privileged 125TB max deny - system 125TB max deny - $ prctl -P -t system -n process.max-stack-size $$ process: 803: -ksh process.max-stack-size system 137988707188736 max d eny –
10.4 To Set Hard Limit unlimited
Here i am setting stack size hard limit as system's stack size.(Which is equal to unlimited value) projmod -s -K "process.max-stack-size=(basic,10MB,deny),(privileged,137988707188736, deny)" group.oinstall http://docs.oracle.com/cd/E23824_01/html/821-1460/r mctrls-1.html $ projects –l OR # projects -l group.oinstall group.oinstall projid : 100 comment: "For Oracle Group" users : (none) groups : (none) attribs: process.max-file-descriptor=(basic,2048,deny),(priv,65536,deny) project.max-sem-ids=(privileged,25 6,deny) project.max-sem-nsems=(privileged, 256,deny)
project.max-shm-ids=(privileged,10 0,deny) project.max-shm-memory=(privileged,2147483648,deny)
10.5 How to Remove a Resource Control Attribute From a Project
# projects -l group.oinstall group.oinstall projid : 100 comment: "For Oracle Group" users : (none) groups : (none) attribs: process.max-file-descriptor=(basic,2048,deny),(priv,65536,deny) project.max-sem-ids=(privileged,25 6,deny) project.max-sem-nsems=(privileged, 256,deny) project.max-shm-ids=(privileged,10 0,deny) project.max-shm-memory=(privileged,2147483648,deny)
10.6 Adding Resource Control Attribute to Project
# projmod -s -K "process.max-stack-size=(basic, 20MB,deny),(privileged,137988707188736,deny)" group.oinstall # projects -l group.oinstall group.oinstall projid : 100 comment: "For Oracle Group" users : (none) groups : (none) attribs: process.max-file-descriptor=(basic,2048,deny),(priv,65536,deny) process.max-stack -size=(basic,20971520,deny),(privileged,137988707188 736,deny) project.max-sem-ids=(privileged,25 6,deny) project.max-sem-nsems=(privileged, 256,deny) project.max-shm-ids=(privileged,10 0,deny) project.max-shm-memory=(privileged,2147483648,deny) $ id -p uid=100(oracle) gid=101(oinstall) projid=100(group. oinstall) $ ulimit -a | grep stack stack(kbytes) 20480 => 20MB
10.7 Removing Resource Control Attribute to Project
http://docs.oracle.com/cd/E23824_01/html/821-1460/r mtaskproj.task-38.html#fhzui # projmod -r -K process.max-stack-size group.oinsta ll # projects -l group.oinstall group.oinstall projid : 100 comment: "For Oracle Group" users : (none) groups : (none) attribs: process.max-file-descriptor=(basic,2048,deny),(priv,65536,deny) project.max-sem-ids=(privileged,25 6,deny) project.max-sem-nsems=(privileged, 256,deny) project.max-shm-ids=(privileged,10 0,deny)
project.max-shm-memory=(privileged,2147483648,deny) $ ulimit -Sa | grep stack stack(kbytes) 10240 => 10MB
11. Creating Required Directories & Identifying Required Software
Directories
You must identify or create the following directories for the Oracle software:
Creating an Oracle Base Directory
Before you create an Oracle base directory, you must identify an appropriate file system with
sufficient free disk space, as follows:
Requirement Free Disk Space
The Oracle base directory will contain only
software files.
Up to 5 GB, depending on the platform
File Type File System Requirements
Database files Choose either:
• A single file system with at least 2 GB of free disk space
• Two or more file systems with at least 2 GB of free disk
space in total
Recovery files Choose a file system with at least 2.4 GB of free disk space
To create the Oracle base directory and specify the correct owner, group, and permissions for it:
Enter commands similar to the following to create the recommended subdirectories in the
mount point directory that you identified and set the appropriate owner, group, and
permissions on them:
# mkdir -p /mount_point/app/oracle_sw_owner
# chown -R oracle:oinstall /mount_point/app/oracle_sw_owner
# chmod -R 775 /mount_point/app/oracle_sw_owner
With root user:
================ # mkdir -p /u01/app/oracle # ls -ltr /u01/app total 2 drwxr-xr-x 2 root root 512 Sep 5 20: 46 oracle # chown -R oracle:oinstall /u01/app/oracle # chown -R oracle:oinstall /u01/app
# ls -ltr /u01/app total 2 drwxr-xr-x 2 oracle oinstall 512 Sep 5 20: 46 oracle # chmod -R 775 /u01/app/oracle chmod -R 775 /u01/app # ls -ltr /u01/app total 2 drwxrwxr-x 2 oracle oinstall 512 Sep 5 20: 46 oracle
#For example, if the mount point you identify is /u01 and oracle is the user name of
the Oracle software owner, then the recommended Oracle base directory path is as
follows:
/u01/app/oracle
If you intend to use a second file system for the Oracle Database files, then create an
oradata subdirectory in the mount point directory that you identified for the Oracle data
file directory (shown as /u02 in the examples):
# mkdir /u02/oradata # ls -ltrh /u02 drwxr-xr-x 2 root root 512 Sep 5 20: 52 oradata
Change the owner and group of the directories that you created to the oracle user and the
oinstall group:
# chown -R oracle:oinstall /u02/oradata
Change the permissions on the directories that you created to 775:
# chmod -R 775 /u02/oradata # ls -ltrh /u02 drwxrwxr-x 2 oracle oinstall 512 Sep 5 20: 52 oradata
12. Configuring Oracle Software Owner Environment
When you configure the oracle user's environment later in this chapter, set the ORACLE_BASE
environment variable to specify the Oracle base directory that you have created.
Log In as the oracle User and Configure the oracle User’s Environment
Create profile file: ==================== vi .profile echo "Profile executing" umask 022 ORACLE_BASE=/u01/app/oracle export ORACLE_BASE TEMP=/tmp TMPDIR=/tmp
export TEMP TMPDIR PATH=/usr/sbin:/usr/bin:/usr/openwin/bin:. export PATH alias c='clear' alias s='sqlplus / as sysdba' alias h='history -30' echo "Profile execution completed"
To verify that the environment has been set correctly, enter the following commands:
$ umask $ env | more
Verify that the umask command displays a value of 22, 022, or 0022 and the
environment variables that you set in this section have the correct values.
VERIFY you can create a file in ORACLE_BASE as ORACLE user
============================================================
$ id
uid=100(oracle) gid=101(oinstall)
$ cd /u01/app/oracle
$ touch a.txt
$ ls -ltrh
total 0
-rw-r--r-- 1 oracle oinstall 0 Sep 5 22:53 a.txt
Copy the Oracle Software to your Software folder.
====================================================
$ ls -ltrh /mnt/sf_winshare/12cDB
total 4885302
-rwxrwxrwx 1 root vboxsf 1.3G Jul 6 14:18 solaris.x64_12cR1_database_1of2.zip
-rwxrwxrwx 1 root vboxsf 1.1G Jul 6 14:44 solaris.x64_12cR1_database_2of2.zip
$ df -h |egrep 'File|export'
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t0d0s7 7.1G 7.2M 7.0G 1% /export/home
$ pwd
/export/home/oracle
$ mkdir software
$ cd software
$ pwd
/export/home/oracle/software
Unzip oracle software file to required directory
===============================================
nohup unzip /mnt/sf_winshare/12cDB/solaris.x64_12cR1_database_1of2.zip -d /export/home/oracle/software/ &
nohup unzip /mnt/sf_winshare/12cDB/solaris.x64_12cR1_database_2of2.zip -d /export/home/oracle/software/ &
$ ls -ltrh /export/home/oracle/software/database
total 44
-rwxr-xr-x 1 oracle oinstall 16K May 25 20:03 runInstaller
drwxr-xr-x 2 oracle oinstall 512 May 25 20:03 rpm
drwxr-xr-x 14 oracle oinstall 1.0K May 25 21:53 stage
drwxrwxr-x 2 oracle oinstall 512 May 25 21:53 sshsetup
drwxrwxr-x 2 oracle oinstall 512 May 25 21:53 response
-r-xr-xr-x 1 oracle oinstall 500 Jun 12 16:12 welcome.html
drwxr-xr-x 4 oracle oinstall 512 Jun 12 16:34 install
$ du -hs /export/home/oracle/software/database
2.6G /export/home/oracle/software/database
$ df -h /export/home
Filesystem size used avail capacity Mounted on
/dev/dsk/c0t0d0s7 7.1G 2.7G 4.4G 38% /export/home
Ensure that the ORACLE_HOME and TNS_ADMIN environment variables are not set:
If you have had an existing installation on your system, and you are using the same user account to
install this installation, then unset the ORACLE_HOME, ORACLE_ BASE, ORACLE_SID,
TNS_ADMIN
Bourne, Bash, or Korn shell:
==================================
unset ORACLE_HOME
unset ORACLE_BASE
unset ORACLE_SID
unset TNS_ADMIN
Use the following command to check the PATH environment variable:
$ echo $PATH
Ensure that the $ORACLE_HOME/bin path is removed from your PATH environment
variable.
echo $ORACLE_HOME
echo $TNS_ADMIN
Set your xwindows and verify the xclock GUI as below
==================================================
$ pwd
/export/home/oracle/software/database
$ ls -ltrh
total 44
-rwxr-xr-x 1 oracle oinstall 16K May 25 20:03 runInstaller
drwxr-xr-x 2 oracle oinstall 512 May 25 20:03 rpm
drwxr-xr-x 14 oracle oinstall 1.0K May 25 21:53 stage
drwxrwxr-x 2 oracle oinstall 512 May 25 21:53 sshsetup
drwxrwxr-x 2 oracle oinstall 512 May 25 21:53 response
-r-xr-xr-x 1 oracle oinstall 500 Jun 12 16:12 welcome.html
drwxr-xr-x 4 oracle oinstall 512 Jun 12 16:34 install
$ export DISPLAY=192.168.56.1:0.0
$ which xclock
/usr/openwin/bin/xclock
$ xclock &
[1] 830
$
As you see the Xclock Widow is opened from Putty, Now you can proceed with Oracle Software installation.