Linux版Oracle安装流程(虚拟机亲测)

需要的压缩包工具以及安装linux上Oracle需要的依赖包
工具可自行下载Xmanafer
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Oracle压缩包可以再Oracle官网下载也可以自行百度下载推荐官网下载。

Linux版Oracle安装流程(虚拟机亲测)
进入linux系统使用yum 命令下载安装Oracle需要的依赖包 命令如下:
#yum -y install binutils compat-libstdc+±33 compat-libstdc+±33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc+±devel make sysstat

文件配置修改
修改sysctl.conf配置文件在文件最后加入以下内容:
文件位置/etc/sysctl.conf
#use for Oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

修改完成后执行 sysctl -p 命令使文件生效

修改limits.conf配置文件,该文件用于设置系统资源限制
文件位置/etc/security/limits.conf
在文件末尾加上以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

编辑/etc/pam.d/login文件在文件末尾夹上以下内容
session required /lib/security/pam_limits.so
session required pam_limits.so
创建用户及权限分配
以为Oracle不允许使用root用户安装数据库所以需要创建对应的数据库管理用户对象创建方法如下:

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle 这步操作是设置oracle用户密码不用理提示在输入一次密码确认就可以了但要两次密码一致。

修改/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
创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到 oracle 用户下,命令如下:
mkdir -p /home/oracle/app
mkdir -p /home/oracle/app/oracle
mkdir -p /home/oracle/app/oradata
mkdir -p /home/oracle/app/oracle/product
更改目录属主为 Oracle 用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
创建 oracle 安装临时文件目录(注意安装目录的读写权限和所有者权限)
#mkdir /tmp/oracle
#chmod a+wr /tmp/oracle

配置 oracle 用户的环境变量
切换至oracle用户 命令为 su - oracle 退出返回root用户直接输入exit就可以
在oracler用户下使用vi .bash_profil编辑文件,在文件下增加如下内容:
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=ORACLEBASE/oracle/product/11.2.0/dbhome1exportORACLESID=orclexportPATH=ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=PATH:HOME/bin:HOME/bin:ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
Oracle数据库安装
当上面的工作都做好后就是用工具把Oracle压缩包上传到linux中之后再linux中把压缩包解压,解压命令如下:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解压完后需要cd 进入database目录中
Linux版Oracle安装流程(虚拟机亲测)
运行 runInstaller这个文件,运行命令为./renInstaller。
在运行安装时可能会出现交换空间不足那么可以去文章最后查看。
再有就是不会弹出安装的图形化界面,一般原因有两种一个就是你没安装我上面的工具还有一种就是你还没开启连接
开启连接命令如下:
export DISPLAY=192.168.xx.xx:0.0 //注意ip是你本机ip
xhost + 当出现以下窗口时那么恭喜你成功连接了在去运行./runInstaller就能出现Oracle数据库的安装界面了
Linux版Oracle安装流程(虚拟机亲测)
当然安装时可能会出现乱码那么你就得先取消执行LANG="en_US.utf-8"然后在运行安装就可以了。

之后就是安装步骤了

Linux版Oracle安装流程(虚拟机亲测)

Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
安装完成后,系统会提示你需要用 root 权限执行 2 个 shell 脚本。按照其提示的路径其所在的位置
su – root //回到root用户
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
sh root.sh //执行脚本
cd /home/oracle/oraInventory
sh orainstRoot.sh//执行脚本
数据库建库
回到oracle 用户的图形界面 oracle 用户中,新开启一个终端,直接输入命令 dbca 会弹出如下界面。我们这里采用定制数据库。Linux版Oracle安装流程(虚拟机亲测)

等待安装完成即可要注意是是sys与system的口令即密码的创建

配置监听及本地网络服务
在 oracle 用户的远程端工具中使用 oracle 用户中输入命令 netca 会弹出如下界面

Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)
Linux版Oracle安装流程(虚拟机亲测)

Linux版Oracle安装流程(虚拟机亲测)

