linux下安装oracle11g详解

来源:互联网 发布:淘宝怎么预防死人衣服 编辑:程序博客网 时间:2024/05/18 00:40

    周二小伙伴问笨小葱有没有在linux下安装过oracle11g,我回想了一下我短暂又折腾的工作经历后,天真的摇了摇头。于是回去后果断研究了一下如何安装(当然是不停地百度教程0.0),可能是百度过于强大了,网上的教程多的一塌糊涂。无奈之下,笨小葱找了一个篇看上去比较像样的教程,打算走一步看一步。

    因为在学hadoop,所以已经在vm虚拟机里装好了linux32位系统。下面就开始了数据库安装前的准备。(这里主要内容是转载的教程:http://www.jb51.net/article/53769.htm)

,为了以后能有所参考,所以笨小葱这里无耻的复制了一下。(当然,我会在里面完善我实际的安装过程和遇到的问题)

(配置前需要说明一下的是关于系统的基础配置。笨小葱一开始是分配的1g内存,硬盘空间也不够大。所以第一次安装到50%时报错:存储空间已满. 扩展后,发现安装数据库实例时竟然花了3个多小时,等得我花儿都谢了。所以这里建议大家分配2g内存,然后挂载的时候/home空间大一点,至少5G。使用: df -ah 查看挂载信息)  



一、修改操作系统核心参数

如果运行shell命令时碰到权限问题,可以使用:chmod 744 xxx(目标文件)  来更改权限,具体可以查看一下chmod命令)

在Root用户下执行以下步骤:

1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件

输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。


<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536</span></span>



编辑完成后按Esc键,输入“:wq”存盘退出

2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。



编辑完成后按Esc键,输入“:wq”存盘退出

<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">session required /lib/security/pam_limits.so session required pam_limits.so</span></span>

3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件

<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">fs.file-max = 6815744 fs.aio-max-nr = 1048576 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 = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576</span></span>



编辑完成后按Esc键,输入“:wq”存盘退出

4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 显示如下:

<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">linux:~ # sysctl -p net.ipv4.icmp_echo_ignore_broadcasts = 1 net.ipv4.conf.all.rp_filter = 1 fs.file-max = 6815744 fs.aio-max-nr = 1048576 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 = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576</span></span>



5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。

<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);"><span style="font-size:14px;">if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi</span></span></span>


编辑完成后按Esc键,输入“:wq”存盘退出

6)创建相关用户和组,作为软件安装和支持组的拥有者。

(这里如果添加用户的时候报错,组找不到。那么你需要先新建两个组:

<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">groupadd oinstallgroupadd dba</span></span>


创建Oracle用户和密码,输入命令:




<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">useradd -g oinstall -G dba -m oracle      passwd oracle</span></span>
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。

 
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/product</span></span>

8)更改目录属主为Oracle用户所有,输入命令:
<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">chown -R oracle:oinstall /home/oracle/app</span></span>

9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,

输入:su – oracle ,然后直接在输入 : vi .bash_profile

按i编辑 .bash_profile,进入编辑模式,增加以下内容:

<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">export ORACLE_BASE=/home/oracle/app export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib</span></span>

编辑完成后按Esc键,输入“:wq”存盘退出

好啦,到这里配置信息都搞定了。


二、安装过程

1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆

首先,我们需要从oracle官网上下载oracle 11g 32位,然后可以通过winscp软件,在本机与虚拟机中的linux系统间传送文件。
(当然前提是要保证网络畅通),如果小伙伴不知道如何配置网络,可以参考如下步骤:
<1>在vm中选择host-only连接方式:




<2>设置linux的ip地址(具体步骤在百度下吧),网关填写虚拟机虚拟网卡VMware Virtual Ethernet Adapter for VMnet1设置的ip
设置完了运行命令:service network restart      (可以通过ifconfig查看linux系统的ip地址,然后:ping xxx(r VMnet1设置的ip))

这样你就可以在两个系统间通过winscp传递文件啦。



传递完成后,使用unzip命令解压缩。
<span style="font-size:18px;"><span style="background-color: rgb(153, 255, 255);">unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip</span></span>

解压完成后进入到database目录下,运行命令: ./runInstaller然后就进入到了和window下一样的安装界面。

简单的选择后,进入到了如下界面:



这里会检查系统中所缺少的架包,你需要去下载这些rpm架包,安装到linux系统中。
执行:rpm  -ivh  xxxx.rpm 安装。
执行: rpm -qa xxx  查看是否安装。
文章最后会分享一个我安装时候的一些rpm包。安装后,点击上面界面的“再次检测”,通过后,继续安装。

安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh和 /home/oracle/oraInventory/orainstRoot.sh



三、数据库建库

1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令:dbca   会弹出如下界面。
依旧和windows下安装一样。这里不再赘述。


四、配置监听及本地网络服务

1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令:netca  。
依旧和windows下安装一样。这里不再赘述。

这样oracle服务器安装配置基本就完成了。下面进入orcl中

ORACLE启动监听器
(使用:lsnrctl  status查看监听器状态,此时如果报错:error while loading shared libraries: /home/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot,可能是系统启动了SELINUX,关掉它:)

1,root用户登录
2,使用cd命令切换当前目录到 /etc/selinux
3.
  vi config  x修改内容如下:
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - SELinux is fully disabled.
SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:
#       targeted - Only targeted network daemons are protected.
#       strict - Full SELinux protection.
SELINUXTYPE=targeted

4.重启系统



(1)切换至oracle安装用户(一般为oracle)
su  -  oracle
(2)启动监听器
lsnrctl start
(3)停止监听器
lsnrctl stop


启动后,执行命令:sqlplus
然后输入用户名: sys as sysdba
密码:xxxx
进入到sqlplus界面:sql>
此时可以写一个查询语句:select 2 from dual;

注意,如果重启后,上面查询语句报错:
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

那么是你没有启动数据库服务。在sqlplus中执行:sql> startup;


然后测试一下主机上的plsql能否连接:
在oracle的tnsnames.ora文件中添加配置:
ORCL_VM=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.11.129)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )


这样在plsql中就可以连接上啦。




其他问题:

5、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





rpm包下载地址:http://pan.baidu.com/s/1eQ70sFK







































0 0
原创粉丝点击