Linux 静默安装 oracle

1.准备安装包
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
rlwrap-0.30.tar.gz

2.安装依赖关系
先建立本地yum源(略)
1)检查依赖包是否完全
//查看已经安装的包
rpm -qa binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel
//查看已安装和未安装的包
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel
2)全部进行安装
//全部进行安装
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make pdksh sysstat unixODBC unixODBC-devel

(其中可能会有yum中没有的包,可以拷贝到本地进行安装,比如pdksh包)

  1. 创建用户和组
    groupadd oinstall
    groupadd dba
    groupadd asmadmin
    groupadd asmdba
    useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
    查看oracle用户
    id oracle
    初始化oracle用户密码
    passwd oracle

查看oracle用户
id oracle
初始化oracle用户密码
passwd oracle

4 配置hostname
vim /etc/hosts
192.168.1.18 centos-oracle
这是自己的ip,后面的名字如果想改的话,后面也要跟着改

测试hostname
ping -c 3 centos-oracle

4.1优化os内核参数
查看系统内存大小和交换区
[[email protected] /]# grep MemTotal /proc/meminfo
[[email protected] /]# grep SwapTotal /proc/meminfo

vim /etc/sysctl.conf

fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall=2097152
kernel.shmmni=4096
kernel.shmmax = 1073741824 (最好是系统内存的一半)
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=1048586
使参数生效
sysctl -p

5 限制oracle用户的shell权限
vim /etc/security/limits.conf

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

vim /etc/pam.d/login

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

vim /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

6 创建oracle安装目录
1.方案一。
mkdir -p /opt/app/oracle/product/11.2.0
mkdir /opt /app/oracle/oradata
mkdir /opt /app/oracle/inventory
mkdir /opt /app/oracle/fast_recovery_area
chown -R oracle:oinstall /opt /app/oracle
chmod -R 775 /opt /app/oracle
2.方案二。
mkdir -p /db/app/oracle/product/11.2.0
mkdir /db/app/oracle/oradata
mkdir /db/app/oracle/inventory
mkdir /db/app/oracle/fast_recovery_area
chown -R oracle:oinstall /db/app/oracle
chmod -R 775 /db/app/oracle
7 配置oracle用户环境变量
su - oracle
vim .bash_profile

umask 022
export ORACLE_HOSTNAME=centos-oracle
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=ORCL
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

umask 022
export ORACLE_HOSTNAME=centos-oracle
export ORACLE_BASE=/db/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=ORCL
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

以上配置完成后,个人建议重启下系统

source .bash_profile
reboot
8.上传并解压oracle压缩文件到 /db
cd /opt/
unzip linux.x64_11gR2_database_1of2.zip -d /db
unzip linux.x64_11gR2_database_2of2.zip -d /db

