RHEL7+Oracle11g笔记

业务量:数据库同时访问量在300人左右

RHEL Linux7 + Oracle11.2.0.4数据库
空间要求:200G
数据库名:fghsdb
数据库块大小:8192
数据库字符集:ZHS16GBK

1.生产环境Oracle11gR2 for Linux项目的规划

vmware 12+ 15
物理机CPU I3/I5/I7/E,内存,建议最低16G,有条件32G,硬盘500G

虚拟机
CPU:双核+
内存:8G (2g-8g)



核算系统
os:rhel linux 7.6 x64
ip: 192.168.1.52
host name: ippuxhsdb52
db name:fghsdb
数据量:200G
/ 80G  (50〜100G)
/oracle 50G
/oradata 200G
/backup 400G
/archive 200G  保留一周的归档

swap
/—根目录,一般安装标准磁盘
数据库可以ASM和LVM


RHEL 7.6 install

带GUI的服务器、硬件监控工具、JAVA平台、KDE、大系统性能、主框架访问、性能工具、兼容性程序库、开发工具、系统管理工具、选择基础设施服务器-->调试工具

1) hosts文件配置

vi /etc/hosts

192.168.1.52 itpuxhsdb

or

echo "192.168.1.52 itpuxhsdb" >> /etc/hosts

cat /etc/hosts




2)配置语言环境

echo "export LANG=en_US" >> ~/.bash_profile

3)准备文件系统

fdisk -l |grep "dev/sd"
pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde

vgcreate oravg /dev/sdb
vgcreate datavg /dev/sdc
vgcreate backvg /dev/sdd
vgcreate archvg /dev/sde

lvcreate -n oralv -L 50000M oravg
lvcreate -n datalv -L 200000M datavg
lvcreate -n backuplv -L 400000M backvg
lvcreate -n archivle -L 200000M archvg

pvs
vgs
lvs

mkfs.xfs /dev/backvg/backuplv
mkfs.xfs /dev/backvg/archivle
mkfs.xfs /dev/datavg/datalv
mkfs.xfs /dev/oravg/oralv


vi /etc/fstab
/dev/oravg/oralv      /oracle     xfs   defaults   0 0
/dev/datavg/datalv     /oradata    xfs   defaults   0 0
/dev/backvg/backuplv   /backup    xfs   defaults   0 0
/dev/backvg/archivelv          /archive    xfs   defaults   0 0

额外在内存使用超过物理内存的1/2的前题下,加大本机的共享内存空间。
none     /dev/shm   tmpfs   default,size=6144m  0 0

mount -o remount /dev/shm


mkdir /oracle
mkdir /oradata
mkdir /backup
mkdir /archive

mount /oracle
mount /oradata
mount /backup
mount /archive

4.创建用户、组

/usr/sbin/groupadd -g 60001 oinstall
/usr/sbin/groupadd -g 60002 dba
/usr/sbin/groupadd -g 60003 oper

useradd -u 61001 -g install -G dba,oper oracle
passwd oracle

mkdir -p /oracle
mkdir -p /oracle/app/oracle/product/11.2.0
mkdir -p /oracle/app/oraInventory
chown -R oracle:oinstall /oracle
chown -R oracle:dba /oradata
chown -R oracle:dba /backup

chmod -R 775 /oracle
chmod -R 775 /oradata
chmod -R 775 /backup
chmod -R 775 /archive

mount /dev/cdrom /mnt

5.配置yum软件安装环境及软件包安装

mount /dev/cdrom /mnt
cd /etc/yum.repos.d
mkdir bk
mv public-*.repo bk/
or 
mv *.repo bk/
vi itpux.repo
[EL]
name = Linux 7.x DVD
name = Linux 7.x DVD
baseurl = file:///mnt
gpgcheck=0
enable=1
:wq!

cat /etc/yum.repos.d/itpux.repo

yum list |more


#From Public Yum or ULN

