Linux64位安装oracle11g过程
1. 安装环境
Linux版本:Linux Redhat 5.5 64位
Oracle版本:Oracle11gR2 64位
2. 系统要求
2.1 Linux安装Oracle系统要求
系统要求 |
说明 |
内存 |
必须高于1G的物理内存 |
交换空间 |
一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小 |
硬盘 |
5G以上 |
2.2修改操作系统核心参数
在Root用户下执行以下步骤:
2.2.1 修改用户的SHELL的限制
Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制
输入命令:vi /etc/security/limits.conf,
按i键进入编辑模式,将下列内容加入该文件末尾。
oracle soft nproc 2047 |
编辑完成后按Esc键,输入“:wq”存盘退出
2.2.2 修改/etc/pam.d/login 文件
输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件末尾。
session required /lib/security/pam_limits.so |
编辑完成后按Esc键,输入“:wq”存盘退出
2.2.3 修改linux内核,修改/etc/sysctl.conf文件
输入命令: vi /etc/sysctl.conf,按i键进入编辑模式,将下列内容加入该文件末尾
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 |
编辑完成后按Esc键,输入“:wq”存盘退出
2.2.4 使 /etc/sysctl.conf 更改立即生效
输入:sysctl -p
2.2.5 修改 bash 和 ksh 的默认配置文件以及 cshell 的默认登录脚本
输入命令: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”存盘退出
2.2.6 创建相关用户和组
作为软件安装和支持组的拥有者。
创建用户,输入命令: groupadd oinstall groupadd dba 创建Oracle用户和密码,输入命令: useradd -g oinstall -g dba -m oracle passwd oracle 然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认 |
2.2.7 创建数据库软件目录和数据文件存放目录
目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到oracle用户下,例如:
输入命令: mkdir /oracle/app mkdir /oracle/app/oracle mkdir /oracle/app/oradata mkdir /oracle/app/oracle/product |
2.2.8 修改Oracle目录属主
更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /oracle/app |
2.2.9 配置oracle用户的环境变量
首先,切换到新创建的oracle用户下,输入:su - oracle ,
然后直接在输入 :vi .bash_profile
按i编辑 .bash_profile,进入编辑模式,增加以下内容:
umask 022 export ORACLE_BASE=/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”存盘退出
3. 安装过程
首先在linux主机使用root用户执行:
xhost local:oracle non-network local connections being added to access control list
3.1 导入Oracle安装包
当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。首先将下载的Oracle安装包复制到linux中,推荐用Xmanager 或其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
输入命令: unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip |
解压完成后 cd 进入其解压后的目录database
输入命令: cd database |
使用ls命令可以查看解压后database所包含的文件,如下图:
3.2 执行安装
输入命令:./runInstaller
注意:
装到这一步,可以看到,可以查看到有很多的rpm包没有,我们可以从安装linux的光盘或ISO中查找所缺的包,使用ftp上传到linux中,然后使用rpm –ivh xxx.rpm --nodeps –force 来进行安装(其中加上--nodeps -- force 代表强制安装,是在直接使用rpm –ivh xxx.rpm安装不成功的情况下用的)安装过程略。
等到把包全部都安装好的情况下,再次在oracle图形界面中,执行安装过程2,下来在环境检查过程中,就通过了。
3.3 安装完成后,系统会提示你需要用root权限执行2个shell脚本
按照其提示的路径,找到其所在的位置,如:在/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh和 /oracle/app/oraInventory/orainstRoot.sh 新开启一个终端,输入命令:
su - root cd /oracle/app/oracle/product/11.2.0/dbhome_1 sh root.sh cd /oracle/app/oraInventory sh orainstRoot.sh |
4. 数据库建库
1) 还是在oracle用户的图形界面oracle用户中,新开启一个终端,直接输入命令dbca会弹出如下界面。我们这里采用定制数据库。
输入统一密码(也可以分别设置其密码)
数据库存放位置,我这里采用默认
不指定快速恢复和归档
去掉不常用的模块
内存分配及指定字符集
经过漫长的等待,当看到此界面,说明oracle建库完成
可以用sqlplus来检验下,新开启一个命令窗口,输入sqlplus,然后输入用户名和密码,可以测试下,这里就不做过多的介绍了。
5. 配置监听及本地网络服务
1) 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面。
2)创建监听服务(充当oracle服务器,让别的oracle客户端连接本oracle服务器)
3)配置本地网络服务名(充当oracle客户端,连接别的oracle服务器)
输入连接的oracle服务器的数据库的实例名
输入oracle服务器的ip地址
选中测试
点击change Login 输入所连接oracle服务器的其中某一个用户名和密码,点击OK
看到此界面说明测试成功(如果不成功,请查看网络是否畅通,所连接的oracle服务器是否启动,监听是否启动等原因)
为你所设置的本地网络服务名起个名字
然后下一步,下一步即可
这样oracle服务器安装配置基本就完成了。
6. 配置oracle开机自启动
1
2
3
4
5
6
6.1 修改/etc/oratab
[root@oracle ~]# vi /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y(N 改为 Y)
6.2 修改oracle启停服务
需要修改两个文件:
$ORACLE_HOME/BIN/dbstart
$ORACLE_HOME/BIN/dbshut
[root@oracle ~]#vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart
[root@oracle ~]# vi /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME ($1改为$ORACLE_HOME)
6.3 建立启动脚本
[root@oracle ~]#vi /etc/rc.d/init.d/oracle
#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case "$1" in
start)
echo "-----startup oracle-----" >> /var/log/racle11log
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 1
esac
exit 0
6.4 给启动脚本设置权限
[root@oracle ~]#chmod 755 /etc/rc.d/init.d/oracle
6.5 建立服务
[root@oracle ~]#chkconfig --add oracle
[root@oracle ~]#chkconfig oracle on