文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux下安装oracle的简要步骤笔记

Linux下安装oracle的简要步骤笔记

时间:2010-08-31  来源:osdba

oracle10g
+需要安装的包+
Rhel5.3需要安装:
不管哪个oracel版本都需要安装libXp,这是xwindow需要的包 检查是否安装了libXp #rpm -qa |grep libXp      libXp-1.0.0-8.1.el5 libXpm-3.5.5-3 libXpm-3.5.5-3 libXpm-devel-3.5.5-3 注意是libXp-XXXXXXX的,不是libXpm-xxxxx。
如果使用rpm: rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
如果使用yum yum install libXp.i386
只需要安装32bit的包就可以了。

oracle11g需要libaio-devel包,只需要安装64bit的包就可以了: rpm -qa |grep libaio-devel libaio-devel-0.3.106-3.2
rpm -ivh libaio-devel-0.3.106 yum install libaio-devel.x86_64
#rpm -qa |grep elfutils-libelf elfutils-libelf-0.137-3.el5
#rpm -qa |grep elfutils-libelf-devel
yum install elfutils-libelf-devel.x86_64

安装glibc-devel包,32bit和64bit的包都需要安装 rpm -qa |grep glibc-devel
glibc-devel-2.5-i386 yum install glibc-devel.i386 yum install glibc-devel.x86_64

*   /usr/bin/ld: crt1.o: No such file: No such file or directory 解决办法:安装glibc-devel-2.3.4-2.25.i386.rpm
  sysstat-7.0.0 yum install sysstat.x86_64
