Redhat6.5 安装64位oracle11.2.0.1

时间:2022-10-11 17:12:31
系统架构
[root@localhost ~]# uname -a
Linux db 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
 
 
[root@localhost ~]# uname -r
2.6.32-431.el6.x86_64
 
 
[root@db ~]# cat /proc/version
Linux version 2.6.32-431.el6.x86_64 (mockbuild@x86-023.build.eng.bos.redhat.com) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Sun Nov 10 22:19:54 EST 2013
 
操作系统
 
[root@db ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.5 (Santiago)
 
 
内存
[root@localhost ~]# grep -i memtotal /proc/meminfo
MemTotal:        32872580 kB
 
 
[root@db ~]# swapon -s
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       16506872        0      -1
 
 
磁盘
[root@db ~]# df -h
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vg_db-lv_root   50G  2.9G   44G   7% /
tmpfs                       16G  152K   16G   1% /dev/shm
/dev/sda1                  485M   40M  421M   9% /boot
/dev/mapper/vg_db-lv_home  2.3T  200M  2.2T   1% /home
 
内存空闲
[root@db ~]# free
             total       used       free     shared    buffers     cached
Mem:      32872580     798616   32073964          0      26744     323628
-/+ buffers/cache:     448244   32424336
Swap:     16506872          0   16506872
 
 
 
安装包
Oracle官方文档中确定要安装的包如下:
     binutils-2.20.51.0.2-5.11.el6 (x86_64)
     compat-libcap1-1.10-1 (x86_64)
     compat-libstdc++-33-3.2.3-69.el6 (x86_64)
     compat-libstdc++-33-3.2.3-69.el6 (i686)
     gcc-4.4.4-13.el6 (x86_64)
     gcc-c++-4.4.4-13.el6 (x86_64)
     glibc-2.12-1.7.el6 (i686)
     glibc-2.12-1.7.el6 (x86_64)
     glibc-devel-2.12-1.7.el6 (x86_64)
     glibc-devel-2.12-1.7.el6 (i686)
     ksh
     libgcc-4.4.4-13.el6 (i686)
     libgcc-4.4.4-13.el6 (x86_64)
     libstdc++-4.4.4-13.el6 (x86_64)
     libstdc++-4.4.4-13.el6 (i686)
     libstdc++-devel-4.4.4-13.el6 (x86_64)
     libstdc++-devel-4.4.4-13.el6 (i686)
     libaio-0.3.107-10.el6 (x86_64)
     libaio-0.3.107-10.el6 (i686)
     libaio-devel-0.3.107-10.el6 (x86_64)
     libaio-devel-0.3.107-10.el6 (i686)
     libXext-1.1 (x86_64)
     libXext-1.1 (i686)
     libXtst-1.0.99.2 (x86_64)
     libXtst-1.0.99.2 (i686)
     libX11-1.3 (x86_64)
     libX11-1.3 (i686)
     libXau-1.0.5 (x86_64)
     libXau-1.0.5 (i686)
     libxcb-1.5 (x86_64)
     libxcb-1.5 (i686)
     libXi-1.3 (x86_64)
     libXi-1.3 (i686)
     make-3.81-19.el6
     sysstat-9.0.4-11.el6 (x86_64)
     注:(1)安装glibc-2.17-55.el7.i686.rpm时,因为依赖包相互依赖,需要与依赖包同时安装:
 
(安装命令)
yum -y install \
binutils \
compat-libcap1  \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
 
 
rpm -ivh --force --nodeps gcc-4.1.2-55.el5.i386.rpm
 
 
机器名设置
[root@localhost ~]# hostname db
 
 
[root@localhost ~]# vi /etc/sysconfig/network
HOSTNAME=db
 
[root@localhost ~]# vi /etc/hosts
添加
10.10.11.229 db
 
 
禁用sendmail,提升系统启动速度
chkconfig --levels 12345 sendmail off
 
 
禁用SELinux:
/etc/selinux/config
修改
SELINUX=disabled
一定需要重起才有效
 
SELinux提供了比默认ugo+rwx更详细的权限控制
 
 
添加用户组oinstall,dba
groupadd oinstall
groupadd dba
添加用户oracle
useradd -g oinstall -G dba oracle
设置oracle密码
passwd oracle
 
[root@db ~]# id oracle
 
uid=500(oracle) gid=500(oinstall) 组=500(oinstall),501(dba)
 
 
建立安装目录(google一下OFA)
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
 
 
修改oracle用户环境变量
su - oracle
vi .bash_profile or root下vi ~oracle/.bash_profile
 
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORCL; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
 
 
umask 002
 
改好后,使之生效
source .bash_profile
 
修改ulimit(感觉好象没有必要)
vim /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
 
 
核心参数
vim /etc/sysctl.conf
 
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 17179869184
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
 
改好后,使之生效
sysctl -p
/sbin/sysctl -p
 
改文件限制
vim /etc/security/limits.conf
 
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
 
注意:修改此文件是即时生效的,但可能要重登录后再看
ulimit -Sn
ulimit -Hn
ulimit -Sn
ulimit -Sn
ulimit -Sn
 
 
vim /etc/pam.d/login (感觉好象没有必要)
session required /lib/security/pam_limits.so
session required pam_limits.so
 
 
 
 
安装
下载的oracle文件ssh到/u01/app/oracle
xhost + #一定要运行一下
su - oracle
cd /u01/app/oracle
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
unset LANG LANGUAGE #解决中文乱码
cd /u01/app/oracle/databse
./runInstaller
 
 
Step1:从安装盘找vsftpd-2.0.5-10.el5.i386.rpm
安装rpm -ivh vsftpd-2.0.5-10.el5.i386.rpm
Step2:开启服务
cd /etc/rc.d/init.d
service vsftpd start
 
 
orcl229
 
iptables
-A RH-Firewall-1-INPUT -p tcp --dport 1521 -j ACCEPT
 
 
安装后配置
 
 
 
ORACLE11g
 
数据库自启动配置
 
 
 
修改以下两个文件
 
 
 
/etc/oratab
 
 
$ORACLE_HOME/bin/dbstart
 
[root@redhat ~]# vi /etc/oratab
 
 
 
 
test:/u01/oracle/product/OraHome:N
 
修改为
 
 
 
test:/u01/oracle/product/OraHome:Y
 
 
 
[root@redhat ~]# su -l oracle 
 
[oracle@redhat ~]$ cd $ORACLE_HOME
 
[oracle@redhat OraHome]$ cd bin
 
[oracle@redhat bin]$ vi dbstart 
 
找到
 
ORACLE_HOME_LISTNER=$1
 
这一行,将
 
$1
 
改为
 
$ORACLE_HOME
 
 
--------------------------------------------------------------------
安装过程中遇到如下问题时:
问题1:
Exception String: Error in invoking target 'mkldflags ntcontab.o nnfgt.o' of makefile '/u01/app/oracle/product/11.2.0/db_1/network/lib/ins_net_client.mk'. See '/u01/app/oraInventory/logs/installActions2015-11-19_03-02-59PM.log' for details.
 
分析:
gcc版本问题或者gcc的包没有装全
 
处理方案:
gcc的rpm包的顺序及方法
glibc
# rpm -ivh glibc-common-2.12-1.25.el6.x86_64.rpm
 
 # rpm -ivh kernel-headers-2.6.32-131.0.15.el6.x86_64.rpm
 
 # rpm -ivh libgcc-4.4.5-6.el6.x86_64.rpm
 
 # rpm -ivh glibc-2.12-1.25.el6.x86_64.rpm
 
 # rpm -ivh libgomp-4.4.5-6.el6.x86_64.rpm
 
 # rpm -ivh nscd-2.12-1.25.el6.x86_64.rpm
 
 # rpm -ivh glibc-headers-2.12-1.25.el6.x86_64.rpm
 
 # rpm -ivh glibc-devel-2.12-1.25.el6.x86_64.rpm
 
 # rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
 
 # rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
 
 # rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
 
 # rpm -ivh cpp-4.4.5-6.el6.x86_64.rpm
 
 # rpm -ivh gcc-4.4.5-6.el6.x86_64.rpm
 
注:以上是安装gcc,软件安装顺序不能错。
******************************************
 # rpm -ivh libstdc++-4.4.5-6.el6.x86_64.rpm
 
 # rpm -ivh libstdc++-devel-4.4.5-6.el6.x86_64.rpm
 
 # rpm -ivh gcc-c++-4.4.5-6.el6.x86_64.rpm
 
注:以上是安装gcc-c++
 
按照上面的顺序安装完gcc后题目所说的错误就能修正了
 
 
 
安装过程中遇到问题:
 DBCA fails while in the middle of creating the database with the following errors
ORA-13516: AWR Operation failed: CATPROC not valid
ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 206
ORA-06512: at "SYS.DBMS_SWRF_INTERNAL", line 239
ORA-06512: at line 1
 
Cause
 
 ORA-13516 DURING DB CREATION WHEN DB PWD CONTAINS " " (SPACE) CHARACTER Bug ID 8633879
 
This Bug is suspended due to lack of required information, but the issue is solved by using workaround (removing the space and the special characters used in the passwd)
Solution
 
Do not include any spaces or special characters in the password,
 
If you are particular with the passwords, then you can reset the passwords once the database is created. Eg:
 
conn / as sysdba
 
alter user USERNAME identified by PWD;
 
上面讲到密码中包含空格或是特殊字符就可能会在dbca时出现以上错误.在建库的时候要避免使用空格或是特殊字符.当然和密码中特殊字符相关的错误,也可能出现在rman中等.
 
 
 
---------------------
 
利用
 
dbca
 
创建数据库时提示
 
ORA-12532: TNS:invalid argument
 
错误代码,
 
是iptables没有开放1521端口,在iptables
 
中添加以下条目
-A INPUT -p tcp --dport 1521 -j ACCEPT
 
解决问题。
 
 
iptables导致远程连接linux下oracle数据库失败
 
service iptables stop 后。
连接、操作都正常,确定是iptables的原因。
然而,不能为了连接把整个iptables关掉,还是要查到具体是那个规则造成的。
 
在上查到一篇文章提到修改
vi /etc/sysconfig/iptables
则将
-A INPUT -p tcp --dport 1521 -j ACCEPT
插入到
-A INPUT -j REJECT --reject-with icmp-host-prohibited
之前。
 
重新启动iptables,数据库可以正常连接。
 
调整memory target后
SQL> alter system set memory_max_target=28G scope=spfile;
 
System altered.
 
SQL> alter system set memory_target=28G scope=spfile;
 
System altered.
 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
 
原因:
 
MEMORY_MAX_TARGET 的设置不能超过 /dev/shm 的大小
[root@db ORCL]# df -h |grep shm
tmpfs                       16G   80K   16G   1% /dev/shm
 
解决方法:
mount -t tmpfs shmfs -o size=28G /dev/shm
 
vi /etc/fstab(修改使之永久生效)
tmpfs                   /dev/shm                tmpfs   defaults ,size=28G        0 0