yum -y install autoconf
yum -y install automake
yum -y install binutils
yum -y install binutils-devel
yum -y install bison
yum -y install cpp
yum -y install dos2unix
yum -y install ftp
yum -y install gcc
yum -y install gcc-c++
yum -y install lrzsz
yum -y install python-devel
yum -y install compat-db*
yum -y install combat-gcc-34
yum -y install combat-gcc-34-c++
yum -y install combat-libcap1
yum -y install combat-libstdc++-33
yum -y install combat-libstdc++-33.i686
yum -y install glibc-*
yum -y install glibc-*.i686
yum -y install libXpm-*.i686
yum -y install libXp.so.6
yum -y install libXt.so.6
yum -y install libXtst.so.6
yum -y install libXext
yum -y install libXext.i686
yum -y install libXtst
yum -y install libXtst.i686
yum -y install libX11
yum -y install libX11.i686
yum -y install libXau
yum -y install libXau.i686
yum -y install libxcb
yum -y install libxcb.i686
yum -y install libXi
yum -y install libXi.i686
yum -y install libXtst
yum -y install libstdc++-docs
yum -y install libgcc_s.so.1
yum -y install libstdc++-.i686
yum -y install libstdc++-devel
yum -y install libstdc++-devel.i686
yum -y install libaio
yum -y install libaio.i686
yum -y install libaio-devel
yum -y install libaio-devel.i686
yum -y install libXp
yum -y install libaio-devel
yum -y install numactl
yum -y install numactl-devel
yum -y install make -y
yum -y install sysstat -y
yum -y install unixODBC
yum -y install unixODBC-devel
yum -y install elfutils-libelf-devel-O.97
yum -y install elfutils-libelf-devel
yum -y install redhat-lsb-core
yum -y install unzip
yum -y install *vnc*

3.6修改系统相关参数
1)修改资源限制参数
vi /etc/security/limits.conf

#ORACLE SETTING
oracle               soft    nproc   16384
oracle               hard    nproc   16384
oracle               soft    nofile  16384
oracle               hard    nofile  65536
oracle               soft   stack    10240
oracle               hard   stack    32768
oracle               hard    memlock 8000000
oracle               soft    memlock  8000000
—memlock 单位KB,略低于物理内存。

2)控制给用户分配的资源

vi /etc/security/limits.d/20-nproc.conf

* soft nproc 16384

echo "session    required     pam_limits.so" >> /etc/pam.d/login

vi /etc/security/limits.d/90-nproc.conf
* - proc 16384  //每个用户的进程数限制


cat /etc/pam.d/login

vi /etc/sysctl.conf

#ORACLE SETTING
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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
kernel.panic_on_oops = 1
kernel.shmmax = 5153960756
kernel.shmall = 1228800
kernel.shmmni = 4096
vm.nr_hugepages = 2500
sysctl -p

--kernel.shmmax = 5033164800 单个共享内存段最大值,让数据库在一个共享段里面的可以容纳整个SGA。
8g:数据库最大使用内存,不要超过物理内存的80%(sga*80%+pga*20%)
8g:sga<4.8g, pga<1.6g

4.8*1024*1024*1024 = 5153960756
4800*1024*1024 = 5033164800

--kernel.shmall = 1228800 控制共享内存页数= shmmax/PAGESIZE=5033164800/4096=1228800
getconf PAGESIZE

--kernel.shmmni = 4096 共享内存段的最大数量
vm.nr_hugepages = 2900  --生产环境LINUX必配,否则性能差,物理内存大于8G一定要配。

(sga_max_size+1g)/2M < memlock
1.(4.8g+1g)/2M=5800/2=2900
2. sga_max_size/2M+100M = 4800/2+100M=2400+100 = 2500M  比较安全

cat /proc/meminfo

--4)关闭透明页(rhel 6.x)//rhel7没有这个bug

cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never

cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

vi /etc/rc.d/rc.local

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

chmod +x /etc/rc.d/rc.local

--5)关闭numa功能
yum install numactl -y

numastat
numactl --show
numactl --hardware

vi /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off"
grub2-mkconfig -o /etc/grub2.cfg

