转自:http://blog.csdn.net/nhm_lxy/article/details/37813789
安装环境: 虚拟机VMware Workstation 10.0
操作系统: 64位系统,RedHat.Enterprise.Linux.Server-v6.3-x86_x64.ISO
Oracle版本: Linux_x64_Oracle_11gR2_v11.2.0.1.0
安装过程主要分为以下3步:
在本章节中主要完成Oracle安装前的系统参数配置工作。若无特殊说明,均为以root身份在终端上进行操作。
需设置主机名和固定IP,以便oracle监听程序的建立。
[root@rhel6 ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME= rhel6.localdomain
HOSTNAME(主机名)请根据个人喜好进行设置。
[root@rhel6 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
ONBOOT="yes"
BOOTPROTO=static
IPADDR=192.168.18.101
NETMASK=255.255.255.0
GATEWAY=192.168.18.2
DNS1=192.168.18.2
IPADDR(IP地址)、NETMASK(子网掩码)、GATEWAY(默认网关)、DNS1(主DNS)请根据实际网络环境进行设置。
在文件【/etc/hosts】最后追加以下内容:
[root@rhel6 ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.18.101 oracle oracle.localdomain rhel6.localdomain
**
注意**:必须将主机名对应到主机真实ip地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上。主机名可根据个人喜好进行设置。
[root@rhel6 ~]# reboot
使用RedHat.Enterprise.Linux.Server-v6.3-x86_x64-DVD.iso做yum源安装依赖软件包。
[root@rhel6 ~]# mkdir /media/rhel6_dvd
[root@rhel6 ~]# mount /dev/cdrom /media/rhel6_dvd
[root@rhel6 ~]# cd /etc/yum.repos.d/
[root@rhel6 yum.repos.d]# vim rhel6.repo
[rhel6]
name=rhel6
baseurl=file:///media/rhel6_dvd
enabled=
gpgcheck=
[root@rhel6 yum.repos.d]# yum clean all
[root@rhel6 yum.repos.d]# yum update
[root@rhel6 yum.repos.d]# yum install binutils-.* compat-libstdc++-* elfutils-libelf-.* elfutils-libelf-devel-* gcc-.* gcc-c++-.* glibc-.* glibc-common-.* glibc-devel-.* glibc-headers-.* ksh-* libaio-.* libaio-devel-.* libgcc-.* libstdc++-.* libstdc++-devel-.* make-.* sysstat-.* unixODBC-.* unixODBC-devel-.* pdksh*
[root@rhel6 yum.repos.d]# cd
因为版本不同,在 第2章软件安装及数据库配置过程,可能会提示缺少依赖包,忽略后可以正常安装使用 Oracle。
在文件【/etc/sysctl.conf】中追加以下内容:
[root@rhel6 ~]# vim /etc/sysctl.conf
kernel.sem =
kernel.shmall =
kernel.shmmax =
kernel.shmmni =
fs.aio-max-nr =
fs.file-max =
net.core.rmem_default =
net.core.rmem_max =
net.core.wmem_default =
net.core.wmem_max =
net.ipv4.ip_local_port_range =
注意: kernel.shmmax 的值是物理内存的一半。 我的是2G内存,所以是1073741824。
参数说明: kernel.shmmni:整个系统共享内存段的最大数目
fs.file-max:系统中所允许的文件句柄最大数目
net.core.rmem_default:套接字接收缓冲区大小的缺省值
net.core.rmem_max:套接字接收缓冲区大小的最大值
net.core.wmem_default:套接字发送缓冲区大小的缺省值
net.core.wmem_max:套接字发送缓冲区大小的最大值
net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围
[root@rhel6 ~]# sysctl -p
如果有如下提示错误,忽略,因为即使未修改参数也提示有这个错误:
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
[root@rhel6 ~]# groupadd dba
[root@rhel6 ~]# groupadd oinstall
[root@rhel6 ~]# useradd -g oinstall -G dba oracle
[root@rhel6 ~]# passwd oracle
在文件【/etc/security/limits.conf】最后添加以下内容:
[root@rhel6 ~]# vim /etc/security/limits.conf
oracle soft nproc
oracle hard nproc
oracle soft nofile
oracle hard nofile
在文件【/etc/pam.d/login】最后添加以下内容:
[root@rhel6 ~]# vim /etc/pam.d/login
session required pam_limits.so
在文件【/etc/profile】最后添加以下内容:
[root@rhel6 ~]# vim /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p
ulimit -n
else
ulimit -u -n
fi
umask
fi
本文将Oracle安装在目录【/home/app/oracle】中,若需安装在其他位置,请自行修改。
[root@rhel6 ~]# mkdir -p /home/app/oracle
[root@rhel6 ~]# mkdir -p /home/app/oraInventory
[root@rhel6 ~]# chown -R oracle:oinstall /home/app/oracle
[root@rhel6 ~]# chown -R oracle:oinstall /home/app/oraInventory
[root@rhel6 ~]# chmod -R /home/app
在终端上切换到oracle用户,在文件【/home/oracle/.bash_profile】最后添加以下内容:其中ORACLE_SID的值可自己定,这里设为orcl,在第2章安装时的ORACLE_SID也应设置为orcl:
[root@rhel6 ~]# su - oracle
[oracle@rhel6 ~]# vim .bash_profile
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2./dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p
ulimit -n
else
ulimit -u -n
fi
fi
umask
[oracle@rhel6 ~]# source ~/.bash_profile
在文件【/etc/sysconfig/iptables】内增加以下内容:
[oracle @rhel6 ~]# su - root
[root@rhel6 ~]# vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
Oracle远程访问端口默认是1521,OEM端口1158,若自定义新端口,请开放相应端口。
注意:新开放端口的配置必须紧跟着放在端口22的配置后面。
[root@rhel6 ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
[root@rhel6 ~]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
ACCEPT all -- 0.0.0.0/ 0.0.0.0/ state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/ 0.0.0.0/
ACCEPT all -- 0.0.0.0/ 0.0.0.0/
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:
ACCEPT tcp -- 0.0.0.0/ 0.0.0.0/ state NEW tcp dpt:
REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
REJECT all -- 0.0.0.0/ 0.0.0.0/ reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
可从Oracle官网下载安装文件:linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip。
并上传到RHEL6系统中的【home/oracle】,具体上传方法此处不再赘述,请各位童鞋自己查阅相关资料。本文采用的是SSH Secure Shell的File Transfer Client进行上传。
切换到oracle用户,GNOME图形界面登录,然后进行解压。
[oracle@rhel6 ~]# cd /home/oracle
[oracle@rhel6 oracle]# unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip
2.2、安装Oracle软件和数据库
[oracle@rhel6 ~]# cd /home/oracle/database
[oracle@rhel6 database]# ./runInstaller
Starting Oracle Universal Installer…
Checking Temp space: must be greater than MB. Actual MB Passed
Checking swap space: must be greater than MB. Actual MB Passed
Checking monitor: must be configured to display at least colors. Actual Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013--03_05--11PM. Please wait …
待安装文件检查结束后,即出现图形界面。
取消勾选,不接收安全更新,然后点击【Next】,弹出提示窗口,选择【Yes】
包含3个安装选项:
这里我们选择【创建和配置数据库】,然后点击【Next】:
包含2个选项:
为了能使用更多高级配置选项,我们选择【服务器类】,然后点击【Next】:
包含2个选项:
选择【单实例数据库安装】,然后点击【Next】:
包含2个选项:
选择【高级安装】,然后点击【Next】:
默认已添加了【English】,在左侧语言列表中找到简体中文【Simplified Chinese】,并添加到右侧,然后点击【Next】:
包含3个选项:
选择【企业版】,然后点击【Next】:
设置Oracle基目录为1.5.1中新建的目录:/home/app/oracle,则软件位置会自动为:/home/app/oracle/product/11.2.0/dbhome_1,然后点击【Next】:
设置Oracle清单目录为1.5.1中新建的目录:/home/app/ oraInventory,选择组"oinstall",然后点击【Next】:
包含2个选项:
这里我选择【一般用途/事务处理】,然后点击【Next】:
指定Oracel全局数据库名和服务标识符为:orcl(在第1.5.3节提到),然后点击【Next】:
在【内存】页中勾选【启用自动内存管理】,在【字符集】页中选择【使用Unicode】,然后点击【Next】:
选择【使用Database Control管理数据库】,然后点击【Next】:
选择【文件系统】,并设置路径为:/home/app/oracle/oradata,然后点击【Next】:
选择【不启用自动备份】,然后点击【Next】:
这里我选择【对所有账户使用相同口令】,然后输入密码,当然你也可以为不同用户设置不同密码。然后点击【Next】:
设置数据库管理员组为【dba】,数据库操作者组为【oinstall】。然后点击【Next】:
若提示有程序包不存在,是因为1.2节的yum源安装软件包的版本不一样,所有可选择【忽略全部】,然后点击【Next】:
查看安装概要,若无问题,则可点击【Finish】结束配置,开始进行安装:
软件及数据库配置完成后,需要运行配置脚本:
打开命令终端,切换到root用户,并执行脚本:
[oracle@rhel6 ~]# su - root
Password:
[root@rhel6 ~]# /home/app/oraInventory/orainstRoot.sh
Changing permissions of /home/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /home/app/oraInventory to oinstall.
The execution of the script is complete.
[root@rhel6 ~]# /home/app/oracle/product/11.2./dbhome_1/root.sh
Running Oracle 11g root.sh script…
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /home/app/oracle/product/11.2./dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: /usr/local/bin
Copying dbhome to /usr/local/bin …
Copying oraenv to /usr/local/bin …
Copying coraenv to /usr/local/bin …
Creating /etc/oratab file…
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
执行完成后,切换到图形安装界面,点击【OK】
到此,Oracle11g数据库软件和配置数据库已完成。并显示了Oracle企业管理器(OEM)的URL:https://oracle:1158/em,使用方法请看第3章。
本小节以root身份进行操作。
[root@rhel6 ~]# vim /etc/oratab
orcl:/home/app/oracle/product/11.2./dbhome_1:Y (将N改为Y)
[root@rhel6 ~]# cd /home/app/oracle/product/11.2./dbhome_1/bin
[root@rhel6 bin]# vim dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME (将$1改为$ORACLE_HOME)
[root@rhel6 bin]# vim dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME (将$1改为$ORACLE_HOME)
[root@rhel6 bin]# cd
[root@rhel6 ~]# vim /etc/rc.d/init.d/oracle
#!/bin/bash
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbstart"
su oracle -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch /var/lock/subsys/oracle
echo "-----startup oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
stop)
echo "-----shutdwn oracle-----" >> /var/log/oraclelog
su oracle -c "$ORACLE_HOME/bin/dbshut"
su oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f /var/lock/subsys/oracle
echo "-----shutdown oracle successful-----" >> /var/log/oraclelog
echo "OK"
;;
*)
echo "Usage: 'basename $0' start|stop"
exit
esac
exit 0
[root@rhel6 ~]# chmod /etc/rc.d/init.d/oracle
[root@rhel6 ~]# chkconfig --add oracle
[root@rhel6 ~]# chkconfig oracle on
本小节以oracle身份进行操作。
[oracle@rhel6 ~]# sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.1. Production on Sun Nov ::
Copyright (c) , , Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1. -64bit Production
SQL> startup
ORA-: cannot start already-running ORACLE -shut it down first
在3.1.5中已启动Oracle服务,会自动启动数据库,故这里提示不能启动已运行的ORACLE。
[oracle@rhel6 ~]# emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.
Copyright (c) , Oracle Corporation. All rights reserved.
https://oracle:1158/em/console/aboutApplication
-An instance of Oracle Enterprise Manager 11g Database Control is already running.
在3.1.5中已启动Oracle服务,会自动启动OEM,故这里OEM实例已运行。
打开系统的FireFox浏览器,并输入OEM的URL:https://oracle:1158/em,输入sys用户和密码,以SYSDBA身份登录:
登录成功后,即可看到详细页面:
因我们在1.6.1中已开放了OEM的外部访问端口1158,因此也可以从其他可访问本数据库服务器的机器中访问OEM。因我们安装Oracle时安装了简体中文语言包,所以在我的中文Windows系统中访问OEM时,是中文界面:
到这里,在Redhat.Enterprise.Linux_v6.3_x64位系统中安装和配置Oracle_11gR2_v11.2.0.1.0已经全部完成。但这只是安装了数据库,而要进行数据库开发,还得有相应的开发工具,这里推荐使用PL/SQL Developer,目前最新版本是10.0,具体的安装文件请各位自己网上找,下载好后进行安装,需要强调一点:安装路径中不能有括号,不要安装在C:/Program Files (x86)目录下面。
客户机上用PL/SQL Developer连接Oracle数据库,需要oci,有2种方式:
下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,点击连接会进入下载页面,选择Instant Client for Microsoft Windows (32-bit)进行下载。
下载之后将其解压,不需要进行安装,我这里将其解压到D:/Oracle/App/product/11.2.0目录下,然后在instantclient_11_2目录下新建两层文件夹/NETWORK/ADMIN,再在ADMIN文件夹下面新建个文本文件,改名为tnsnames.ora,并向文件中添加如下内容:
ORCL_101 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
连接名orcl_101可以自定义。
当然以上的内容也可以从前面安装Oracle数据库的RedHat Linux服务器内的文件中拷贝:/home/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora。
安装PL/SQL Developer完成之后运行,此时出现的登录窗体不进行登录,点击Calcel按钮,这时会在无登录状态下进入,依次选择Tools ——> Preferences,会打开配置界面,左侧选择Connection,在右侧红框内设置instantclient_11_2目录:
重新启动PL/SQL Developer,并进行登录(scott/tiger):
登录成功后,写一条Sql语句进行验证,查询可以看到下面的效果,说明连接成功。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章