【Linux】 Oracle安装

作者:Leopold    访问量:1

Oracle 安装文档

1.安装前的准备工作

注:root用户以#表示,其他用户以$表示

  • 关闭selinux
 # vi /etc/selinux/config
  • 设置SELINUX=disabled

  • 关闭防火墙
 # service iptables stop
 # service iptables status 
  • 安装依赖包
# yum install -y automake autotools-dev binutils bzip2 elfutils expat \ gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 \ ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 \ libc6-i386 libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 \ libpth-dev libpthread-stubs0-dev libstdc++5 make opensshserver rlwrap \ rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc unzip cifs-utils \ libXext.x86_64  glibc.i686

# yum -y update 

2.创建安装用户、组、目录

2.1 创建Oracle用户
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
# id oracle
  • 输入 id oracle 后可查看群组情况

2.2 创建软件安装目录

# mkdir -p /opt/oracle                                      //$ORACLE_BASE
# mkdir -p /opt/oracle/product/112010/db_1        //$ORACLE_HOME
# mkdir /opt/oracle/oradata                             //存放数据库目录
# mkdir /opt/oracle/inventory
# mkdir /opt/oracle/flash_recovery_area
# chown -R oracle:oinstall /opt/oracleChmod -R 775 /opt/oracle
2.3 oracle用户添加到sudo组
# vi /etc/sudoers
  • root ALL=(ALL) ALL 下面添加 oracle ALL=(ALL) ALL


注:如遇到只读文件不可写入问题 退出insert模式后 输入:wq!

3.配置系统环境

3.1 修改内核参数
# vi /etc/sysctl.conf
  • 添加如下内容,加粗斜体的值系统已存在的,不能小于此值

kernel.shmall = 2097152
kernel.shmmax = 1073741824

fs.aio-max-nr = 1048576
fs.file-max = 6815744
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

  • 启用配置
# sysctl -p
3.2 修改用户限制文件
# vi /etc/security/limits.conf
  • 行末添加如下内容

oracle           soft    nproc           2047
oracle           hard   nproc           16384
oracle           soft    nofile          1024
oracle           hard   nofile          65536
oracle           soft    stack           10240

3.3 关联设置
# vi /etc/pam.d/login
  • 行末添加如下内容

session required  /lib64/security/pam_limits.so
session required   pam_limits.so

3.4 修改 /etc/profile
# 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

3.5 修改用户环境变量
# vi /homo/oracle/.bash_profile
  • 行末添加如下内容

export  ORACLE_BASE=/opt/oracle; 
export  ORACLE_HOME=/opt/oracle/product/112010/db_1 
export  ORACLE_SID=orcl; 
export  PATH=PATH:HOME/bin:$ORACLE_HOME/bin 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 
if [ $USER = “oracle” ]; then 
if [ $SHELL = “/bin/ksh” ]; then 
ulimit -p 16384 
ulimit -n 65536 
else ulimit -u 16384 -n 65536 
fi 
umask 022 
fi

  • 使环境变量生效
# source /home/oracle/.bash_profile
  • 查看当前环境变量
# env

4 正式安装

4.1 解压oracle安装文件
  • 将oracle 11g安装包上传到/opt/oracle 下
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip

注:此处是oracle用户操作

4.2 编辑oracle数据库安装应答文件
$ cd /opt/oracle/database/response
$ vi db_install.rsp
  • 修改如下内容

oracle.install.option=INSTALL_DB_SWONLY   //29 行 安装类型 
ORACLE_HOSTNAME=chances //37 行 主机名称 
UNIX_GROUP_NAME=oinstall //42 行 安装组
 INVENTORY_LOCATION=/opt/oracle/inventory //47 行 INVENTORY目录 
 SELECTED_LANGUAGES=zh_CN //78 行 选择语言 
 ORACLE_HOME=/opt/oracle/product/112010/db_1 //83 行 
 oracle_home ORACLE_BASE=/opt/oracle //88 行 
 oracle_base oracle.install.db.InstallEdition=EE //99 行 oracle版本 
 oracle.install.db.DBA_GROUP=dba //142行dba用户组 
 oracle.install.db.OPER_GROUP=oinstall //147行oper用户组 
 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //160行 数据库类型 
 oracle.install.db.config.starterdb.globalDBName=orcl //165行 globalDBName
 oracle.install.db.config.starterdb.SID=orcl //170行SID 
 oracle.install.db.config.starterdb.memoryLimit=800  //192行 自动管理内存的最小内存(M) 
 oracle.install.db.config.starterdb.password.ALL=oracle //233行 设定所有数据库用户使用同一个密码 
 DECLINE_SECURITY_UPDATES=true //385行 设置安全更新

