Oracle_20200927_在 Fedora 19 X86_64 上安装

一、前期配置

root

1.yum install 依赖包

binutils-2.17.50.0.6-2.el5
 2 compat-libstdc++-33-3.2.3-61
 3 elfutils-libelf-0.125-3.el5
 4 elfutils-libelf-devel-0.125
 5 glibc-2.5-12
 6 glibc-common-2.5-12
 7 glibc-devel-2.5-12
 8 glibc-headers-2.5-12
 9 gcc-4.1.1-52
10 gcc-c++-4.1.1-52
11 libaio-0.3.106
12 libaio-devel-0.3.106 
13 libgcc-4.1.1-52
14 libstdc++-4.1.1 
15 libstdc++-devel-4.1.1-52.e15
16 make-3.81-1.1
17 numactl-devel-0.9.8.i386
18 sysstat-7.0.0

2.关闭防火墙和selinux

vi /etc/sysconfig/selinux
SELINUX=disable   禁用SeLinux
SELINUX=enforcing   使用SeLinux
Fedora 17及以前的版本关闭防火墙用systemctl stop iptables.service即可,其他linux版本用service stop iptables
 
Fedora 18以上用一个名叫firewalld的玩意,所以需要:
 
systemctl stop firewalld.service有必要的话就
 
systemctl disable firewalld.service
 

3.配置内核参数

 查看当前内核参数: # /sbin/sysctl -a | grep <param-name>
 将下面信息添加到文件 /etc/sysctl.conf
#Instal Oracle Config
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576
 输入以下命令来更改内核参数的当前值:   
        # /sbin/sysctl -p
在"/etc/security/limits.conf"文件末尾添加下列内容:
#Install Oracle Config
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
 
把下面的内容添加到/etc/pam.d/login文件当中
#Install Oracle Config
session    required     pam_limits.so
 

4.添加新的组和用户

# groupadd oinstall
# groupadd dba
 
 
# useradd -g oinstall -G dba oracle
# passwd oracle
 

5.为oracle的安装建立一个新的目录

# mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
 

6.编辑/etc/redhat-release文件,把里面的内容替换为下面的内容

redhat release 5
 
oracle

7.用oracle用户登录,把下面的内容添加到~.bash_profile(/home/oracle/.bash_profile)的末尾(oracle用户操作):

# Oracle Settings
export TMP=/tmp;
export TMPDIR=$TMP;
 
export ORACLE_HOSTNAME=localhost.localdomain;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;
export ORACLE_SID=DB11G;
export ORACLE_TERM=xterm;
export ORACLE_UNQNAME=DB11G;
export PATH=/usr/sbin:$ORACLE_HOME/bin:$PATH;
 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
 
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
 
# Oracle terminal Chinese fonts 2010-09-10 解决sqlplus 显示中文为 ???
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"
 
 

二、安装

1.解压安装文件

$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
 

 2.把中文字体增加到oracle安装文件,解决安装时中文是"囗囗囗囗囗囗囗囗"

              进入刚解压的database/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles /all.jar就是JDK喽.在桌面新建一个文件夹命名为fallback/找一个zysong.ttf中文字体放入里面去。再用归档管理器打开它进入 /jdk/jre/lib/fonts/(all.jar包的目录)把在桌面建好的fallback文件夹拖放进来,完成后的目录结构应该是/jdk /jre/lib/fonts/fallback/zysong.ttf。
 
root

3.xhost切换两次

# su root
# xhost +
提示:xhost: unable to open display “”
# export DISPLAY=:0.0
# xhost +
提示:access control disabled, clients can connect from any host
切换oracle用户
# su – oracle
再执行# sh runInstaller
 

4.$ ./runInstaller

5.若遇到ld-linux.so.2相关的报错

# yum whatprovides ld-linux.so.2--查找相关依赖包
# yum install 包名(为上条命令返回的结果)--安装依赖包
 
如果oracle安装程序检查依赖包还有未安装的话用yum install <包名> 安装上.但除包名为‘pdksh’以外(我安装是就剩下一个pdksh没有安装,因为我已经安装上了ksh这个包,所以让它通过)。
保证内存大于1G,依赖包全部安装,其他错误可以忽略。
 
先仅按照数据库
 

6.安装成功后oracle会提示你使用root用户手动执行2个脚本

 