--3.7配置安全

--1)禁用SELINUX

i /etc/selinux/config

SELINUX=disabled
setenforce 0

--2)关防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service

重启os

--3.8配置oracle环境变量

su -oracle
vi ~/.bash_profile


PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
export ORACLE_UNQNAME=fghsdb
ORACLE_SID=fghsdb; export ORACLE_SID
ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/11.2.0/db_1/bin:$ORACLE_HOME/bin; export PATH
THREADS_FLAG=native; export THREADS_FLAG
umask=022
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
       ulimit -u 16384
       ulimit -n 65536
    else
       ulimit -u 16384 -n 65536
    fi
fi

su - oracle
env |grep ORACLE


4.RHEL Linux平台Oracle软件的下载


5.Oracle11gR2 for Linux数据库软件安装


6.Oracle11gR2 for Linux监听程序的配置


su - oracle


cd /backup

ls

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

vncserver

password
Verify:
y

ps -ef|grep vnc

reboot

tigervnc

cd /backup
ls
cd database/
ls
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

rpm -e ksh-20120801-139.el7.x86_64
rpm -ivh --force --nodeps pdksh-5.2.14-30.x86_64.rpm
rmp -ivh /backup/compat-libstdc-33-3.2.3-72-e17-x86_64.rpm

su - oracle
cd $ORACLE_HOME
cd sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak
vi ins_emagent.mk
/NMECTL

  $(MK_EMAGENT_NMECTL) -lnnz11
:wq!

su - oracle

netca

lsnrctl status
lsnrctl start

su - root
netstat -an|grep 1521

以下为数据库安装

Enable automatic maintenance tasks

Use the Administrative Password for All Accounts

Use Common Location for All Database Files
  Database Files Location:/oradata

Specify Fast Recovery Area 闪回
Enable Archiving 归档
上面两种都不开

Enterprise Manager Repository [SYSAUX] 必须打钩

sga<=物理内存*80%*80%
pga<=物理内存*80%*20%

SiZing块大小 问开发 8192
Processes 进程数2000

Character Sets字符集

Choose from the list of character sets
ZhS16GBK GBK 16-bit Simplified Chinese

Dedicated Server mode //每人一个进程
Shared Server Mode   //2000个人一个进程

一般选每人一个进程

Storage
Controlfile  Options  Maximum Datafiles: 8192

Tablespaces
SYSAUX
Size:>File Size:20480 M Bytes
关闭自动扩展

SYSTEM
Size:>File Size:20480 M Bytes
关闭自动扩展

TEMP
20G
UNDOTBS1  
20G
USERS
200M

Redo Log Groups
生产环境5组
每组200M

Create Database  
Save as a Database Template

Generate Database Creation Scripts
上述三个打钩


su - oracle
lsnrctl status

sqlplus "/as sysdba"

sqlplus /nolog

SQL> conn /as sysdba;

or

lsnrctl status
Listener Parameter File:  /Oracle/app/oracle/product/11.2.0/db_1/network/admin/

cd /Oracle/app/oracle/product/11.2.0/db_1/network/admin/
ls
cat tnsnames.ora

tnsping fghsdb

sqlplus /nolog
conn sys/oracle@fghsdb as sysdba;
conn system/oracle/fghsdb;

select open_mode from v$database;

select instance_name,status from v$instance;
select name from v$datafile;

show parameter sga;
show parameter pga;


su - oracle


cd /backup

ls

unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

vncserver

password
Verify:
y

ps -ef|grep vnc

reboot

tigervnc

cd /backup
ls
cd database/
ls
./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

rpm -e ksh-20120801-139.el7.x86_64
rpm -ivh --force --nodeps pdksh-5.2.14-30.x86_64.rpm
rmp -ivh /backup/compat-libstdc-33-3.2.3-72-e17-x86_64.rpm

su - oracle
cd $ORACLE_HOME
cd sysman/lib
cp ins_emagent.mk ins_emagent.mk.bak
vi ins_emagent.mk
/NMECTL

  $(MK_EMAGENT_NMECTL) -lnnz11
