当前位置:   article > 正文

linux安装Oracle11g详细教程(redhat6、Centos7)_linux安装oracle11g步骤

linux安装oracle11g步骤

转载请注明:https://blog.csdn.net/u011291276/article/details/108143497

一、摘要

本文是安装Oracle11g的详细步骤;
本人已通过此方式,成功安装多次Oracle11g,包含Centos7下安装、redhat6下安装
oracle12c、18c和11g安装方式一致,下面安装的有第四章节是18c,12c可以作为参考;
18c安装步骤:https://blog.csdn.net/u011291276/article/details/103497464

另外,除了最终执行runInstaller 安装内容外,安装之前的内容基本的都是安装oracle必须的操作,
本人用此步骤成功安装18c、12c和11gR2,两者区别仅是最终安装执行runInstaller 命令稍微不同,以及配置文件不同。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

二、安装软件及环境

	Oracle18c 静默安装包  
		LINUX.X64_180000_db_home.zip
	Centos7
	Redhat6
	Oracle11gR2静默安装包
		linux.x64_11gR2_database_2of2.zip
		linux.x64_11gR2_database_1of2.zip
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

三、Linux环境配置

su - root (环境配置在root用户下)
  • 1

1、修改主机名

hostname vsir128
  • 1

2、修改hosts

vi /etc/hosts 添加IP对应主机名
192.168.255.128 vsir128
  • 1
  • 2

3、安装依赖包

参考处已忘记,但这里面包含了大部分的包,缺少的几个包已经忘记是哪个了,
编译及安装时候提示缺少包,可以在继续找下,大家复制后去除换行符,粘贴
进去可以直接安装;
如果需要离线安装,网上找其对应的包全部下载后使用rpm形式安装;
redhat6下安装时出错依然提示缺少包,这个应该是系统本身比起Centos7缺少很多依赖包,可看最后一段处理方式;

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel  compat-libstdc++-33 compat-libstdc++-33*.devel gcc  gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio  libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++  libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686  libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4、修改swap虚拟内存大小

如果系统安装时设置的swap过小,则可通过下面方法扩容
cd /usr
mkdir swap
dd if=/dev/zero of=/usr/swap/swapfile bs=1G count=4  (这条命令从硬盘里分出一个	1×4G 大小的空间,挂在swapfile上)
chmod 0600 /usr/swap/swapfile
mkswap   /usr/swap/swapfile
swapon  /usr/swap/swapfile

解决重启失效vi /etc/fstab增加行
/usr/swap/swapfile      swap                    swap    defaults        0 0

--如果创建了swapfile之后,想要删除,必须先执行以下命令
swapoff swapfile
然后再执行删除文件操作
rm swapfile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

5、配置内核参数

vim /etc/sysctl.conf 修改或添加

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

修改后使之生效
/sbin/sysctl -p
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

6、修改用户限制

vim  /etc/security/limits.conf
#在末尾添加

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

7、在/etc/pam.d/login 文件中,使用文本编辑器或vi命令增加或修改以下内容

此处不修改应该是可以继续安装,参考的其他很多安装方式没有要修改此项,本人已直接修改
vi /etc/pam.d/login

session required /lib64/security/pam_limits.so
session required pam_limits.so
  • 1
  • 2
  • 3
  • 4
  • 5

8、修改/etc/profile 文件中,

使用文本编辑器或vi命令增加或修改以下内容
其中的oracle为给oracle安装创建的用户名,如果要创建为其他名字,需要修改为其对应
位置在末尾或者export变量配置前都可以;
vi /etc/profile

if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
       ulimit -p 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
   fi
fi
使之生效
source /etc/profile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

9、关闭selinux关闭防火墙

永久关闭:
vim /etc/sysconfig/selinux
SELINUX=enforcing 改为 SELINUX=disabled

防火墙配置放开Oracle的端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

10、禁用THP配置

vi /etc/default/grub  
  • 1

在GRUB_CMDLINE_LINU 的 最后,加上 transparent_hugepage=never;
redhat6下没有此项,可以不用设置
在这里插入图片描述

11、修改系统标识

vi /etc/redhat-release  centos7改为redhat-7因为Oracle不支持centos;
redhat忽略此项
  • 1
  • 2

在这里插入图片描述

12、添加用户和组

用户配置
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54330 racdba
/usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
passwd oracle
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

13、修改oracle用户环境变量

切到Oracle用户
su - oracle
vi /home/oracle/.bashrc 增加

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/18.3.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib


使之生效
source  /home/oracle/.bashrc
oracle11g运行runinstall成功之后在添加“DISPLAY”此项设置
export DISPLAY=0.0.0.0:1.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

14、创建目录

