环境:
虚拟机redhat6.4 Desktop默认组件未修改
swap交换空间64G
操作系统版本及补丁矩阵
需要安装以下RPM软件包(加32bit括号注解的是该软件包32位版本,对应同名未加注解的则是该软件包64位版本。在64位版本平台上,两种版本都要安装):
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
采用yum安装,如下:
yum install -y binutils*
yum install -y compat-libstdc*
yum install -y elfutils-libelf*
yum install -y gcc*
yum install -y glibc*
yum install -y ksh*
yum install -y libaio*
yum install -y libgcc*
yum install -y libstdc*
yum install -y make*
yum install -y sysstat*
yum install libXp* -y
yum install -y glibc-kernheaders
检查下lib是否安装齐全:
[root@powerlong4 ~]# rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}"\n" \ compat-libstdc++-33 glibc-kernheaders glibc-headers libaio libgcc glibc-devel xorg-x11-deprecated-libs
如果缺少,就继续安装缺失的组件包。
需在网上下载以下两个rpm包手动安装
xorg-x11-deprecated-libs-6.8.2-1.EL.19.i386.rpm
pdksh-5.2.14-30.x86_64.rpm
小插曲---在安装pdksh-5.2.14-30.x86_64.rpm时报错:
error: Failed dependencies:
pdksh conflicts with ksh-20120801-33.el6.x86_64
解决方法:(删除ksh,再装pdksh)
rpm -e ksh-20100621-2.el6.i686
rpm -ivh pdksh-5.2.14-36.el5.i386.rpm
开始安装:
一、修改操作系统核心参数
1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
编辑完成后按Esc键,输入“:wq”存盘退出
2)修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.so
session required pam_limits.so
编辑完成后按Esc键,输入“:wq”存盘退出
3)修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf ,按i键进入编辑模式,将下列内容加入该文件(如果有已存在项,确保该项的值不小于下面设定的值)
#redhat6.4中未包含以下两项,所以手动添加###
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
#注意下面这一项并不是min,是mni,表示最大数量
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
编辑完成后按Esc键,输入“:wq”存盘退出
4)要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入: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
5)编辑 /etc/profile ,输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
编辑完成后按Esc键,输入“:wq”存盘退出
6)创建相关用户和组,作为软件安装和支持组的拥有者。
创建Oracle用户和密码,输入命令:
groupadd oinstall
groupadd dba
useradd -g oinstall -g dba -m oracle
passwd oracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
7)创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令:
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/product
8)更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
9)配置oracle用户的环境变量,首先,切换到新创建的oracle用户下,
输入:su – oracle ,然后直接在输入 : vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
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
编辑完成后按Esc键,输入“:wq”存盘退出
二、图形界面安装过程
1)当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令:
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
进入解压后的database文件夹
cd database
使用ls命令可以查看解压后database所包含的文件,如下图:
![](https://i-blog.csdnimg.cn/blog_migrate/6c557ab3713d8762a9d669a0269afa93.png)
2)执行安装,输入命令:./runInstaller
![](https://i-blog.csdnimg.cn/blog_migrate/e258e10c2a4cd28a757f91a228edf599.png)
![](https://i-blog.csdnimg.cn/blog_migrate/36f290486b2507ca7099a9d623ec1468.png)
![](https://i-blog.csdnimg.cn/blog_migrate/dfee76a7f59184d86e1506a3eda19534.png)
![](https://i-blog.csdnimg.cn/blog_migrate/27a82584943db23c5bbc317fa06ba97b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/552653aa6652714055c85740090db3e9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a19330ef00adca2fb2b33f61294e9b5a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5839efb0cec04583eeecb8eb34ab8f51.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5f422b6e6c364a48a4d1d83e41a1e282.png)
装到这一步,如果看上以上提示,表示依然缺失依赖包,手动安装后点Check Again
出现如下界面,表示检查通过。
![](https://i-blog.csdnimg.cn/blog_migrate/8c0a8a98b7f764d364298d01ec70c86d.png)
安装完成后,系统会提示你需要用root权限执行2个shell脚本。按照其提示的路径,找到其所在的位置,如:我的就在/home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
和 /home/oracle/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:
su – root
cd /home/oracle/oraInventory
./orainstRoot.sh
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1
./root.sh
注意:执行第二个脚本时,提示:Enter the full pathname of the local bin directory:[/usr/ local/ bin]:时直接按回车,安装完成
三、创建数据库
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。
![](https://i-blog.csdnimg.cn/blog_migrate/87065700858a8bafeb682092b6ec2184.png)
![](https://i-blog.csdnimg.cn/blog_migrate/31beb79bfb70cd71d6733c230f30cce5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/72c1839467c7c018ce630a9f222f696c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/61e345ffc387c242b5f654c9c6d2906e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/51bd9be1e8e576112e3fe199590874e9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/aadd771bc139ef84b746bdcfac5b37d5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d0051f1e270a8518273a22ebdfd51803.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7162d45892565705a80776a83a837928.png)
![](https://i-blog.csdnimg.cn/blog_migrate/afdc123201cfdc743dd79802d2dcbf52.png)
直接点next
![](https://i-blog.csdnimg.cn/blog_migrate/81c69725381dceb942540b511998fc37.png)
点finish或next-finish
经过漫长的等待,oracle建库完成
四、配置监听及本地网络服务
1)在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。
![](https://i-blog.csdnimg.cn/blog_migrate/a422f6a9f860b5da278ca9780b6d509a.png)
2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
![](https://i-blog.csdnimg.cn/blog_migrate/79a07e8867270664677355043d70311e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/91edd48062111eecff369df4c14922a2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ffadc5b3525d232770e1d6cf85bf526e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0ac22df3a7dde1a161589297a091ac00.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f7d3ea43641991711b8ee84ad08fee31.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8c8dbe682172cf6ec19b3d23dd0af71b.png)
3) 配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)
![](https://i-blog.csdnimg.cn/blog_migrate/04b7b045059a2495064999f233ad410d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8337557a533270f8c8f7464b555ef4ca.png)
输入连接的oracle服务器的数据库的实例名
![](https://i-blog.csdnimg.cn/blog_migrate/7f716da0e55916ee73333453504a1502.png)
![](https://i-blog.csdnimg.cn/blog_migrate/888b70608605401107363027aefb97bf.png)
输入oracle服务器的ip地址
![](https://i-blog.csdnimg.cn/blog_migrate/cd8ae1a22cd02d257b77aa0ccfcda97a.png)
选中YES测试
![](https://i-blog.csdnimg.cn/blog_migrate/55f764efde44f7779ef96f030b1b6651.png)
点击change Login 输入所连接oracle服务器的其中某一个用户名和密码(用户名oracle和设置的密码),点击OK
![](https://i-blog.csdnimg.cn/blog_migrate/c40db7d233a76054342c92bc70dd34a0.png)
看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)
![](https://i-blog.csdnimg.cn/blog_migrate/c24f6b7e95a0460796c3b1231189d29f.png)
为你所设置的本地网络服务名起个名字
![](https://i-blog.csdnimg.cn/blog_migrate/fc9fb79a24b9e9d93eb65c080983039a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/37b20e124608f0be0deea47f9a6ac5df.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0363851bae1002b8e86a945b02489507.png)
这样oracle服务器安装配置基本就完成了
注意:
1、Linux oracle数据库listener.ora存放路径
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
2、Linux oracle数据库tnsnames.ora存放路径
cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
3、ORACLE启动监听器
(1)切换至oracle安装用户(一般为oracle)
su - oracle
(2)启动监听器
lsnrctl start
(3)停止监听器
lsnrctl stop
4、启动测试oracle:
[oracle@oracle ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Fri Jul 27 02:12:12 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> quit
测试的另一种方法:找一台windows平台电脑,telnet oracle主机IP地址:1521,通的话,会出现一个黑屏,光标一闪一闪。
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
6、linux下创建oracle用户表空间
就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
(1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
(2)以sysdba方式来打开sqlplus,命令如下: sqlplus "/as sysdba"
(3)查看我们常规将用户表空间放置位置:执行如下sql:
select name from v$datafile
(4)创建用户表空间:
CREATE TABLESPACE NOTIFYDB DATAFILE '/home/oracle/app/oradata/orcl/scsdb.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
(5)创建用户,指定密码和上边创建的用户表空间
CREATE USER scs IDENTIFIED BY scs DEFAULT TABLESPACE NOTIFYDB;
(6)赋予权限
grant connect,resource to scs;
grant unlimited tablespace to scs;
grant create database link to scs;
grant select any sequence,create materialized view to scs;
--经过以上操作,我们就可以使用scs/scs登录指定的实例,创建我们自己的表了