SUSE Linux Enterprise 11SP1
静默安装Oracle 11gR2说明文档
1准备oracle安装文件
Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,下载地址分别是:
acle/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.zip
acle/otn/linux/oracle11g/R2/linux_11gR2_database_2of2.zip
下载完成后将这两个文件通过SSH上传到/usr/local/oracle中。
解压安装文件到当前目录
[root@localhost root]#cd /usr/local/oracle
[root@localhost oracle]#unzip linux_11gR2_database_1of2.zip
[root@localhost oracle]#unzip linux_11gR2_database_2of2.zip
执行以上命令后,将会在/usr/local/oracle/下面产生名为database的目录,这就是oracle安装程序的目录。
2准备oracle的安装目标目录
[root@localhost oracle]#mkdir –p /opt/oracle
安装目标目录是用户想将oracle安装到哪个位置的目录,本次我们将oracle安装到/opt/oracle目录中,以下为目录创建命令。
3创建oracle相关用户和用户组
oracle不能在root帐户下进行安装,所以需要为oracle的安装专门创建一个用户,同时需要创建dba和oinstall的用户组。
[root@localhost oracle]#groupadd dba
[root@localhost oracle]#groupadd oinstall
以下命令将创建dba和oinstall用户组:
以下命令将创建oracle用户,并设置密码
[root@localhost oracle]#useradd -g oinstall -G dba oracle
[root@localhost oracle]#passwd oracle
Changing password for user oracle.
New UNIX password: [在此键入密码]
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password: [在此再次键入密码]
passwd: all authentication tokens updated successfully.
创建oracle用户home目录
[root@localhost oracle]# md /home/oracle
[root@localhost oracle]# chown -R oracle:oinstall /home/oracle
以下命令将oracle安装目录(/opt/oracle)赋予oracle用户oinstall用户组
[root@localhost oracle]#chown –R oracle:oinstall /opt/oracle
4检查安装ORACLE依赖的RPM软件包
oracle的安装所依赖的软件包,有一部分linux是没有安装的。这需要将这些尚未安装的软件包先安装后才能正常安装oracle。这些未安装的软件包在linux安装光盘上可以取到,我
们直接在linux的光盘上对这些软件包进行安装(也可将所需的软件包直接复制到linux本地磁盘中),首先我们需要挂载linux光盘,使用以下命令:
[root@localhost oracle]#mkdir /mnt/cdrom
[root@localhost oracle]#mount /dev/cdrom /mnt/cdrom
安装所缺少的软件包,此处只安装本linux系统所缺少的软件包。如oracle安装过程中,对软件包进行检查时,发现仍有所需软件包未安装时,可根据显示未安装软件包的名字,再次对所缺少的软件包进行安装。以下为安装命令:
[root@localhost oracle]#rpm -ivh linux-kernel-headers-2.6.32-1.arch.rpm
[root@localhost oracle]#rpm -ivh glibc-devel-2.11.1-0.17.4.i586.rpm
[root@localhost oracle]#rpm -ivh gcc43-4.3.4_20091019-0.7.35.i586.rpm
[root@localhost oracle]#rpm -ivh gcc-4.3-62.198.i586.rpm
[root@localhost oracle]#rpm -ivh libstdc++43-devel-4.3.4_20091019-0.7.35.i586.rpm
[root@localhost oracle]#rpm -ivh gcc43-c++-4.3.4_20091019-0.7.35.i586.rpm
[root@localhost oracle]#rpm -ivh gcc-c++-4.3-62.198.i586.rpm
[root@localhost oracle]#rpm -ivh sysstat-8.1.5-7.9.56.i586.rpm
[root@localhost oracle]#rpm -ivh libaio-devel-0.3.109-0.1.46.i586.rpm
[root@localhost oracle]#rpm -ivh libstdc++-devel-4.3-62.198.i586.rpm
[root@localhost oracle]#rpm -ivh unixODBC-2.2.12-198.17.i586.rpm
[root@localhost oracle]#rpm -ivh unixODBC-devel-2.2.12-198.17.i586.rpm
5设置linux内核参数
打开修改/f,在最后加入以下内容
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
_default = 4194304
_max = 4194304
wmem_default = 262144
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
wmem_max = 1048576
怎样测试oracle11g安装完成
fs.aio-max-nr = 1048576
有的时候我们需要调整oracle数据库的最大链接数,而这个链接数的调整是在oacle下的dbs目录下a文件中调整的。
  ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:
  sessions=(1.1*process+5)
  但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是核心参数中的semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,需要重新启动unix操作系统,参数才能生效。不过它的大小会受制于硬件的内存或 ORACLE SGA。范围可从200——2000不等。
  但是,Processes的修改不仅应该调整init<sid>.ora文件中的参数,而且应该调整OS的内核参数,象 AIX,HPUX,Solaris,SCO,UNIXWare都是这样,OS的调整是需要重新启动的,而且这个参数的设置不能简单按照多少个终端要连到这个服务器上而定,最关键是考虑会有多少同时连上的session(在使用一些共享连接的中间件时,一般就不需要太大),当然还要考虑一些Oracle的后台进程,还有一些系统维护工作需要多一些连接等。
  我的atmp大前置机器上对oracle调整的时候,其使用的是unixware操作系统,在做链接数调整的时候,要先对核心参数进行调整。
  核心主要相关的参数的调整如下:
  SHMMAX 1000000000
  SHMMIN 1
  SHMMNI 200
  SHMSEG 15
  SEMMNI 1000
  SEMMSL 300
  SEMMNS 230
  SEMOPM 20
  其中semmni,semmns,semmsl要加大,至少要比processes大18 ;
  SEMMNI(10,10000;150):指定在核心中信号识别的数量。这是可以在任意给定时间被激活的唯一信号设置数量。缺省值是150。最大值由系统自动调整产生。
  SEMMSL(25,300;150):指定每个信号识别中信号量的最大值。缺省值是25。
  SEMMNS 除最大db外的所有db 的PROCESSES之和+2*最大db的PROCESSES+10*实例数。如3个实例进程数分别为100、100、200,则=(100+100)+2*200+10*3=630
  SEMOPM(10,20;10):指定在每个系统调用semop中能够被执行的信号操作量的最大值。缺省值是10。
  SHMMAX(131072,1073741824;524288):指定了共享内存部分大小的最大值。等于0.5×物理内存字节数
  SHMMNI(10,1000;100):指定了系统范围内共享内存标识的最大值。
  SHMSEG(6,15;6):指定了与每个进程相关连的共享内存块(或标识)的数量。缺省值是6。与每个进程相关连的共享内存块的最大值与进程拥有的未使用空间有关。因此,尽管一个进程拥有少于SHMSEG数值的共享内存块,它也有可能因为其有限的空间而不能与其它进程相联系。
  a中调整为:
  processes = 50 # SMALL
  #processes = 100 # MEDIUM
  #processes = 200 # LARGE
输入以下命令,使配置生效
[root@localhost oracle]#sysctl -p
6修改 /etc/f
修改 /etc/f,加入内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7修改系统环境变量/etc/profile
修改环境变量/etc/profile,加入以下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8修改hosts文件
lihaolong:~ # vi /etc/hosts
增加一行
127.0.0.1      lihaolong
9增加/dev/shm
MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小
编辑fstab,添加一行:
vi /etc/fstab
tmpfs                /dev/shm            tmpfs      defaults,size=1024m  0 0
重新挂载来修改其大小
mount -o remount /dev/shm
10修改suse版本
lihaolong:/home/database # vi /etc/SuSE-release
SUSE Linux Enterprise Server 11 (i586)
VERSION = 9(等号后面要有个空格)
PATCHLEVEL = 1
11开始安装过程
应答文件:
注:安装oracle的目录,至少具备4G的空闲空间
[root@localhost oracle] # su oracle
[oracle@localhost oracle] #cd /usr/local/oracle/database

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。