CentOS7离线静默安装Oralce11(p13390677_112040)(转发+笔记)
原文:https://blog.csdn.net/u014644574/article/details/119325944
(另外一篇参考文章:https://blog.csdn.net/Gestapos/article/details/117037123)
1、下载并上传到 /root 目录下
p13390677_112040版本是付费版,免费版安装参考:CentOS7 安装Oralce11g_u014644574的博客-CSDN博客
(p13390677_112040的7个文件应该和11.2.0.3类似 , 解压后第一, 二个包表示database , 第三个包表示 grid, 第四个表示客户端, 第5个表示gateways , 第六个表示 examples , 第七个表示 deinstall )
下载以下文件,并上传这些文件到 /root 目录下
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm :这个手工下载地址:https://centos.pkgs.org/7/centos-x86_64/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm.html
CentOS-7-x86_64-DVD-2009.iso 该iso文件版本要高于离线服务器的安装版本:cat /etc/redhat-release
2、配置离线yum源
#备份 cd /etc/yum.repos.d/ mkdir bak mv CentOS* bak/
新建文件 vi centos7.repo
[CentOS7] name=CentOS-server baseurl=file:///yum enabled=1 gpgcheck=0
制作iso离线yum源
mkdir /yum cd /root ls mount -o loop -t iso9660 CentOS-7-x86_64-DVD-2009.iso /yum
#清除缓存
yum clean all
#测试是否配置成功
yum list
#安装完oralce后,若需要卸载设备:umount -v /yum
查看系统的磁盘
lsblk
3、关闭防火墙和Selinux
#关闭防火墙 systemctl stop firewalld systemctl disable firewalld #或者 -A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT service iptables restart #关闭Selinux sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config setenforce 0 #获取当前selinux状态,Enforcing为开启,Permissive为关闭 getenforce
4、设置主机名
hostnamectl set-hostname oradb hostname
查询ip地址:ip addr
配置主机ip及对应的主机名:vi /etc/hosts
192.168.5.200 oradb
查询主机ip:hostname -i
5、安装依赖包
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
检查依赖是否安装完整
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
若提示“未安装软件包”,则需要手动下载提示的rpm包上传并安装。我这里提示:“未安装软件包 compat-libstdc++-33”
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
安装解压软件
yum -y install unzip zip
6、创建用户组、用户和安装目录
groupadd oinstall groupadd dba groupadd oper useradd -m -g oinstall -G dba,oper oracle passwd oracle mkdir -p /oracle/db/11g mkdir -p /oracle/oradata chown -R oracle:oinstall /oracle/ chmod -R 775 /oracle/ chmod -R 755 /etc/security mv p13390677_112040_Linux-x86-64_1of7.zip /home/oracle/ mv p13390677_112040_Linux-x86-64_2of7.zip /home/oracle/
7、优化内核参数
文件内核设置参数详解 系统优化-----sysctl.conf文件内核设置参数详解_JackLiu16的博客-CSDN博客
这里只需要修改,共享内存的总页数 kernel.shmall、共享内存段的最大值 kernel.shmmax。
shmall 和 shmmax 参考下面的方式计算:
free -k
kernel.shmall = total / 4 = 1863032 / 4 = 465758
free -b
kernel.shmmax = total - 1 = 1907744768 - 1 = 1907744767
cp -p /etc/sysctl.conf /etc/sysctl.conf_bak
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 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 net.ipv4.conf.all.accept_redirects=0
使修改生效
sysctl -p
8、限制oracle用户的shell权限
当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。
通过使用 ulimit – n 来限制程序所能打开的最大文件描述符数量,从而达到限制 socket 创建的数量。默认大小1024。 LINUX ulimit命令 - wangkangluo1 - 博客园
soft xxx : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。
hard xxx : 代表严格的设定,不允许超过这个设定的值。
nproc : 是操作系统级别对每个用户创建的进程数的限制
nofile : 是每个进程可以打开的文件数的限制
stack : 堆栈大小的限制
cp -p /etc/security/limits.conf /etc/security/limits.conf.bak
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 oracle hard stack 32768
limits.conf 文件实际是下面 pam_limits.so的配置文件,而且只针对于单个会话。
cp -p /etc/pam.d/login /etc/pam.d/login.bak
vi /etc/pam.d/login 在后面追加下面配置
session required /lib64/security/pam_limits.so
session required pam_limits.so
cp /etc/profile /etc/profile_bak
vi /etc/profile 在配置文件结尾处(unset i 和 unset -f pathmunge 之前)追加下面配置
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
使修改生效
source /etc/profile
9、设置oracle环境变量
用oracle用户登录 su - oracle
vi .bash_profile 在后面追加下面
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID export ORACLE_BASE=/oracle/db/ export ORACLE_HOME=/oracle/db/11g export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export NLS_LANG='SIMPLIFIED CHINESE_CHINA.UTF8' export LANG=en_US.UTF8 export TEMP=/tmp export TMPDIR=/tmp umask 022
source /home/oracle/.bash_profile
10、使用Oracle安装
用oracle用户登录 su - oracle
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
复制响应文件模板
mkdir /home/oracle/etc cd /home/oracle/etc #复制响应文件 cp -r /home/oracle/database/response/netca.rsp /home/oracle/etc/
db_install.rsp:安装应答
dbca.rsp:创建数据库应答
netca.rsp:建立监听、本地服务名等网络设置应答
创建安装数据库时的应答文件:vi db_install.rsp
根据自己的实际内存修改下面(物理内存的60%单位m)sga+pga:oracle.install.db.config.starterdb.memoryLimit=物理内存的60%单位m
详细参数参考 db_install.rsp详解,oracle静默安装应答文件详解_yinzhipeng123的博客-CSDN博客_db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY #通过hostname命令获取 ORACLE_HOSTNAME=oradb UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/oracle/db/oraInventory SELECTED_LANGUAGES=en,zh_CN,zh_TW ORACLE_HOME=/oracle/db/11g ORACLE_BASE=/oracle/db/ oracle.install.db.InstallEdition=EE oracle.install.db.EEOptionsSelection=false oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=dba oracle.install.db.CLUSTER_NODES= oracle.install.db.isRACOneInstall= oracle.install.db.racOneServiceName= oracle.install.db.config.starterdb.type=GENERAL_PURPOSE oracle.install.db.config.starterdb.globalDBName=orcl oracle.install.db.config.starterdb.SID=orcl oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.memoryOption=true #物理内存的60%左右,单位M oracle.install.db.config.starterdb.memoryLimit=512 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.automatedBackup.enable=false oracle.install.db.config.starterdb.automatedBackup.osuid= oracle.install.db.config.starterdb.automatedBackup.ospwd= oracle.install.db.config.starterdb.storageType= 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=false DECLINE_SECURITY_UPDATES=true PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD= PROXY_REALM= COLLECTOR_SUPPORTHUB_URL= oracle.installer.autoupdates.option= oracle.installer.autoupdates.downloadUpdatesLoc= AUTOUPDATES_MYORACLESUPPORT_USERNAME= AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
创建实例时的应答文件:vi dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
#GDBNAME 配置数据库名称,连接数据库时要使用这个参数值。
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET= "ZHS16GBK"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
#TOTALMEMORY = “1638” 为1638MB,物理内存2G*80%。
TOTALMEMORY = "26214"
设置响应文件权限
chmod 700 /home/oracle/etc/*.rsp
11、用oracle用户静默安装Oracle软件
用oracle用户开始静默安装
su - oracle
/home/oracle/database/runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
稍等一会,出现以下图示表示安装成功!如果安装失败,删除文件 rm /etc/oraInst.loc 重新安装。
su - root /oracle/db/oraInventory/orainstRoot.sh /oracle/db/11g/root.sh
su - oracle #配置监听 netca /silent /responsefile /home/oracle/etc/netca.rsp cd /home/oracle #创建oracle实例 dbca -silent -responseFile etc/dbca.rsp
创建实例这一步,执行完命令后等光标停下来时,要输入2次密码:密码 + 回车 (不用输密码了,因为上面的dbca.rsp文件里写了密码)
检查一下目前监听状态:
lsnrctl status
12、使用root用户设置Oracle开机启动
su – oracle
vi /etc/oratab 修改文件将N改为Y
orcl:/oracle/db/11g:Y
查询Oracle的home目录:echo "$ORACLE_HOME"
vi /etc/rc.d/rc.local 在后面追加下面配置
su oracle -lc "/oracle/db/11g/bin/lsnrctl start" su oracle -lc /oracle/db/11g/bin/dbstart
设置执行权限
chmod +x /etc/rc.d/rc.local
13、使用oracle用户创建用户
su - oracle sqlplus / as sysdba ##创建一个新用户abc和密码123456 create user abc identified by 123456; ##授予DBA权限。 grant connect,resource,dba to abc; ##撤销权限 ##revoke connect,resource,dba from abc; ##退出 quit
14、查看监听状态
su - oracle
lsnrctl status
如果未监听到实例,按顺序重启数据库:重启Oracle数据库_u014644574的博客-CSDN博客_重启oracle数据
15、使用PL/SQL连接
tnsnames.ora
test = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.200)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oradb) ) )
用户名:abc
密码:123456
url=jdbc:oracle:thin:@192.168.5.200:1521:orcl
16、修改redo log组以及大小
为防止日志频繁切换,引起数据库性能低下问题。
#查看redo信息、文件保存路径 SQL> select group#,type, member from v$logfile; #新增3个组 SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/home/oracle/db/oradata/orcl/redo04.log') size 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ('/home/oracle/db/oradata/orcl/redo05.log') size 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ('/home/oracle/db/oradata/orcl/redo06.log') size 500M; #查看每个组的大小、状态 SQL> select group#,thread#,archived,status, bytes/1024/1024 "大小(M)" from v$log; #切换要删除组的状态为inactive SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter system switch logfile; #删除1、2、3组,并删除物理路径下的文件 SQL> alter database drop logfile group 1; SQL> alter database drop logfile group 2; SQL> alter database drop logfile group 3; #新增3个组 SQL> ALTER DATABASE ADD LOGFILE GROUP 1 ('/home/oracle/db/oradata/orcl/redo01.log') size 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 2 ('/home/oracle/db/oradata/orcl/redo02.log') size 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 3 ('/home/oracle/db/oradata/orcl/redo03.log') size 500M;
17、参数修改
手动备份spfile文件:
##参数备份 #查询spfile文件路径 SQL> show parameter spfile; SQL> create pfile='spfile_bak' from spfile; #还原备份 SQL> create spfile from pfile='spfile_bak';
修改最大连接数:
SQL> show parameter processes; SQL> alter system set processes=2000 scope = spfile;
禁止回收站功能:类似于windows的回收站,根据自己需要选择是否关闭。
SQL> show parameter recyclebin; SQL> alter system set recyclebin=off scope=spfile;
关闭审计功能:用于监视用户所执行的数据库操作,审计记录可存在数据字典表,根据自己需要选择是否关闭。
SQL> show parameter audit; SQL> alter system set audit_trail=NONE scope=spfile;
查看各个内存参数设置:
SQL> show parameter sga; SQL> show parameter pga; SQL> show parameter memory;
————————————————
版权声明:本文为CSDN博主「小百菜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014644574/article/details/119325944