:wq!

su - oracle

netca

lsnrctl status
lsnrctl start

su - root
netstat -an|grep 1521



1)下载补丁及补丁opatch工具
2)上传补丁相关文件到服务器解压
3)停止所有的数据库服务
4)生产环境有已数据的,备份数据库的安装代码,一定要RMAN物理备份数据库。
5)安装opatch工具并打补丁
6)检查补丁情况
7)启动数据库服务
8)测试应用

mv DATABASE\ PATCH\ SET\ UPDATE\ 11.2.0.4.161018/ psu
cd psu
unzip p24006111_112040_Linux-x86-64.zip
unzip p6880880_112000_Linux-x86-64.zip

su - oracle
lsnrctl stop

emctl stop dbconsole

sqlplus "/as sysdba"

shutdown immediate;

ps -ef|grep oracle


ps -ef|grep ora_

cd $ORACLE_HOME/

ls
cd OPatch
./opatch version
cd ..
mv OPatch OPatch_old

cp -r /backup/psu/OPatch .

cd OPatch
./opatch version

vi ~/.bash_profile
/oracle/app/oracle/product/11.2.0/db_1/OPatch
:wq!
source ~/.bash_profile

cd /backup/
cd psu
ls
cd 24006111/
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
opatch apply

y
y
y
Oracle Home= '/oracle/app/oracle/product/11.2.0/db_1'
y

有告警没关系,没错误就好。

./opatch version


opatch lsinventory

cd $ORACLE_HOME/rdbms/admin
sqlplus "/as sysdba"
startup
粘贴一脚本运行
select action_time,action,comments from registry$history;

col COMMENTS format a50
/

最后编译一下对象。//SQL>

shutdown immediate;

lsnrctl start
cmctl start dbconsole  如果没用,不要开



--9、Oracle11gR2 for Linux数据库启动停止

主机重启后,需要手工启动数据库
lsnrctl start
sqlplus "/as sysdba"
startup;

sqlplus "/as sysdba"
shutdown immediate;

lsnrctl stop

reboot


10、Oracle11gR2基础维护与EM监控管理

--1)180天密码过期
select * from dba_profiles where profile='DEFAULT';
alter profile default limit PASSWORD_LIFE_TIME unlimited;

select * from dba_profiles where profile='DEFAULT';

--2)关闭审计

show parameter audit;
alter system set audit_trail=none scope=spfile;
改完重启才生效


--3)参数

show parameter sga;
show parameter pga;
show parameter proc   //job 1000 processes 2000

show parameter open
alter system set open_cursors=2000 scope=spfile;



--4)警告日志
show parameter dump
user_dump_list                                /oracle/app/oracle/diag/rdbms/fghsdb/fghsdb/trace
cd /oracle/app/oracle/diag/rdbms/fghsdb/fghsdb/trace
ls
alert_fghsdb.log
more alert_fghsdb.log
/ORA-   //一般有问题都是ORA开头的。


--5)EM管理控制台的使用





--6)归档日志的设置

cd /oradata
ls
fghsdb

sqlplus "/as sysdba"
archive log list;

show parameter recovery

alter system set db_recovery_file_dest_size=100g;
alter system set db_recovery_file_dest='/archive';

show parameter log

shutdown immediate;
startup mount;

alter database archivelog;

archive log list;

alter database open;

alter system switch logfile;

cd /oracle/app/oracle/product/11.2.0/db_1/rdbms/admin/archive/

ls
FGHSDB
cd FGHSDB
ls
archivelog

cd archivelog/
ls
2019_02_28

shutdown immediate;

startup mount;
alter database noarchivelog;

alter database open;

archive log list;




--7)关闭所有的数据库服务,备份一次安装代码
su - root
emctl status dbconsole
lsnrctl stop
emctl stop dbconsole
cd /backup
tar zcvf oracle.tar.gz /oracle

 

posted @ 2019-04-11 11:16  myway_liang  阅读(1617)  评论(0编辑  收藏  举报