CentOS7 安装ORACLE11G

CentOS7 安装ORACLE11G

1.配置本地yum源

有可能生产环境有可能不可以联外网

# 挂载光盘
mount /dev/cdrom /media

# 挂载ISO文件
mout -t iso9660 -o loop 文件路径+IOS文件名 挂载目标文件 如:
mout -t iso9660 -o loop /otp/soft/CentOS-7.6-x86_64-DVD-1810.ios /media

# 卸载光盘
umount /dev/cdrom

# 配置yum源文件
#先备份其它的REPO文件到BAK
mkdir -p /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
vim /etc/yum.repos.d/cdrom.repo  #必须以.repo结尾,插入以下内容
[cdrom]
name=oracle_install
baseurl=file:///media
enable=1
gpgcheck=0

enable=1 #为1,表示启用yum源; 0为禁用
gpgcheck=0 #为1,使用公钥检验rpm包的正确性;0为不校验

yum clean all  #清空yum缓存
yum makecache  #缓存


2.配置系统参数

#设置系统开机网络自动开启
cd /ect/sysconfig/network-scripts/
vi ifcfg-ens33
onboot =yes #开机启用

#设置静态IP
IPADDR=192.168.0.162   
PREFIX=24/NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=114.114.114.114

systemctl restart network  #重启网卡

#关闭selinux  修改后需要重启系统
vi /etc/selinux/config
SELINUX=disabled

#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
iptables -L
#重启后iptables依然存在策略
systemctl stop libvirtd
systemctl disable libvirtd
iptables -L

#开启防火墙
firewall-cmd --zone=public --add-port=1521/tcp --permanent   # 开端口
firewall-cmd --list-port	#查看开放端口
firewall-cmd --reload	#重新加载

3.关闭透明大页,启用标准大页

#关闭透明大页

#查看内存状态
cat /proc/meminfo 
#查看透明大页状态 “always madvise [never]”  #never表示已关闭
cat /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never"
 #执行下列命令  注意GRUB中GRUB_CMDLINE_LINUX 的值设置出错系统将无法启动
grub2-mkconfig -o /boot/grub2/grub.cfg
# 或	          #如果上面一行命令执行没有反应,查看df -h中是否有EFI路径
grub2-mkconfig -o /boot/EFI/redhat/grub.cfg

#配置标准大页

#查看内存状态
cat /proc/meminfo
vi /etc/security/limits.conf
* soft memlock unlimited
* hard memlock unlimited

# 查看 cat /etc/sysctl.conf 发现CentOS7 已把文件移到了 /etc/sysctl.d/目录下
touch 97-oracledatabase-sysctl.conf
vi 97-oracledatabase-sysctl.conf
vm.nr_hugepages = 2048			#应值是通过计算出来的 这里写2048 代表分配4G实际物理内存2048*2048
sysctl --system		#应用
free	 #查看内存状态
#注意vm.nr_hugepages值不能给太大,不然无法进入图形界面。

#对oracle用户设置资源限制,提高软件运行性能

vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 3145728
oracle hard stack 3145728


4.修改内核参数

# 查看 cat /etc/sysctl.conf 发现CentOS7 已把文件移到了 /etc/sysctl.d/目录下
vi 97-oracledatabase-sysctl.conf

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152	    #总共多下页  shmmax/shmmni	
kernel.shmmax = 8589934592  #8G物理内存  8*1024*1024*1024
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

sysctl -p  #查看配置是否正确

5.创建用户和组

groupadd oinstall
groupadd dba
useradd  -g oinstall -G dba oracle
passwd oracle

6.创建目录

mkdir -p /u01/app/oracle/product/11.2.0.4/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

7.设置环境变量

su - oracle
vi .bash_profile
export PATH
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export PATH=$PATH:$ORACLE_HOME/bin


8.配置vnc远程安装ORACLE

yum install tigervnc-server
vncserver :1	    #开启VNC服务
vncserver -kill :1  #关闭VNC服务
ps -ef|grep vnc		#查看VNC进程
netstat -tunlp|grep 5901  #查看5901是否监听状态
# 设置开机启动VNC
cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service

ExecStart=/usr/bin/vncserver_wrapper <user> %i      #把<USER>改成需要自动

systemctl daemon-reload
systemctl enable vncserver@:1.servic



​ #注意如果没有安装CentOS7 GUI 则需要执行下面语句

#在ORACLE用户下
export LANG=en_US    #转换英文语言
export DISPLAY=192.168.0.101   #输入自己本机的IP 用于XManger调用图形界面

9.启动ORACLE安装界面

#ORACLE安装文件上传到CentOS

# 把安装文件上传到/opt/soft目录
mkdir -p /opt/soft
chmod -R 777 soft/
# 切换ORACLE账号解压缩
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