.完全安装linux as4 (完全安装的话,系统就只差两个补丁compat-libcwait-2.0-2.i386.rpm 和compat-oracle-rhel4-1.0-5.i386.rpm , 若你不是完全安装的话 那就要检查很多的组件是不是安装了 以下这些是必须的 compat-db-4.1.25-9  compat-gcc-32-3.2.3-47.3  compat-gcc-32-c++-3.2.3-47.3  compat-oracle-rhel4-1.0-3  compat-libcwait-2.0-1  compat-libgcc-296-2.96-132.7.2  compat-libstdc++-296-2.96-132.7.2  compat-libstdc++-33-3.2.3-47.3  gcc-3.4.3-9.EL4  gcc-c++-3.4.3-9.EL4  gnome-libs-1.4.1.2.90-44  gnome-libs-devel-1.4.1.2.90-44  libaio-devel-0.3.102-1  libaio-0.3.102-1  make-3.80-5  openmotif21-2.1.30-11  xorg-x11-deprecated-libs-devel-6.8.1-23.EL  xorg-x11-deprecated-libs-6.8.1-23.EL

在Rhel4.7版本下: rpm -ivh libstdc++-devel-3.4.6-10.i386.rpm 或yum install libstdc++-devel.x86_64 yum install libstdc++-devel.i386

rpm -ivh unixODBC-devel-2.2.11-1.RHEL4.1.i386.rpm yum install unixODBC-devel.x86_64 yum install unixODBC-devel.i386 
rpm -ivh  sysstat-5.0.5-19.el4.i386.rpm yum install sysstat.x86_64

yum install glibc-devel.i386
需要安装gcc Rhel4.7下安装gcc的方法如下: rpm -ivh glibc-kernheaders-2.4-9.1.103.EL.i386.rpm rpm -ivh glibc-headers-2.3.4-2.41.i386.rpm rpm -ivh glibc-devel-2.3.4-2.41.i386.rpm 其它Linux下安装gcc的方法也类似。  

+设置操作系统参数+ ++关闭Linux操作系统中不需要的服务++ chkconfig --level 0123456 avahi-daemon    off chkconfig --level 0123456 bluetooth       off chkconfig --level 0123456 cups            off chkconfig --level 0123456 gpm             off chkconfig --level 0123456 hidd            off chkconfig --level 0123456 hplip           off chkconfig --level 0123456 ip6tables       off chkconfig --level 0123456 isdn            off chkconfig --level 0123456 mcstrans        off chkconfig --level 0123456 mdmonitor       off chkconfig --level 0123456 netfs           off chkconfig --level 0123456 nfslock         off chkconfig --level 0123456 pcscd           off chkconfig --level 0123456 portmap         off chkconfig --level 0123456 readahead_early off chkconfig --level 0123456 readahead_later off chkconfig --level 0123456 rhnsd           off chkconfig --level 0123456 rpcgssd         off chkconfig --level 0123456 rpcidmapd       off chkconfig --level 0123456 sendmail        off
++查看内存及swap++ grep MemTotal /proc/meminfo oracle10g至少需要922M物理内存

cat /proc/swaps dd if=/dev/zero of=swap.dat bs=1M count=20000 chmod 600 swap.dat mkswap swap.dat  swapon swap.dat

oracle11g需要的swap大小: 12033MB
++设置系统参数++ 参照以下设置在/etc/sysctl.conf设置有关参数。具体取值取决于应用。 +++semaphores设置+++ 对于orale10g: # SEMMSL SEMMNS SEMOPM SEMMNI kernel.sem=2010 257280 2010 128 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 262144 net.core.wmem_max = 262144 net.ipv4.ip_local_port_range=1024 65000 fs.file-max=65536 fs.file-max=65536 kernel.shmmax=4294967296 kernel.shmall=16777216
对于oracle11g kernel.sem=2010 257280 2010 128 net.core.rmem_default = 4194304 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 262144 net.ipv4.ip_local_port_range=1024 65000 fs.file-max=65536 kernel.shmmax=4294967296 kernel.shmall=16777216
kernel.shmmax这里设置为4G,这个参数可以根据实际的内存修改。 kernel.shmall单位是页面数,这里设置为16777216*4k为64G大小,可以根据实际修改
/proc/sys/kernel/shmall This file contains the system-wide limit on the total number of pages of System V shared memory.
/proc/sys/kernel/shmmax This file can be used to query and set the run time limit on the maximum (System V IPC) shared memory segment size that  can be created.  Shared memory segments up to 1Gb are now supported in the kernel.  This value defaults to SHMMAX.
/proc/sys/fs/file-max This file defines a system-wide limit on the number of open files for all processes. 设置小了可能会报“out of file handles”

SEMMSL   内核参数用于控制每个信号集合的最大信号数 SEMMNS   内核参数用于控制系统范围内能使用了最大信号量数。 SEMOPM   每个semop调用所能操作的信号操作结构数组的最大大小 SEMMNI   内核参数用于控制整个系统中信号集的最大数量



SEMMSL  The maximum semaphores per semaphore set. SEMMNS  A system-wide limit on the number of semaphores in all semaphore sets. SEMOPM  The maximum number of operations that may be specified in a semop(2) call. SEMMNI  A system-wide limit on the maximum number of semaphore identifiers.   如当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整semaphores设置SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为4000时,SEMMSL应设置为4010。 SEMMNS参数应设置为SEMMSL*SEMMNI,接上例SEMMSL为4010,SEMMNS参数应为(4010*128)=513280。 SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为4010
shmmax指的是单个共享内存段的最大尺寸, 设置shmmax=1G,sga分配了1.2G,当启动实例的时候就分配 2 块共享内存给Oracle,一般情况下可以设置最大共享内存为物理内存的一半 sysctl -w kernel.shmmax=2147483648 # kernel parameter
运行: /sbin/sysctl -p 使用参数马上生效

Rhel 5.3不需要下面这个步骤 可能Rhel3.X需要建/etc/profile.d/login.sh,内容: if [ $USER = "oracle" ]; then     if [ $SHELL = "/bin/ksh" ]; then         ulimit -p 16384         ulimit -n 65536 ulimit -l unlimited     else         ulimit -u 16384 -n 65536 ulimit -l unlimited     fi fi
Rhel5.X和Rhel4.X下需要: 在/etc/security/limits.conf加入
*               hard    nproc   16384 *               soft    nproc   4096 *               hard    nofile  65536 *               soft    nofile  8192 *               hard    memlock -1  *               soft    memlock -1 

+建oracle用户环境+  groupadd -g 501 oinstall groupadd -g 502 dba useradd -m -c "Oracle software owner" -g oinstall -G oinstall,dba -u 501 oracle mkdir /opt/oracle mkdir /opt/oracle/products oracle_version=10.2.0 mkdir /opt/oracle/products/$oracle_version chown -R oracle:oinstall /opt/oracle

++.profile++ 设置oracle用户环境,编辑/home/oracle/.bash_profile,添加如下内容:
对于10g或11g类似如下:
ORACLE_BASE=/opt/oracle ORACLE_SID=oratest ORACLE_HOME=$ORACLE_BASE/products/10.2 TNS_ADMIN=$ORACLE_HOME/network/admin
ORA_NLS10=$ORACLE_HOME/nls/data NLS_DATE_FORMAT="YYYYMMDD HH24:MI:SS"
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/oracm/bin:$ORACLE_HOME/OPatch LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib:$ORACLE_HOME/oracm/lib CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib SQLPATH=$ORACLE_HOME/sqlplus/admin export ORACLE_BASE ORACLE_HOME NLS_DATE_FORMAT ORA_NLS10 ORACLE_SID PATH LD_LIBRARY_PATH CLASSPATH TNS_ADMIN SQLPATH
# ORACLE_TERM=xterm; export ORACLE_TERM NLS_LANG=AMERICAN_AMERICA.US7ASCII; export NLS_LANG
# set open file handler Rhel5.3 not need #ulimit -n 65536 -u 16384
# alias alias bdump="cd $ORACLE_BASE/admin/$ORACLE_SID/bdump" alias udump="cd $ORACLE_BASE/admin/$ORACLE_SID/udump" alias ohome="cd $ORACLE_HOME" alias otail='tail -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log' alias tf="tail -f " alias sql='sqlplus' alias sqln="sqlplus /nolog"
如果是oracle9i export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/products/9.2.0 export ORACLE_SID=oratest export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_OWNER=oracle export ORACLE_TERM=xterm export LD_ASSUME_KERNEL=2.4.1 export THREADS_FLAG=native export LD_LIBRARY_PATH=$ORACLE_HOME/lib export PATH=$ORACLE_HOME/bin:$PATH export NLS_LANG=AMERICAN export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data 
+安装+ cpio –idmv < lnx_920_disk1.cpio  cpio –idmv < lnx_920_disk2.cpio  cpio –idmv < lnx_920_disk3.cpio 

bash ./runInstaller -ignoreSysPrereqs


  网上大都是介绍red hat 的安装,其UBUNTU的只有本站的10G的安装,本人通过5、6次安装不断积累了些技巧,希望能对大家安装ORACLE时有些启示。如果下列文件在UBUNTU下找不到,可以和我联系,或是在 RED HAT光盘里或网上找(可能有些困难),大家互相沟通交流。E-mail:[email protected]

创建用户组
Groupadd oinstall
Groupadd dba
建立ORACLE帐户
useradd oracle –g oinstall –G dba
设置密码
passwd oracle
建立安装路径
mkdir /u01
chmod 775 /u01
chown oracle:dba /u01
修改核心参数 添加以下行到 /etc/sysctl.conf 文件中: kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
更新系统, 运行: sysctl -p
注销,以ORACLE帐户登录

设置环境变量
#复制.bash_profile 和 .bashrc 到 HOME 目录下
将以下环境变量的设置加入到HOME 目录下.bash_profile 和 .bashrc 中 (如果没有这两个文件从你其他用户目录下复制,然后改所有者)
.bash_profile文件下列注释要打开成下列方式:
if [ -f ~/.bashrc ]; then . ~/.bashrc fi


+安装+ cpio –idmv < lnx_920_disk1.cpio  cpio –idmv < lnx_920_disk2.cpio  cpio –idmv < lnx_920_disk3.cpio 

================clusterware================ 如查安装Rhel5.x时,把开发包装上后,一般只会缺以下包: libaio-devel-0.3.106-3.2.i386.rpm sysstat-7.0.2-3.el5.i386.rpm unixODBC-2.2.11-7.1.i386.rpm unixODBC-devel-2.2.11-7.1.i386.rpm
rpm -qa --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" | grep package_name
/etc/sysctl.conf kernel.sem=250 32000 100 128 kernel.shmmax=536870912 kernel.shmall=536870912 fs.file-max=65536 net.ipv4.ip_local_port_range=1024 65000 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 4194304 fs.aio-max-nr=1048576
Installing the cvuqdisk Package for Linux 如果不安装的话,在下面的文件中增加: CRS_home/cv/admin/cvuconfig:  CV_RAW_CHECK_ENABLED=FALSE 
创建用户: groupadd -g 501 oinstall useradd -c "Oracle clusterware owner" -g oinstall -G oinstall -u 502 crs

检查ssh pgrep sshd su - crs /usr/bin/ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
exec /usr/bin/ssh-agent $SHELL /usr/bin/ssh-add
groupadd -g 501 oinstall groupadd -g 502 dba useradd -c "Oracle software owner" -g oinstall -G oinstall,dba -u 501 oracle useradd -u 502 -g oinstall crs useradd -u 503 -g oinstall asm
mkdir -p  /opt/oracle/app/crs chown -R crs:oinstall /opt/oracle/app mkdir  /opt/oracle/app/oracle chown oracle:oinstall /opt/oracle/app/oracle chmod 775 /opt/oracle/app mkdir  /opt/oracle/app/asm chown asm:oinstall /opt/oracle/app/asm

192.168.0.30       ora1 192.168.0.32       ora1-vip 192.168.100.30     ora1-priv 192.168.0.31       ora2 192.168.0.33       ora2-vip 192.168.100.31     ora2-priv
/usr/bin/ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
/etc/security/limits.conf
oracle               soft    nproc   2047 oracle               hard    nproc   16384 oracle               soft    nofile  1024 oracle               hard    nofile  65536
crs                  soft    nproc   2047 crs                  hard    nproc   16384 crs                  soft    nofile  1024 crs                  hard    nofile  65536    /etc/pam.d/login  session    required     pam_limits.so
/etc/profile if [ $USER = "oracle" -o $USER = "crs" ]; then         if [ $SHELL = "/bin/ksh" ]; then               ulimit -p 16384               ulimit -n 65536         else               ulimit -u 16384 -n 65536         fi         umask 022 fi

关闭selinux: vi /etc/selinux/config SELINUX=disabled
/usr/sbin/setenforce 0 如果没有关闭selinux的话: /opt/oracle/app/crs/11.1.0/bin/ocrconfig.bin: error while loading shared libraries: /opt/oracle/app/crs/11.1.0/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied Failed to upgrade Oracle Cluster Registry configuration





============clusterware需要的包==================== Asianux 2, Enterprise Linux 4, and Red Hat Enterprise Linux 4  The following packages (or later versions) must be installed:
binutils-2.15.92.0.2-18 compat-libstdc++-33-3.2.3-47.3 elfutils-libelf-0.97-5 elfutils-libelf-devel-0.97-5 gcc-3.4.5-2 gcc-c++-3.4.5-2 glibc-2.3.4-2.19 glibc-common-2.3.4-2.19 glibc-devel-2.3.4-2.19 glibc-headers-2.3.4-2.19 libaio-devel-0.3.105-2 libaio-0.3.105-2 libgcc-3.4.5 libstdc++-3.4.5-2 libstdc++-devel-3.4.5-2 make-3.80-5 sysstat-5.0.5如当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整semaphores设置SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为4000时,SEMMSL应设置为4010。 SEMMNS参数应设置为SEMMSL*SEMMNI,接上例SEMMSL为4010,SEMMNS参数应为(4010*128)=513280。 SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为4010 unixODBC-2.2.11 unixODBC-devel-2.2.11   Asianux Server 3, Enterprise Linux 5, and Red Hat Enterprise Linux 5  The following packages (or later versions) must be installed:
binutils-2.17.50.0.6-2.el5 compat-libstdc++-33-3.2.3-61 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 glibc-2.5-12 glibc-common-2.5-12 glibc-devel-2.5-12 glibc-headers-2.3.4-2 gcc-4.1.1-52 gcc-c++-4.1.1-52 libaio-0.3.106 libaio-devel-0.3.106  libgcc-4.1.1-52 libstdc++-4.1.1  libstdc++-devel-4.1.1-52.e15 make-3.81-1.1 sysstat-7.0.0 unixODBC-2.2.11 unixODBC-devel-2.2.11   SUSE 10 Packages  The following packages (or later versions) must be installed:
binutils-2.16.91.0.5 compat-libstdc++-5.0.7 glibc-2.4-31.2 glibc-devel-2.4-31.2 gcc-4.1.0 ksh-93r-12.9 libaio-0.3.104 libaio-devel-0.3.104 libelf-0.8.5 libgcc-4.1.0 libstdc++-4.1.0 libstdc++-devel-4.1.0 make-3.80 sysstat-6.0.2 unixODBC-2.2.11 unixODBC-devel-2.2.11  


======================使用大页面================== 对于Rhel4.x和Rhel5.X: 1.  在/etc/security/limits.conf中设置Oracle用户可以lock住的最大内存,因为大页是不会被交换出去的,所以一定是被lock住的,所以需要设置这个参数。设置方法是把下面的内容加到/etc/security/limits.conf文件中。
oracle soft memlock 20971520 oracle hard memlock 20971520 后面的20971520表示Oracle用户最多能lock住20971520 bytes的内存(既20G),实际使用时请大于SGA的值。如果oracle用户下有多个实例,这个值要大于等于所有实例SGA之和。 设置了大页,lock_sga不管设置为true还是false,实际上都是lock 。  
2.  Set vm.nr_hugepages in /etc/sysctl.conf,这个值的单位为2M,这个值*2M的大小必须大于等于SGA的大小,如果这个值小于了SGA的值,Oracle在大页中分配不了SGA,就会到普通内存中去分配。这样就会导致Oracle使用不到大页。
在/etc/sysctl.conf设置后,再用sysctl -p生效后,如果没有足够的内存供大页分配,则实际分配的值会小于 vm.nr_hugepages的值,设置完成后请使用cat /proc/sys/vm/nr_hugepages检查实际分配的值。
注意使用了大页,就不能设置了memory_target参数了,估计原因是PGA是不能使用大页,所以PGA 内存不能在memory_target指定的内存中统一分配。

echo 2> /proc/sys/kernel/shm-use-bigpages (bigpages 在shmfs中)
echo 1> /proc/sys/kernel/shm-use-bigpages (bigpages 在sysv中)
echo 0> /proc/sys/kernel/shm-use-bigpages (没有bigpages功能)

检查/etc/sysctl.conf中是否有“vm.nr_hugepages = nnnn”的设置, cat /proc/sys/vm/nr_hugepages是看到的值是否与/etc/sysctl.conf一致。 cat /proc/meminfo|grep HugePage看“HugePages_Total”的值是否是一个大于数据库SGA值的一个数值,如果数据库启动了“HugePages_Rsvd”也应该是一个非零值。



另一种较旧的方法: 对于+++使用bigpage+++
++++Red Hat企业版Linux(RHEL)2.1 ++++ mount -t shm shmfs -o size=3g /dev/shm 通过在/etc/fstab中添加下面一行,共享内存文件系统可以被自动挂载: shmfs /dev/shm shm size=3g 0 0
开启大页面支持 在/boot/grub/grub.conf文件中添加bigpages=xMB到相关的内核条目后来开启大页面支持,这里的x象下面这样计算: 总SGA大小(单位G)*1024 然后围绕这个值取整百,因此一个4G大小的SGA,我们做下面的计算: 4*1024=4096=4100 因此/boot/grub/grub.conf文件条目看起来就是: kernel /vmlinuz-2.4.9-e.40enterprise ro root=/dev/cciss/c0d0p2 bigpages=4100MB 保存后应该重启系统,然后你必须作为root用户执行下面的命令: echo 2 > /proc/sys/kernel/shm-use-bigpages 你可以直接在/etc/sysctl.conf文件中添加一行让这个值固定下来: kernel.shm-use-bigpages = 2
++++Red Hat企业版Linux(RHEL)3、4和5++++ 挂载ramfs文件系统,并确认它对oracle是可用的 umount /dev/shm  mount -t ramfs ramfs /dev/shm  chown oracle:oinstall /dev/shm 将这些命令添加到/etc/rc.local文件中,和RHEL2.1的方法一样,只有高速缓存存储在这个位置。 因为Oracle会为共享池锁住共享内存,我们必须在/etc/security/limits.conf中调整memlock参数,memlock以Kb为单位进行表示的,因此对于一个2G大小的共享池,我们至少需要(2*1024*1024=2097152),如下所示: oracle soft memlock 2097152 oracle hard memlock 2097152 实际上,最好稍微比这个数值大一点。
sysctl -w kernel.shm-use-bigpages=1
# tuning aio: sysctl -w fs.aio-max-size=131072
所允许的并发请求的最大个数 sysctl -w fs.aio-max-nr=1048576

如要lock sga的,还需开启bigpage。编辑/etc/lilo.conf,加入: append="bigpages=1408m"


======================== xhost ================================ xauth
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载