监听器配置完成。
启动Oracle数据库服务
[[email protected] ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
Copyright © 1982, 2009, Oracle. All rights reserved.
SQL> quit //退出splplus模式

Linux 开放 1521 端口允许网络连接 Oracle Listener
症状:
(1)TCP/IP 连接是通的。可以用 ping 命令测试。
(2)服务器上 Oracle Listener 已经启动。
lsnrctl status 查看 listener 状态
lsnrctl start 启动 Oracle listener
(3)客户端得到的错误信息通常是:ORA-12170: TNS:连接超时
这时,我们基本可以肯定是服务器没有开放 1521 端口(假设你用默认设置)
解决方法:
(1)假如你是在一个局域网环境,配置了防火墙。那么可以关闭 Linux 的防火墙。
sudo service iptables stop
(2)编辑 iptables, 开放 1521 端口:
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT
:wq
重启防火墙
sudo service iptables restart
保存配置,以便 linux 重启后依然有效
sudo service iptables save
查看防火墙规则:
sudo iptables -L –n

注意如果出现监听器没有服务需要修改
/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora文件

检查/home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

**

linux虚拟机上安装Oracle时交换空间不足的解决办法

**
增加交换空间有两种方法:
严格的说,在系统安装完后只有一种方法可以增加swap,那就是本文的第二种方法,
至于第一种方法应该是安装系统时设置交换区。
1、使用分区:
在安装OS时划分出专门的交换分区,空间大小要事先规划好,启动系统时自动进行mount。
这种方法只能在安装OS时设定,一旦设定好不容易改变,除非重装系统。
2、使用swapfile:(或者是整个空闲分区)
新建临时swapfile或者是空闲分区,在需要的时候设定为交换空间,最多可以增加8个swapfile。
交换空间的大小,与CPU密切相关,在i386系中,最多可以使用2GB的空间。
在系统启动后根据需要在2G的总容量下进行增减。
这种方法比较灵活,也比较方便,缺点是启动系统后需要手工设置。
下面是运用swapfile增加交换空间的步骤:
涉及到的命令:
free —查看内存状态命令,可以显示memory,swap,buffer cache等的大小及使用状况;
dd —读取,转换并输出数据命令;
mkswap —设置交换区
swapon —启用交换区,相当于mount
swapoff —关闭交换区,相当于umount
步骤:
1、创建swapfile:
root权限下,创建swapfile,假设当前目录为"/",执行如下命令:

dd if=/dev/zero of=swapfile bs=1024 count=500000

则在根目录下创建了一个swapfile,名称为“swapfile”,大小为500M,也可以把文件输出到自己想要的任何目录中,
个人觉得还是直接放在根目录下比较好,一目了然,不容易误破坏,放在其他目录下则不然了;
命令中选项解释:
—of:输出的交换文件的路径及名称;
—bs:块大小,单位byte,一般为1k即1024个byte;
—count:总块数即空间总大小,单位为块即k;
—if:读取的源空闲空间,为什么是zero,不清楚,先固定这么写吧;
2、将swapfile设置为swap空间

mkswap swapfile

3、启用交换空间,这个操作有点类似于mount操作(个人理解):

swapon swapfile

至此增加交换空间的操作结束了,可以使用free命令查看swap空间大小是否发生变化;
4、如果不再使用空间可以选择关闭交换空间,这个操作有点类似于umount操作(个人理解)::

swapoff swapfile

使用这种方法在每次系统启动时都需要手动设置、开启swapfile,比较麻烦,解决方法:
在 /etc/rc.d/rc.local 文件的末行下追加加以下内容:(编辑这个文件当然是用vi了~)
/sbin/swapon /swapfile
保存后退出,这样在系统启动后,swap空间就会自动加载了;
总结:在安装OS时一定要规划后swap大小,通常为内存的2倍,但是要考虑到以后增加内存的可能,所以可以考虑设的稍大一些,

想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。添加swap交换空间的步骤如下:
第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件
第二步:添加交换文件并设置其大小为2G,使用如下命令
[[email protected] image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000
过段时间就返回如下结果:
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s
第三步:创建(设置)交换空间,使用命令mkswap
[[email protected] image]# mkswap /opt/image/swap
Setting up swapspace version 1, size = 2097147 kB
第四步:检查现有的交换空间大小,使用命令free
[[email protected] image]# free -m
total used free shared buffers cached
Mem: 1011 989 21 0 1 875
-/+ buffers/cache: 112 898
Swap: 1027 0 1027
或者检查meminfo文件
grep SwapTotal /proc/meminfo
第五步:启动新增加的2G的交换空间,使用命令swapon
[[email protected] image]# swapon /opt/image/swap
第六步:确认新增加的2G交换空间已经生效,使用命令free
[[[email protected] image]# free -m
total used free shared buffers cached
Mem: 1011 995 15 0 4 877
-/+ buffers/cache: 113 897
Swap: 3027 0 3027
或者检查meminfo文件
grep SwapTotal /proc/meminfo
第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效
在文件最后加入:
/opt/image/swap swap swap defaults 0 0