Linux CentOS7 下无图形界面安装Oracle11G R2版本

01,系统 Centos7 数据库版本 Oracle_11gR2 ,以及硬件要求 内存不能小于 1G,可用硬盘不小于8G Swap分区空间不小于2G

grep MemTotal /proc/meminfo  # 查内存
df # 查硬盘
grep SwapTotal /proc/meminfo # 查swap

02,关闭防火墙,生产环境下一般不会你这么暴力的关闭防火墙,这里只是安装时临时使用

# firewall-cmd --state                  #查看firewalld防火墙状态
# systemctl stop firewalld.service #关闭firewalld防火墙
# systemctl disable firewalld.service #禁止开机使用firewalld防火墙

03,修改系统标识  vim /etc/redhat-release,将内容替换成

redhat-

04,修改内核参数  vim /etc/sysctl.conf,将下面内容添加到文件,也可以根据自己的需要适当修改

fs.aio-max-nr=1
fs.file-max=
kernel.shmmni=
kernel.sem=
kernel.shmall=
kernel.shmmax=
net.ipv4.ip_local_port_range=
net.ipv4.icmp_echo_ignore_broadcasts=
net.ipv4.conf.all.rp_filter=
net.core.rmem_default=
net.core.rmem_max=
net.core.wmem_default=
net.core.wmem_max=

05,修改完成后,让其生效

sysctl -p

06,YUM 安装必须的依赖包

yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC* unzip lrzsz

07,创建数据库拥 用户和用户组

# groupadd oinstall                   #创建安装oracle程序用户组
# groupadd dba #创建DBA用户组
# useradd -g dba -m oracle #创建用户oracle 并加入到dba组
# usermod -a -G oinstall oracle #将用户oracle加入到oinstall组
# passwd oracle #修改用户oracle的密码
# id oracle #查看用户oracle的信息

08,创建安装目录

# mkdir -p /data
# mkdir -p /data/oracle #创建oracle主目录
# mkdir -p /data/inventory #创建oralce配置目录
# mkdir -p /data/src #创建oracle压缩包解压目录
# chown -R oracle:oinstall /data/oracle #修改目录权限
# chown -R oracle:oinstall /data/inventory #修改目录权限
# chown -R oracle:oinstall /data/src #修改目录权限
# ll /data #查看目录权限

09,修改oracle用户的安全性能设置,vim  /etc/security/limits.conf 在文件末尾追加以下内容

oracle soft nproc
oracle hard nproc
oracle soft nofile
oracle hard nofile

10,修改用户环境变量  vim /home/oracle/.bashrc 追加以下内容

export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

11,让环境变量生效

source /home/oracle/.bashrc

12,解压安装包,安装包可以从 ORACLE 官网下载

# unzip linux.x64_11gR2_database_1of2.zip -d /data/src/
# unzip linux.x64_11gR2_database_2of2.zip -d /data/src/
# chown -R oracle:oinstall /data/src/
# ll /data/src/

13,关闭 selinux,防止系统拦截服务 vim /etc/selinux/config 修改以下行

SELINUX=disabled

14,重启计算机

reboot

15,进入 Oracle 用户

su oracle

16,编辑安装配置文件,vim /data/src/database/response/db_install.rsp,找到以下项进行修改,也可以根据需要适当修改

oracle.install.option=INSTALL_DB_SWONLY                # 安装类型
ORACLE_HOSTNAME=oracle.server     # 主机名称
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/data/inventory # INVENTORY目录
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/data/oracle/product/11.2./db_1 # oracle_home
ORACLE_BASE=/data/oracle # oracle_base
oracle.install.db.InstallEdition=EE # oracle版本
oracle.install.db.DBA_GROUP=dba # dba用户组
oracle.install.db.OPER_GROUP=oinstall # oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.install.db.config.starterdb.characterSet=AL32UTF8 # 默认数据库编码
oracle.install.db.config.starterdb.memoryLimit= # 自动管理内存的最小内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码
DECLINE_SECURITY_UPDATES=true # 设置安全更新