解压完成后
mkdir /opt/etc/
cp /opt/database/response/* /opt/etc/
vim /opt/etc/db_install.rsp

mkdir /db/etc/
cp /db/database/response/* /db/etc/
vim /db/etc/db_install.rsp

设置 相关参数

oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOSTNAME=centos-oracle
ORACLE_HOME=/opt/app/oracle/product/11.2.0
ORACLE_BASE=/opt/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE?? //数据库类型   
oracle.install.db.config.starterdb.globalDBName=orcl????? #globalDBName   
oracle.install.db.config.starterdb.SID=orcl?#SID(**此处注意与环境变量内配置SID一致)  
oracle.install.db.config.starterdb.memoryLimit=81920????? #自动管理内存的内存(M)  
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false??????      #(手动写了false)  
oracle.install.db.config.starterdb.password.SYS=123456
oracle.install.db.config.starterdb.password.SYSTEM=123456

DECLINE_SECURITY_UPDATES=true //必须设置为true

可选项目
//oracle.install.db.config.starterdb.password.ALL=oracle??? #设定所有数据库用户使用同一个密码   

  1. 开始安装
    su - oracle
    cd /opt/database
    ./runInstaller -silent -ignorePrereq -responseFile /opt/etc/db_install.rsp

./runInstaller -silent -ignorePrereq -responseFile /db/etc/db_install.rsp

(注意:运行期间可能出现页面跳转的问题

需要进行以下操作:
su root
#xhost +

su oracle
继续进行安装。)

安装期间可以另外打开一个窗口,使用tail命令监看oracle的安装日志
tail -f /opt/app/oracle/inventory/logs/installActions2017-07-12_03-48-29PM.log

注意:这个日志文件后面跟的日期和你自己的不一样,根据提示,复制自己正确的日志路径

安装完成会在原来的窗口提示Successfully Setup Software.
这时不要动原来的窗口,在新窗口下操作
su root
sh /opt/app/oracle/inventory/orainstRoot.sh
sh /opt/app/oracle/product/11.2.0/root.sh

sh /db/app/oracle/inventory/orainstRoot.sh
sh /db/app/oracle/product/11.2.0/root.sh

执行完成后,可以在原来的窗口在键入enter,恢复操作

10 配置静默监听
su - oracle
netca /silent /responsefile /opt/etc/netca.rsp

netca /silent /responsefile /db/etc/netca.rsp

                   注意,这一步可能会出现 netca命令不能使用的情况,需要对第7部进行核查,重新source一下。

查看监听端口
netstat -tnulp | grep 1521
如果找不到netstat命令 yum install net-tools.x86_64
11.静默创建数据库
vi /opt/etc/dbca.rsp

GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/opt/app/oracle/oradata
RECOVERYAREADESTINATION=/opt/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"
SOURCEDB = "orcl"
INSTANCENAME = "orcl"

vi /db/etc/dbca.rsp

GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/db/app/oracle/oradata
RECOVERYAREADESTINATION=/db/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "1638"
SOURCEDB = "orcl"
INSTANCENAME = "orcl"

执行静默建库
dbca -silent -responseFile /opt/etc/dbca.rsp

dbca -silent -responseFile /db/etc/dbca.rsp

......
完成后查看oracle实例进程
ps -ef | grep ora_ | grep -v grep

查看监听状态
lsnrctl status

  1. 安装rlwrap
    安装rlwrap用来支持Oracle下sqlplus无法使用方向键,使用方向键乱码等问题
    下载后,将.zip扩展名去掉,传到Linux服务器上面
    安装rlwrap时,提示需要安装readline
    就用 yum -y install readline*就可以了

安装rlwrap
[[email protected] ~]# tar -zxvf rlwrap-0.30.tar.gz
[[email protected] ~]# cd rlwrap-0.30
[[email protected] rlwrap-0.30]# ./configure
[[email protected] rlwrap-0.30]# make
[[email protected] rlwrap-0.30]# make install
[[email protected] rlwrap-0.30]# rlwrap
Usage: rlwrap [options] command ...

Options:
-a[password:] --always-readline[=password:]
-A --ansi-colour-aware
-b <chars> --break-chars=<chars>
-c --complete-filenames
-C <name|N> --command-name=<name|N>
-D <0|1|2> --history-no-dupes=<0|1|2>
-f <completion list> --file=<completion list>
-F <format string> --history-format=<format string>
-h --help
-H <file> --history-filename=<file>
-i --case-insensitive
-l <file> --logfile=<file>
-n --no-warnings
-p[ANSI colour spec] --prompt-colour[=ANSI colour spec]
-P <input> --pre-given=<input>
-q <chars> --quote-characters=<chars>
-m[newline substitute] --multi-line[=newline substitute]
-r --remember
-v --version
-s <N> --histsize=<N> (negative: readonly)
-t <name> --set-term-name=<name>

[[email protected] rlwrap-0.30]# vi /home/oracle/.bash_profile
添加
alias sqlplus=‘rlwrap sqlplus‘
alias rman=‘rlwrap rman‘

安装可能的报错
rlwrap: error while loadingshared libraries: libreadline.so.5: cannot open shared object file: No suchfile or directory

解决办法:

在oracle下的.bash_profile中$PATH路径中增加/usr/local/bin路径

PATH=/usr/local/bin:$PATH;export PATH

  1. 修改初始化位置
    在oracle用户根目录下找到.bash_profile
    su - oracle
    [[email protected] ~]$ ls -a
    [[email protected] ~]$ vim .bash_profile
    将刚刚安装过程加进去的所有东西都复制一份
    [[email protected] ~]$ vim .bashrc 粘贴到这个文件下
    [[email protected] ~]$ source .bashrc

14.启动数据库
oracle数据库安装好后,只有sys用户才能进入,需要启动数据库其他用户才能使用
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 18 15:37:44 2017

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL>
如果出现以下错误
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ‘/db/app/oracle/product/11.2.0/dbs/initORCL.ora‘
SQL>
解决办法:
[[email protected] dbs]$ cd /db/app/oracle/admin/orcl/pfile/
[[email protected] pfile]$ ls
init.ora.6242012174552
[[email protected] pfile]$ cp init.ora.6242012174552 /db/app/oracle/product/11.2.0/dbs/

更改名字格式为:initORACLE_SID.ora
[[email protected] dbs]$ mv init.ora.6242012174552 initORCL.ora
重启数据库
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 18 15:37:44 2017

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.

SQL>
SQL> startup
ORACLE instance started.

Total System Global Area 1720328192 bytes
Fixed Size 2214056 bytes
Variable Size 1006634840 bytes
Database Buffers 704643072 bytes
Redo Buffers 6836224 bytes
Database mounted.
Database opened.
SQL>
启动成功。

Tips:出现ora-01102:
出现的原因:a,ORACLE_HOME/dbs/中存在“sgadef.dbf”文件或lk*文件。这两个文件是用来锁内存的。b, oraclel的pmon,smon,lgwr 和dbwr等进程未正常关闭。 c,数据库关闭后,共享内存或者信号量依然被占用了。Lk数据数据库已经是MOUNT状态,不用再次MOUNT。当DATABASE 被UNmount后会被自动删除。如果DATABASE没有MOUNT,依然存在这个问题,只能手工进行删除了。
解决办法:

cd /$ORACLE_HOME/dbs
$ORACLE_HOME/dbs> ll lk*
//查看使用 lkORCL文件的进程和用户
/sbin/fuser –u lkORCL
//使用fuser –k lkORCL 解除访问的进程
/sbin/fuser –k lkORCL
然后重新进行启动。

15.查看数据库
查看实例状态
select status from v$instance;

查看数据库编码
select userenv(‘language‘) from dual;

激活scott用户
alter user scott account unlock;
alter user scott identified by tiger;

查看用户
select * from all_users;

16.oracle监听启动,停止,查看命令
su oracle

然后启动监听器
lsnrctl start
会看到启动成功的界面;

lsnrctl stop
停止监听器命令.

lsnrctl status
查看监听器命令.

查看监听端口
netstat -tnulp | grep 1521

开机自启动监听
su root
[[email protected] ~]# vim .bashrc
在文件最下面添加lsnrctl start
保存退出
17.firewall防火墙
启动和关闭

systemctl start firewalld # 启动,

systemctl enable firewalld # 开机启动

systemctl restart firewalld # 重启

systemctl stop firewalld # 关闭

systemctl disable firewalld # 取消开机启动

具体的规则管理使用firewall-cmd

说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

查看运行状态
[[email protected] /]# firewall-cmd --state
running
[[email protected] /]#

查看指定区域所有开放的端口
[[email protected] /]# firewall-cmd --zone=public --list-port
5055-5060/tcp

打开指定端口
[[email protected] ~]# firewall-cmd --zone=public --add-port=1521/tcp --permanent
success
[[email protected] ~]#

端口转发
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

18.修改监听文件
cd /db/app/oracle/product/11.2.0/network/admin
找到listener.ora文件
修改如下:
修改如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/app/oracle/product/11.2.0/)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /opt/app/oracle/product/11.2.0/)
(SID_NAME = ORCL)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = centos-oracle)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /opt/app/oracle

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /db/app/oracle/product/11.2.0/)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /db/app/oracle/product/11.2.0/)
(SID_NAME = ORCL)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = centos-oracle)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /db/app/oracle

19.设置开机自启

cd /etc
vim oratab
如果没有就新建一个
加入orcl:/opt/app/oracle/product/11.2.0:Y
给与oratab执行权限
chmod 777 /etc/oratab

vim /etc/rc.d/rc.local

修改
su - oracle -lc "/opt/app/oracle/product/11.2.0/bin/lsnrctl start"
su - oracle -lc "/opt/app/oracle/product/11.2.0/bin/dbstart"

su - oracle -lc "/db/app/oracle/product/11.2.0/bin/lsnrctl start"
su - oracle -lc "/db/app/oracle/product/11.2.0/bin/dbstart"

chmod 777 /etc/rc.d/rc.local

cd /opt/app/oracle/product/11.2.0/bin

cd /db/app/oracle/product/11.2.0/bin

vim dbstart
将$1修改成$ ORACLE_HOME,如下:
#ORACLE_HOME_LISTNER=$1
ORACLE_HOME_LISTNER=$ORACLE_HOME
重启linux系统,检查oracle是否自启动

原文地址:https://blog.51cto.com/13288309/2473570

时间: 2024-10-11 11:54:19

Linux 静默安装 oracle的相关文章

Linux静默安装Oracle

打算在云服务器上装oracle服务,以前DBA美眉都是在图形化界面下安装,这次抓瞎了.赶紧上网查查,静默安装可以解决问题.于是乎赶紧开始部署,过程如下.安装环境:操作系统:CentOS 7内存:11G(11851M)硬盘:128Goracle版本 11g 1.准备oracle 安装包 linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip 2.检查本机依赖包,没找到的用 yum install ****** 命令

Linux静默安装oracle 11g

之前在oracle安装过程中碰到了很多问题,浪费了不少问题,后来有哥同事给了以下安装文档,解决了很多多问题,也提到了很多在安装过程中碰到的问题! 所以记录一下 本文档是Oracle Database 11.2.0.1 for RHEL5 Server(包括x86和x86_64平台)的静默安装指南. 所有操作无需使用图形界面. 静默安装能减少安装出错的可能性, 也能大大加快安装速度. # 后跟命令表示以操作系统下root用户操作; $ 后跟命令表示以操作系统下oracle用户操作; 1.1 上传软

Linux静默安装Oracle 11g教程

准备工作 在电脑中下载 linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.ziphttp://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.ziphttp://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip复制链

记一次linux静默安装oracle加手工建库

静默安装参考:http://www.cnblogs.com/colmeluna/p/5686142.html 实际安装中: 1.跳过了第二步设定交换区空间 2.安装完成后没有提示执行orainstRoot.sh,只有root.sh 建库参考:http://www.cnblogs.com/jyzhao/p/4635826.html 实际建库中: 1.只执行了第二步,手工建库部分 2.修改文件存放路径 /opt/app/oracle/oradata/crnophq -> /usr/local/ora

Linux 静默安装Oracle p13390677_112040_Linux-x86-64

参考:https://www.cnblogs.com/yingsong/p/6031235.html 1.设置主机名称1./etc/sysconfig/network NETWORKING=yes HOSTNAME=frontdb 2.vi /etc/hosts 192.168.128.131 frontdb2.修改内核参数 vi/etc/sysctl.conf net.ipv4.ip_local_port_range= 9000 65500fs.file-max = 6815744 kerne

RedHat 6 静默安装Oracle 11gR2

之前看了网上很多篇Linux静默安装Oracle的文章,但安装测试时老觉得有问题,后来直接找来Oracle官方英文文档并仔细阅读研究rsp文件的内容说明,经过自己在虚拟机中的安装测试,使用RedHat 6.5(内核版本:2.6.32-431.el6.x86_64)上静默安装Oracle 11gR2(版本:11.2.0.3),整理出了本文,主要包括了环境要求与准备.静默安装Oracle软件与监听.静默安装Oracle数据库.安装完成后检查.设置Oracle开机自动启动等部分. 一. 环境要求与准备

linux 之静默安装oracle

Web服务器上面的Linux一般是不会有图形界面的,所有通过图形界面来安装Linux的方式在没有图形界面的Linux上面是行不通的,我们要使用的安装方式叫做Linux的静默安装.即在没有图形界面的Linux上面安装. 1. 下载地址 http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 下载.tar.gz文件即可,oracle在Window上面是有分位数的,但在linux上面没有分,只

linux下静默安装oracle

linux下静默安装oracle centos7.7 oracle11gR2 安装前的准备 1禁用ipv6 新加 [[email protected] ~]# vim /etc/sysconfig/network NETWORKING_IPV6=no 修改/etc/hosts,把ipv6那句本地主机名解析的注释掉 [[email protected] ~]# vim /etc/hosts # ::1 localhost localhost.localdomain localhost6 local

RedHat 7 静默安装Oracle 12c

之前在网上看了很多Oracle的静默安装教程,感觉有些乱,经过自己查阅Oracle官网英文手册,结合在虚拟机中安装测试,整理出了这篇RedHat 7 静默安装Oracle 12c.redhat 6静默安装Oracle 11g R2也已基本整理好了,等有时间了再发出来. 本文原始出处:江健龙的技术博客http://jiangjianlong.blog.51cto.com/3735273/1792451 一.环境要求与准备 1.硬件要求 (1)磁盘空间 EnterpriseEdition : 6.4