7.成功安装完成后再接着配置

    
     1.编辑/etc/oratab文件,设置下面一行的标志为"Y":
             DB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y
 
     2.最后把/etc/redhat-release文件的内容改为原来的
             Fedora release 12 (Constantine)

8.dbca

 
 

三、安装成功后启动

sqlplus
/ as sysdba
startup
--报错1:ORA-00845: MEMORY_TARGET not supported on this system
--原因:/dev/shm小于MEMORY_TARGET的大小
--解决方法:
[oracle@night ~]$ df -Th 
文件系统      类型    容量  已用 可用 已用% 挂载点 
/dev/sda2    ext3    16G  11G  3.9G  74% / 
/dev/sda3    ext3    1.6G  37M  1.4G  3% /tmp
/dev/sda1    ext3    99M  12M  83M  13% /boot
tmpfs        tmpfs    252M    0  252M  0% /dev/shm
 
 
[root@night ~]# free -m 
            total      used      free    shared    buffers    cached 
Mem:          503        368        134          0        26        283 
-/+ buffers/cache:        58        444 
Swap:        2525          0      2525 
 
--/dev/shm最好大于mem;
[root@night ~]# vim /etc/fstab
内容如下
LABEL=/                /                      ext3    defaults        1 1 
LABEL=/tmp              /tmp                    ext3    defaults        1 2 
LABEL=/boot            /boot                  ext3    defaults        1 2 
tmpfs                  /dev/shm                tmpfs  defaults,size=1G        0 0 
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0 
sysfs                  /sys                    sysfs  defaults        0 0 
proc                    /proc                  proc    defaults        0 0 
LABEL=SWAP-sda5        swap                    swap    defaults        0 0 
~
下面这一行可能没有,没有就新加一行,有就更新。size最好用整数G
tmpfs                  /dev/shm                tmpfs  defaults,size=1G        0 0
 
重新挂载
[root@night ~]# umount /dev/shm/ 
[root@night ~]# mount /dev/shm/ 
[root@night ~]# mount 
 
若进程忙:
umount /mnt/net1
umount: /mnt/net1: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
这种问题解决方案:
一、查找使用这个文件的进程和命令,具体的操作代码
[root@localhost ~]# lsof |grep /mnt/net1
lsof: WARNING: can't stat() cifs file system /mnt/net1
      Output information may be incomplete.
bash      18841      root  cwd   unknown                                            /mnt/net1/TDDOWNLOAD/软件 (stat: No such device)
 
二、然后执行ps命令可以查找执行此进程的命令
[root@localhost ~]# ps -ef|grep 18841
root     18841 18839  0 Nov29 pts/2    00:00:00 /bin/bash -l
root     29496 25604  0 16:26 pts/0    00:00:00 grep 18841
 
三、强行结束无关进程
[root@localhost ~]# kill -9 18841
 
四、然后卸载相关挂载
[root@localhost ~]# umount /mnt/net1
五、然后可以在功过mount命令进行查看。
 
完成后重新startup
 
--报错2:
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file 'D:\oracle\product\10.2.0\db_1/dbs/spfileor
cl.ora'
解决办法:
 
方法一:将$ORACLE_BASE/admin/orcl/pfile目录下的init.ora.0212012125517形式的文件copy到$ORACLE_HOME/dbs目录下initoracl.ora即可。(注:initoracl.ora中的oracl为你的实例名 ORACLE_SID,这里我的SID为:orcl10g)
 
方法二:将$ORACLE_HOME/dbs目录下spflieoracl.ora改名为spfileorcl10g.ora即可。(注:spfileorcl10g.ora中的orcl10g为环境变量中设置的SID,我的是orcl10g)
 
[oracle@RHEL5 ~]$ find /u01  -name pfile    //查看pfile位置 
/u01/ora/admin/orcl/pfile 
[oracle@RHEL5 ~]$ ls -l /u01/app/admin/orcl/pfile
 
[oracle@RHEL5 ~]$ cp /u01/app/admin/orcl/pfile/init.ora.0212012125517  /u01/app/oracle/product/10.2.0/db_1/dbs/initorc1.ora
 
重新startup
 
shutdown immediate
exit
 

posted @ 2020-09-27 10:18  hehenihaoa  阅读(129)  评论(0)    收藏  举报