切到root
exit 或 su - root
mkdir /opt/oracle
chmod -R 777 /opt/oracle
chown -R oracle:oinstall /opt/oracle
切到Oracle
su -  oracle
mkdir –p $ORACLE_HOME
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

五、安装Oracle11gR2

1、解压Oracle11g安装包

解压两个zip文件到$ORACLE_BASE根目录下默认database文件夹;
cd $ORACLE_BASE/database

2、修改vi response/db_install.rsp 文件

修改内容的路径请根据自己设置的路径填写
oracle.install.responseFileVersion=/opt/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
DECLINE_SECURITY_UPDATES=true
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/opt/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3、开始执行安装

su - oracle
执行:(必须绝对路径,否则报错)
./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq
  • 1
  • 2
  • 3

在这里插入图片描述

4、使用root用户执行脚本

su - root
sh /opt/oracle/product/11.2.0/dbhome_1/root.sh
  • 1
  • 2

5、配置监听程序

netca.rsp文件在oracle安装目录下 /opt/oracle/database/response/netca.rsp
执行前确认环境变量增加此项
export DISPLAY=0.0.0.0:1.0
执行(必须使用绝对路径):
netca -silent -responsefile  /opt/oracle/database/response/netca.rsp
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

查看监听端口
netstat -tnpl | grep 1521
  • 1
  • 2

在这里插入图片描述

6、静默创建数据库

编辑应答文件
密码部分随意设置,且根据自身需要并不需要全部开启配置密码
/opt/oracle/database/response/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

7、执行静默建库

su - oracle
文件在oracle根目录下  /opt/oracle/database/response
dbca -silent -responseFile  /opt/oracle/database/response/dbca.rsp
  • 1
  • 2
  • 3

在这里插入图片描述

查看oracle进程
ps -ef|grep ora
查看监听状态
lsnrctl status
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

至此数据库就安装成功了,下面我们登录下数据库

8、配置开机启动

设置Oracle11g开机启动
修改/opt/oracle/product/11.2.0/dbhome_1/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME

修改/opt/oracle/product/11.2.0/dbhome_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME

修改vi /etc/oratab
orcl:/opt/oracle/product/11.2.0/dbhome_1:Y

su - root
新建文件/etc/rc.d/init.d/oracle
注意:有些系统的bash启动名字为sh,第一行应更换为 #!/bin/sh
ORACLE_HOME和USER请根据个人设置
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
   if [ -f $LOCKFILE ]; then
      echo $0 already running.
      exit 1
   fi
   echo -n $"Starting Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
   touch $LOCKFILE
   ;;
'stop')
   if [ ! -f $LOCKFILE ]; then
      echo $0 already stopping.
      exit 1
   fi
   echo -n $"Stopping Oracle Database:"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f $LOCKFILE
   ;;
'restart')
   $0 stop
   $0 start
   ;;
'status')
   if [ -f $LOCKFILE ]; then
      echo $0 started.
      else
      echo $0 stopped.
   fi
   ;;
*)
   echo "Usage: $0 [start|stop|status]"
   exit 1
esac
exit 0


给/etc/init.d/oracle添加执行权限
chmod +x /etc/init.d/oracle

开机启动oracle
systemctl enable oracle
或
chkconfig oracle on

给启动文件加权限
chmod 6751 /opt/oracle/product/11.2.0/dbhome_1/bin/oracle
cd /var/tmp
chown -R oracle:oinstall .oracle
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78

六、登录数据库

sqlplus / as sysdba
验证创建结果
alter user sys identified by oracle;
alter user system identified by oracle;

oracle11g修改scott账户
alter user scott account unlock;
alter user scott identified by tiger;
select username,account_status from dba_users;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

常用命令

lsnrctl start 

数据库操作
sqlplus / as sysdba                           // 登录数据库
select open_mode from v$database;  
select status from v$instance;        //查看数据库状态
alter user sys identified by oracle;      //改sys超级管理员密码
alter user system identified by oracle; //改system管理员密码
exit                                             // 退出数据库
sqlplus sys/oracle as sysdba        //使用sys超级管理员登录数据库
startup                                       // 启动数据库
select name from v$database;      //查看数据库
shutdown abort                          //关闭数据库
conn system/oracle                     //切换用户conn后面直接跟用户名和密码就可以
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

redhat6安装Oracle11g 执行runinstall时候提示 NoClassDefFoundError错误,此处检查结果是缺少rpm包,执行以下命令,没有的包全部安装
rpm -q --queryformat %-{name}-%{version}-%{release}-%{arch}“\n” \ binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ \ libstdc+±devel make pdksh sysstat xscreensaver

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/801210
推荐阅读
相关标签
  

闽ICP备14008679号