# 先检查是否安装有JAVA,如果有安装检查路径是否正确
rpm -qa|grep java
# 查看yum库中的java安装包
yum -y list java*
# 安装需要的jdk版本的所有java程序:
yum -y install java-1.8.0-openjdk*

cd /usr/lib/jvm/

# 执行下列语句调用ORACLE安装图形界面
./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0
./runInstaller -jreLoc /data/java/jdk1.8.0_261/jre

# 一定要安装compat-libstdc++-33-3.2.3-69 这个版本才能通过
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm --nodeps --force
rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm --nodeps --force

# 安装到80%几的时候会报一个 “agent nmhs”的错误 
su oracle
cd /u01/app/oracle/product/11.2.0.4/db_1/sysman/lib/
vi ins_emagent.mk
$(MK_EMAGENT_NMECTL)
替换为
$(MK_EMAGENT_NMECTL) -lnnz11

# rpm 强制安装
rpm -ivh *********.rpm  --nodeps --force

# 安装成执行下面两个脚本
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0.4/db_1/root.sh
# 重启系统

10.配置ORACE数据库

#配置监听  使用ORACLE用户登录
which netca  #查看NETCA在哪个目录下
netca	#进入配置监听界面

lsnrctl status 	         #查看监听   注意 : 最后不写监听名,系统默认LISTENER
lsnrctl start    		#启动监听  重启监听一般需要50几秒时间
lsnrctl stop             #停止监听 

alter system register;   #注册监听  进入数据库快速注册监听

#创建数据库
which dbca     #查看dbca在哪个目录下
dbca		  #进入数据库配置界面
# 创建数据库时需要注意 如果开启标准大页,在MEMORY配置时,选择 下面一组选项(CUSTOM)



11.oracle11G开机自动启动

# Centos7 设置oracle11G开机自动启动
vim /etc/oratab
把orcl:/data/oracle/product/11.2.0/db_1:N
修改成orcl:/data/oracle/product/11.2.0/db_1:Y

# 切换root账号 ,在rc.local中输入ORACLE实际路径
vim /etc/rc.d/rc.local
su - oracle -lc "/u01/app/oracle/product/11.2.0.4/db_1/bin/lsnrctl start"
su - oracle -lc "/u01/app/oracle/product/11.2.0.4/db_1/bin/dbstart"
# 添加执行权限
chmod +x /etc/rc.d/rc.local

12.数据库安装完后一些重要设置

# 1.密码180天过期问题和10次登录错误账号锁定问题
alter profile default limit password_life_time unlimited;
alter profile default limit failed_login_attempts unlimited;
						  
select * from dba_profiles  # 口令和资源限制的配置视图

# 2.取消段延迟特性  (EXP导不出空表问题)
alter system set deferred_segment_creation=false;



13.ORACLE常用操作

# em操作
emctl status dbconsole
emctl stop   dbconsole
emctl start  dbconsole

https://192.168.17.140:1158/em

# 实例的启动关闭
sqlplus / as sysdba   #该命令在服务器登录数据库不需要验证账号密码
startup			   #启动 
shutdown immediate  #关闭
SELECT * FROM V$INSTANCE;	#查看实例是否启动

14. 数据库备份

# 如果出现这个问题
# The authenticity of host '192.168.0.65 (192.168.0.65)' can't be established.
# 修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题
# 最后面添加:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

# 生成公钥
ssh-keygen -t rsa
# 将公钥传到远程主机上
ssh-copy-id root@192.168.0.65

# SH脚本参照192.168.0.66下 SCOTT.SH

# 编写定时器
crontab -e			#编辑某个用户的crontab文件内容,如不指定用户则表示当前用户;
0 23 * * * sh /home/oracle/scott.sh			#每天23点整执行SCOTT.SH

crontab -l			#显示某个用户的crontab文件内容,如不指定用户则表示当前用户;
crontab -r           #从/var/spool/cron目录中删除某个用户的crontab文件

# 查看 crontab 命令 
cat /etc/crontab 

15. Centos环境python3 安装cx_oracle及oracleclientbase

1 python3安装cx_Oracle pip源.使用国内源真快
	pip install -i https://pypi.tuna.tsinghua.edu.cn/simple cx_Oracle
	
2 下载oracleclientbase (oracle测试环境版本为11.2)

下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html :		下载 Instant Client Package(ZIP)
安装:Instantclient-basic-linux_x64-11.2.0.4.0.zip  ,直接在/opt/app/目录下解压。

sh -c "echo /opt/app/instantclient_11_2 > \
        /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig

# 如果有中文,需要在调用数据库的PY文件头部加上以下语句:

# -*- coding: utf-8 -*- 

import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值