17,配置文件编辑完成后安装,这里可能需要等待漫长的事件

/data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq

18,出现以下画面时,保留等待状态,在打开 root 用户窗口执行以下脚本,执行完毕后在回到安装窗口回车完成安装,也可以记下命令,回车后切换到 root 在执行命令

Linux CentOS7 下无图形界面安装Oracle11G R2版本
/data/inventory/orainstRoot.sh
/data/oracle/product/11.2./db_1/root.sh

19,完成以上步骤,主程序就安装完成了,接下来配置监听程序 vim /data/src/database/response/netca.rsp 修改以下你内容

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

20,安装监听程序

/data/oracle/product/11.2./db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp

21,查看监听是否启动成功,以及启动和关闭的命令

netstat -tnulp | grep                          # 查看是否成功监听

Linux CentOS7 下无图形界面安装Oracle11G R2版本
/data/oracle/product/11.2./db_1/bin/lsnrctl start # 开启监听
/data/oracle/product/11.2./db_1/bin/lsnrctl stop # 关闭监听

22,添加数据库实例,修改实例配置文件 vim /data/src/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=/data/oracle/oradata // 数据文件存放目录
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area // 恢复数据存放目录
CHARACTERSET="AL32UTF8" // 字符集
NATIONALCHARACTERSET="AL16UTF16" // 字符集
TOTALMEMORY="" // 1638MB,物理内存2G*80%。

23,安装数据库实例,又是一次漫长的等待

/data/oracle/product/11.2./db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp

24,查看实例是否安装并启动成功

ps -ef | grep ora_ | grep -v grep

Linux CentOS7 下无图形界面安装Oracle11G R2版本

25,试着用 sqlplus 连接数据库,并启用 scott 用户,这里也可以选择启动其它用户或者新建用户

sqlplus / as sysdba                                       # 连接DBA账号
alter user scott account unlock; # 启用 SCOTT 用户
alter user scott identified by oracle; # 修改用户密码
alter profile default limit password_life_time unlimited; # 设置密码永久生效
exit; # 退出连接

26,外部用 PLSQL 连接 scott 用户,连接为 ip:1521/orcl

Linux CentOS7 下无图形界面安装Oracle11G R2版本

27,重启计算机后需要在启动监听和实例,命令如下

/data/oracle/product/11.2./db_1/bin/lsnrctl start
sqlplus / as sysdba
startup;
exit;

28,字符集的修改,在中国,不管什么数据库,字符集的问题都是最常见的问题,因为字符集的却别会导致汉字乱码,一般推荐在实例安装的时候就设置好字符集,上面的 22 步骤

但是万一安装的字符集不是我们所需要的呢?那推荐在还没有数据的时候就将字符集调整回来,有了大量的数据在调整字符集,原来的数据字符编码是不会改变的,这可能导致数据

无法使用,比如上面安装的字符集是 AL32UTF8 现在想改成 ZHS16GBK 具体的修改字符集方法依次执行命令

sqlplus / as sysdba;                                 # 连接数据库
select userenv('language') from dual; # 查看当前的字符集
shutdown immediate; # 关闭实例
startup mount; # 以受限模式启动
alter system enable restricted session; # 限制用户登入
alter system set job_queue_processes=0; # 禁止某些程序自动启动
alter system set aq_tm_processes=0; # 禁止某些程序自动启动
alter database open; # 从 mount 状态打开数据库的命令
alter database character set internal_use zhs16gbk; # 修改编码
shutdown immediate; # 关闭实例
startup; # 重启实例
exit; # 退出客户端

28,开机自启,(笔者暂未掌握,主要是使用 dbstart 脚本启动数据库实例的时候,总是报 环境变量有问题,但是环境变量是没问题的,郁闷中。。。)

上一篇:目标 - 在虚拟机CentOS7中无图形界面安装Oracle11G R2版本


下一篇:QTP之web常用对象