我们安装几个必要的工具。
yum -y install vim
yum -y install unzip
yum -y install lrzsz
yum -y update
先装这几个。
安装Oracle11GR2所需要的依赖包
我们准备以下软件
linux.x64_11gR2_database_1of2.zip (oracle官网下载)
linux.x64_11gR2_database_2of2.zip (oracle官网下载)
rlwrap-0.42.tar.gz
一键安装
yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline rlwrap
这里我们采用在root用户下一个个安装吧。(不想一个一个安装直接上面一键安装)
安装执行:yum -y install gcc
安装执行:yum -y install gcc-c++
安装执行:yum -y install make
(系统已安装进行了更新下省略)
安装执行:yum -y install binutils
安装执行:yum -y install compat-libstdc+±33
安装成功执行:yum -y install elfutils-libelf
安装执行:yum -y install elfutils-libelf-devel
安装执行:yum -y install elfutils-libelf-devel-static
安装执行:yum -y install glibc
安装成功执行:yum -y install glibc-common
安装成功执行:yum -y install glibc-devel
安装成功执行:yum -y install ksh
安装成功执行:yum -y install libaio
安装成功执行:yum -y install libaio-devel
安装成功执行:yum -y install libgcc
安装成功执行:yum -y install libstdc++
安装成功执行:yum -y install libstdc+±devel
安装成功执行:yum -y install sysstat
安装成功执行:yum -y install unixODBC
安装成功执行:yum -y install unixODBC-devel
安装成功执行:yum -y install kernel-headers
安装成功执行:yum -y install pdksh
报错,pdksh是一个老包了,新的oracle都使用ksh包改执行:yum -y install ksh
安装成功执行:yum -y install pcre-devel
安装成功执行:yum -y install readline*
安装成功执行:yum -y install rlwrap
yum源里没有包;
之前我们准备了:rlwrap-0.42 就是
解压:tar -xvf rlwrap-0.42.tar.gz
切换目录:cd rlwrap-0.42执行: ./configure
执行成功(如果有很多个no 以及结尾提示其他内容 则执行失败 根据提示找原因)
执行:make
执行:make install
完成;
二、创建用户 组 及文件夹
创建用户组:groupadd oinstall
创建用户组:groupadd dba
创建用户并添加到用户组:useradd -g oinstall -G dba oracle
设置密码:echo “123456” | passwd --stdin oracle
创建安装目录及权限
mkdir -p /data/u01/app/oracle/product/11.2.0/dbhome_1
mkdir /data/u01/app/oracle/{oradata,inventory,fast_recovery_area}
chown -R oracle:oinstall /data/u01/app/oracle
chmod -R 775 /data/u01/app/oracle
三、静默安装Oracle11GR2数据库上传数据库安装包并解压
上传Oracle11G数据库安装包
创建一个目录存放安装包;
mkdir -p /data/u01/software
把安装包移过去
mv linux.x64_11gR2_database_1of2.zip /data/u01/software/
mv linux.x64_11gR2_database_2of2.zip /data/u01/software/
cd /data/u01/software
解压
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
完成
四、修改配置文件
1、修改内核文件: vim /etc/sysctl.conf
按一次 "i"进入编辑模式
找到合适的位置
#添加内容:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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
按 esc 键退出编辑模式;
输入 “:wq”退出并保存;
执行:sysctl -p
使配置文件生效;
2.修改用户限制:vim /etc/security/limits.conf
按一次 "i"进入编辑模式
找到合适的位置
#添加内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
3.修改/etc/pam.d/login 文件:vim /etc/pam.d/login
按一次 "i"进入编辑模式
找到合适的位置
#添加内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
按 esc 键退出编辑模式;
输入 “:wq”退出并保存;
4.修改/etc/profile 文件:vim /etc/profile
按一次 "i"进入编辑模式
找到合适的位置(}后或者IF前 或者#语句的上下;)
#添加内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
按 esc 键退出编辑模式;
输入 “:wq”退出并保存;
5.设置oracle 用户环境变量
先切换到oracle用户:su - oracle
编辑:vim .bash_profile
按一次 "i"进入编辑模式
找到合适的位置
#添加内容:
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
按 esc 键退出编辑模式;
输入 “:wq”退出并保存;
执行:source .bash_profile
使变量马上生效;
6、修改静默安装响应文件
拷贝备份一份响应文件:cp -R /data/u01/software/database/response/ .
cd response/
执行:vim db_install.rsp
修改内容:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=自己的主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/data/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
按 esc 键退出编辑模式;
输入 “:wq”退出并保存;
切换到解压的安装包目录:cd /data/u01/software/database/
执行:./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
安装完成
五、创建一个数据库实例;
配置响应文件:vim /home/oracle/response/dbca.rsp
修改内容:
GDBNAME = “orcl”
SID = “orcl”
前面的 # 要删除,对应用户设置密码;
SYSPASSWORD = “输入密码”
SYSTEMPASSWORD = “输入密码”
SYSMANPASSWORD = “输入密码”
DBSNMPPASSWORD = “输入密码”
前面的 # 要删除,对应用户设置目录;
DATAFILEDESTINATION =/data/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/data/u01/app/oracle/fast_recovery_area
前面的 # 要删除,设置字符集(中国使用一般都要改);
非常重要,设置字符集:CHARACTERSET = “AL32UTF8”
调大内存,一般1.5-2倍的物理内存大小
TOTALMEMORY = “2048”
:wq
检查配置egrep -v “(#|$)” /home/oracle/response/dbca.rsp
安装创建:dbca -silent -responseFile /home/oracle/response/dbca.rsp
完成
可以查看默认实例
env|grep ORACLE_UNQNAME
进入sqlplus 启动实例
startup
上图提示是实例已经起来了,无需再次启动。
可以shutdown后在startup
lsnrctl start 启动侦听器
lsnrctl status 查看侦听器状态
连接测试
(ps:以上内容是我安装的时候参考博客https://blog.csdn.net/weixin_39909212/article/details/112769725?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242)
(redhat7.6Linux安装Oracle19C完整版教程https://www.cnblogs.com/xuzhaoyang/p/11264557.html)
六、设置数据库自启动(HOME_LISTNER路径改成自己的)
1、安装好Oracle数据库后: 执行 dbstart和dbshut
[oracle@localhost ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /usr/oracle/product/11.2.0/db_1/bin/dbstart ORACLE_HOME
错误原因:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题
[oracle@localhost ~]$ vim $ORACLE_HOME/bin/dbstart
[oracle@localhost ~]$ vim $ORACLE_HOME/bin/dbshut
分别打开两个文件修改(50行左右)
ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
修改后保存退出,问题解决
2、Linux启动时自动启动Oracle监听和实例
第一步:修改/etc/oratab文件
[oracle@localhost ~]$ vim /etc/oratab
找到: orcl:/usr/oracle/product/11.2.0/db_1:N
修改为: orcl:/usr/oracle/product/11.2.0/db_1:Y
(这个路径跟安装路径有关,$ORACLE_SID:$ORACLE_HOME:<N|Y>)
第二步:把lsnrctl start和dbstart添加到rc.local文件中:
root权限执行
[root@localhost oracle]# vim /etc/rc.d/rc.local
添加:
su - oracle -lc "/usr/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su - oracle -lc "/usr/oracle/product/11.2.0/db_1/bin/dbstart"
说明:
第一行为开机启动数据库监听服务,第二行为开机启动数据库。(路径跟安装路径相关)。
注意:CentOs7中/etc/rc.d/rc.local不会开机执行,需添加执行权限。
查看/etc/rc.d/rc.local的权限
[root@localhost oracle]# ll /etc/rc.d/rc.local
添加执行权限
[root@localhost oracle]# chmod +x /etc/rc.d/rc.local
3、重启电脑后查看是否自启动成功
查看监听是否自启动成功
[oracle@localhost ~]$ lsnrctl status LISTENER
查看Oracle服务状态
[oracle@localhost ~]$ ps –ef | grep oracle
4、oracle的启动或关闭管理
[root@localhost oracle]# dbstart #启动
[root@localhost oracle]# dbshut #停止