4.3 开始安装
$ cd /opt/oracle/database/
$ ./runInstaller -silent -responseFile  /opt/oracle/response/db_install.rsp -ignorePrereq

注:出现【WARNING】不用理会,安装失败会有提示信息。安装完成后不要输入Enter

  • 打开新的终端,以root身份登录,执行脚本:
# /opt/oracle/inventory/orainstRoot.sh
# /opt/oracle/product/112010/db_1/root.sh
  • 完成后,返回原来的终端,再按回车

5 配置监听

$ vi /opt/oracle/database/response/netca.rsp
  • 查看以下参数是否正确

INSTALL_TYPE=””custom”” 安装的类型 
LISTENER_NUMBER=1 监听器数量 
LISTENER_NAMES={“LISTENER”} 监听器的名称列表 
LISTENER_PROTOCOLS={“TCP;1521″} 监听器使用的通讯协议列表 
LISTENER_START=””LISTENER”” 监听器启动的名称

  • 确认无误后,执行命令
$netca /silent /responseFile /opt/oracle/database/response/netca.rsp

如果失败,看一下日志报的什么错误。
通用解决方法:

  • 查看hostname是否配置。
# vi /etc/hosts

注:根据实际情况修改host名字

$ vi $ORACLE_HOME/network/admin/listener.ora
  • 修改为如下内容,其中 HOST = 192.168.0.4 根据实际情况更改:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /opt/oracle/product/112010/db_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.4)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /opt/oracle

6 添加数据库实例

$ vi /opt/oracle/database/response/dbca.rsp
  • 根据实际情况更改如下参数,加粗字段不能更改

RESPONSEFILE_VERSION =“11.2.0”
OPERATION_TYPE =”createDatabase”
GDBNAME =”orcl”//数据库的名字
SID =”ORCL”//对应的实例名字
TEMPLATENAME =”General_Purpose.dbc”//建库用的模板文件
SYSPASSWORD =”oracle”//SYS管理员密码
SYSTEMPASSWORD =”oracle”//SYSTEM管理员密码
SYSMANPASSWORD= “oracle”
DBSNMPPASSWORD=”oracle”
DATAFILEDESTINATION =/opt/oracle/oradata//数据文件存放目录
RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area//恢复数据存放目录
CHARACTERSET =”ZHS16GBK”//字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚。
TOTALMEMORY =”1638″//1638MB,物理内存2G * 80%。

7 执行安装

$ cd /opt/oracle/product/112010/db_1/bin
$ dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp

注:可能中途需要输入密码,也有可能直接略过。

  • 执行后查看监听状态
$ lsnrctl status
7.1 修改dbstart文件
$ vi /opt/oracle/product/112010/db_1/bin/dbstart

ORACLE_HOME_LISTNER=$1
修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

7.2 修改dbshut文件
$ vi /opt/oracle/product/112010/db_1/bin/dbshut

ORACLE_HOME_LISTNER=$1
修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

7.3 修改 /etc/oratab文件
$ vi /etc/oratab

将orcl:/data/oracle/product/11.2.0:N中最后的N改为Y
例如 orcl:/data/oracle/product/11.2.0:Y

7.4 登录查看实例状态
$ sqlplus / as sysdba
SQL> startup
7.5 退出
$ sqlplus / as sysdba
SQL> shutdown
SQL> quit
$ dbshut
7.6 遇到的问题和解决方案

https://blog.csdn.net/lzwglory/article/details/54808074

https://blog.csdn.net/lzwgood/article/details/26368323



如果您觉得此文章对您有帮助,欢迎评论转载!

您的每一次评论与转载,都是对作者极大的鼓励!

注意:除非注明,否则均为[Leopold's Blog]原创文章,转载必须以链接形式标明本文链接。

本文链接:https://www.yusong.site/leopold/781.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注