您的位置:首页 > 数据库 > Oracle

linux下安装oracle11g详解

2015-05-31 19:07 501 查看
周二小伙伴问笨小葱有没有在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 oinstall

groupadd 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: