Linux下Oracle11g静默安装

前序

公司为了备份一个老的数据库,需要在新的服务器上装一下oracle服务,由于是11g的版本,网上资料虽然很多,但都是东拼西凑的复制粘贴。笔者通过多放探索磕磕绊绊装好了,特此记录下大概的装库过程。

先说几点踩坑的地方:

1、确定好服务器上是否有历史遗留的oracle客户端、服务端或者环境变量,一定要将其卸载清除,否则后续使用会有隐患。笔者安装过程中未使用新版本的客户端,结果在imp导入数据文件时提示:

IMP-00003: 遇到 ORACLE 错误 942
ORA-00942: 表或视图不存在
IMP-00017: 由于 ORACLE 错误 942, 以下语句失败:

找了好久才发现原来是Oracle的服务端和客户端版本不匹配导致,最后将其调整为同一版本才导入成功。

2、新建了oracle用户、用户组,做文件授权时要谨慎,不可授权范围过大,也要留意安装过程中报错提示语。若是途中提示读取某个文件失败,一定先注意是否需要读取该文件,可能是某些配置未调整导致安装时读取了历史遗留文件。

3、字符集慎重设置,建好库就不能改啦

4、提前看好服务器内存,硬盘不够提前挂载

查看Linux基础信息

1、查看系统版本:cat /etc/redhat-release

2、查看系统位数:uname -m

Linux版Oracle11g安装包下载

下载地址:https://www.oracle.com/cn/technical-resources/

大版本11g,小版本自行选择

下载出来是这样两个压缩包:

linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

安装前配置

1、修改主机名、添加主机名与IP对应记录

注:网上资料很多教程都要该配置,笔者惭愧,不知道这配置有何用所以只修改了主机名,未做IP对应。

sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
hostname oracledb

 vim /etc/hosts # 编辑 hosts

2、关闭Selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 
setenforce 0
注:若执行提示错误,可能是之前已关闭,忽略即可

3、创建用户和组

#创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba oracle #(主组oinstall,其它组:dba)
passwd oracle   #(P)

4、修改内核参数

vim /etc/sysctl.conf  # 编辑 sysctl.conf,末尾处添加下面的参数

net.ipv4.ip_local_port_range= 9000 65500

fs.file-max = 6815744

kernel.shmall = 10523004

kernel.shmmax = 6465333657

kernel.shmmni = 4096

kernel.sem = 250 32000 100128

net.core.rmem_default=262144

net.core.wmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_max=1048576

fs.aio-max-nr = 1048576

:wq 保存并退出
sysctl -p  # 使配置生效

5、修改系统资源限制

 
vim /etc/security/limits.conf # 编辑 limits.conf,末尾处添加下面的参数
oracle  soft  nproc  2047
oracle  hard  nproc  16384
oracle  soft  nofile  1024
oracle  hard  nofile  65536

 ​

 6、创建安装目录并分配权限

mkdir -p /oracle/ 
chmod 755 /oracle/ 
chown oracle.dba -R / oracle/

7、设置Oracle环境变量

vim ~/.bash_profile # 编辑
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/data/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

保存并退出

source ~/.bash_profile # 使配置立即生效

env | grep ORA # 查看环境变量是否完成

安装数据库

1、安 装依赖包

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/

2、解压安装包

注:建议将安装包提前移动到前面授权的 /oracle 目录下
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

解压后进入 /oracle/database 目录,该目录下有三个 .rsp 文件,用来作为静默安装时的应答文件的模板。三个文件作用分别是:

db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置的应答

3、静默安装文件配置

cd /oracle/database/response # 进入 response 目录
cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错
vim db_install.rsp # 编辑,按照下面配置调整
 

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracledb

UNIX_GROUP_NAME=dba

INVENTORY_LOCATION=/oracle/data/oraInventory #重要

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/oracle/data/product/11.2.0/db_1 #重要

ORACLE_BASE=/oracle/data #重要

oracle.install.db.InstallEdition=EE

oracle.install.db.isCustomInstall=false

oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.CLUSTER_NODES=

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=ora11g

oracle.install.db.config.starterdb.SID=ora11g

oracle.install.db.config.starterdb.characterSet=AL32UTF8

oracle.install.db.config.starterdb.memoryOption=true

oracle.install.db.config.starterdb.memoryLimit=1500

oracle.install.db.config.starterdb.installExampleSchemas=false

oracle.install.db.config.starterdb.enableSecuritySettings=true

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.password.SYS=

oracle.install.db.config.starterdb.password.SYSTEM=

oracle.install.db.config.starterdb.password.SYSMAN=

oracle.install.db.config.starterdb.password.DBSNMP=

oracle.install.db.config.starterdb.control=DB_CONTROL

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

oracle.install.db.config.starterdb.dbcontrol.emailAddress=

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

oracle.install.db.config.starterdb.automatedBackup.enable=false

oracle.install.db.config.starterdb.automatedBackup.osuid=

oracle.install.db.config.starterdb.automatedBackup.ospwd=

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=

oracle.install.db.config.asm.diskGroup=

oracle.install.db.config.asm.ASMSNMPPassword=

MYORACLESUPPORT_USERNAME=

MYORACLESUPPORT_PASSWORD=

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

DECLINE_SECURITY_UPDATES=true    //一定要设为 true

PROXY_HOST=

PROXY_PORT=

PROXY_USER=

PROXY_PWD=

保存并退出

less /oracle/database/response/db_install.rsp |grep -v "#"|grep -v "^$" # 查看配置

4、开始静默安装

su - oracle # 切换到 oracle 用户

cd /oracle/database/ #进入/oracle/database目录
./runInstaller -silent -force -responseFile /oracle/database/response/db_install.rsp

当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本

sh /oracle/data/oraInventory/orainstRoot.sh
sh /oracle/database/product/11.2.0/db_1/root.sh
 

5、配置监听程序

启动监听:lsnrctl start
停止监听:lsnrctl stop
重启监听:lsnrctl reload
查看监听:lsnrctl status
$ORACLE_HOME/bin/netca /silent /responseFile /oracle/database/response/netca.rsp # 监听

 6、静默建库

su - root # 切换到 root 用户
vim /opt/database/response/dbca.rsp
GDBNAME = "orcl" # 78 行
SID="orcl" # 149行
CHARACTERSET="AL32UTF8" # 415行
NATIONALCHARACTERSET="UTF8" # 425行
su - oracle # 切换到 oracle 用户
$ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建库

注:执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码,回车,再输入一次,再回车。稍等一会,会开始自动创建。

 7、开放1521端口(远程连接Oracle所需)

查看端口是否开放:firewall-cmd --query-port=1521/tcp

永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp

重启防火墙: systemctl restart firewalld.service

查看防火墙状态:systemctl status firewalld.service

备注:启动 | 关闭 | 重启 防火墙

systemctl [start | stop | restart] firewalld.service

后续就是导库或者创建用户表结构进行验证,至此oracle 11g静默安装结束。途中一定会遇到各式各样的问题,大家可以多搜搜解决方案,度娘还是很强大的。

PS:最后我得好好吐槽下这个编辑器,真实太XX难用了,三点左右整理好的文章,折腾格式搞了两个多小时,期间各种丢东西,多优化优化用户体验的东西呗,尽整些花里胡哨的VIP权益,佛了佛了......

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aikes902

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值