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

浙公网安备 33010602011771号