环境为centos7 64bit.
oracle为64位 版本为10201
下载地址为
http://download.oracle.com/otn/linux/oracle10g/10201/10201_gateways_linux_x86_64.cpio.gz
http://download.oracle.com/otn/linux/oracle10g/10201/10201_client_linux_x86_64.cpio.gz
http://download.oracle.com/otn/linux/oracle10g/10201/10201_clusterware_linux_x86_64.cpio.gz
http://download.oracle.com/otn/linux/oracle10g/10201/10201_database_linux_x86_64.cpio.gz
一 准备阶段
1.将安装包上传到/var/ftp/pub目录下
2.创建目录 /opt/setup080305 mkdir /opt/setup080305
3.复制安装文件到 setup080305 cp /var/ftp/pub/10201_database_linux_x86_64.cpio.gz /opt/setup080305
4.解压缩安装包文件 gunzip /opt/setup080305/10201_database_linux_x86_64.cpio.gz
cpio -idmv < /opt/setup080305/10201_database_linux_x86_64.cpio
5.创建/u01/app/oracle 目录 作为oracle安装的ORACLEBASE mkdir -p /u01/app/oracle
6.检查安装所需依赖 rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
显示如下
gcc-4.8.3-9.el7.x86_64
make-3.82-21.el7.x86_64
binutils-2.23.52.0.1-30.el7.x86_64
未安装软件包 openmotif
未安装软件包 setarch
未安装软件包 compat-db
未安装软件包 compat-gcc
未安装软件包 compat-gcc-c++
未安装软件包 compat-libstdc++
未安装软件包 compat-libstdc++-devel
安装缺少的软件包
yum install compat-gcc-44
yum install openmotif
yum install compat-db
yum install compat-gcc-44-c++.x86_64
yum install compat-libstdc++-33.x86_64
yum install glibc.i686
yum install libstdc++.so.6
yum install libXp.i686
yum install libXt.i686
yum install libXtst.i686
yum install glibc-devel.i686
7.修改 /etc/sysctl.conf 在底部追加以下内容
#use for oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
在运行 sysctl -p 来应用这些参数
8. 修改 /etc/security/limit.conf在底部追加如下内容
#use for oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
9.修改/etc/pam.d/login 在底部追加如下内容
# use for oracle
session required pam_limits.so
10.关闭selinux
修改IP和主机名
vi /etc/hostname
内容填写为 oracle
vi /etc/hosts
192.168.1.136 localhost oracle localhost4 localhost4.localdomain4
::1 localhost oracle localhost6 localhost6.localdomain6
192.168.1.136 oracle
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
vi /etc/hostname
修改内容为 oracle
二 创建安装oracle的用户、组和配置
使用如下命令:
cd /opt/setup080305/database 跳转到安装目录
groupadd oinstall 添加两个组
groupadd dba
useradd -m -g oinstall -G dba oracle 添加用户
id oracle 为Oracle用户设置密码
passwd oracle
创建安装目录 mkdir -p /opt/app/oracle/product/10.2
使用如下命令创建Oracle的安装目录并更改权限:
mkdir -p /u01/app/oracle/
chown -R oracle.oinstall /u01/app/oracle
chown -R 775 /u01/app/oracle
设置Oracle用户的.bash_profile
使用如下命令,oracle用户执行,增加环境变量如下内容:
su – oracle 使用Oracle用户
vi .bash_profile 查看bash_profile文件
点击i键进入编辑模式,加入如下内容:
#Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=orcl
ORACLE_TERM=xterm
PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/lib64:/usr/lib64
TNS_ADMIN=$ORACLE_HOME/network/admin
ORACLE_ADMIN=$ORACLE_BASE/admin
#CLASSPATH=.:$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM PATH LD_LIBRARY_PATH TNS_ADMIN ORACLE_ADMIN
#export CLASSPATH
编辑完成后,ESC退出编辑状态,使用命令:wq保存退出。
2.5 设置Oracle用户的profile文件
使用如下命令,root用户执行,在profile文件末增加如下内容:
su 使用root用户
vi /etc/profile 查看profile文件
点击i键进入编辑模式,加入如下内容:
#For Oracle
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
编辑完成后,ESC退出编辑状态
切换oracle用户
export LANG=en_US
/opt/setup080305/database/runInstaller
密码为oracle
点击 next报权限不足。
执行
chmod -R 777 /u01/app/
chmod -R 777 /u01/app/oracle
后点击cancle
进入下一界面 点击next
点击continue。安装完成后执行一个重链接命令即可。
报错
ORA-27125: unable to create shared memory segment
[root@oracle oracle]# id oracle
uid=1001(oracle) gid=1001(oinstall) 组=1001(oinstall),1002(dba)
[root@rac2 ~]# more/proc/sys/vm/hugetlb_shm_group
0
下面用root执行下面的命令,将dba组添加到系统内核中:
[root@rac2 ~]# echo 1002 >/proc/sys/vm/hugetlb_shm_group
–这里的1002 是上面的id 命令查看出来的。
[root@rac2 ~]# more /proc/sys/vm/hugetlb_shm_group
1002
但是在服务器重启后,数据库依然不能随系统自动启动,发现还需要通过上面的命令来进行修改才可以,意味则上面命令只是修改了内存空间没有进行记录。
要解决这个问题需要修改/etc/sysctl.conf文件
vm.hugetlb_shm_group
运行图4中提示的第二个shell时 会出现问答。直接回车即可。
安装完成后
修改防火墙配置 开启 1521端口的 tcp访问
/u01/app/oracle/product/10.2.0/db_1/bin/relink all
查看自己的 ORACLE_HOME变量。使用oracle用户登录。
echo $ORACLE_HOME
如果这个值为空或者不正确。可以去listener.ora文件里去看。假设ORACLE_HOME为/home/oracle/oracle/product/10.2.0/db_1
那么我们可以设置启动脚本。
创建文件 /etc/init.d/oracle
vi /etc/init.d/oracle
#!/bin/sh # chkconfig: 35 80 10 # description: Oracle auto start-stop script. # # Set ORA_HOME to be equivalent to the $ORACLE_HOME # from which you wish to execute dbstart and dbshut; # # Set ORA_OWNER to the user id of the owner of the # Oracle database in ORA_HOME. ORA_HOME=/home/oracle/oracle/product/10.2.0/db_1 ORA_OWNER=oracle if [ ! -f $ORA_HOME/bin/dbstart ] then echo "Oracle startup: cannot start" exit fi case "$1" in 'start') # Start the Oracle databases: echo "Starting Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle echo "Done" # Start the Listener: echo "Starting Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle echo "Done." echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle touch /var/lock/subsys/oracle ;; 'stop') # Stop the Oracle Listener: echo "Stoping Oracle Listeners ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle echo "Done." rm -f /var/lock/subsys/oracle # Stop the Oracle Database: echo "Stoping Oracle Databases ... " echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle echo "Done." echo "" echo "-------------------------------------------------" >> /var/log/oracle date +" %T %a %D : Finished." >> /var/log/oracle echo "-------------------------------------------------" >> /var/log/oracle ;; 'restart') $0 stop $0 start ;; esac
chmod 755 /etc/init.d/oracle
chkconfig –level 35 oracle on
这样oracle就会随开机自动启动。
手动命令:
启动: service oracle start
重启:service oracle restart
关闭:service oracle stop