目录
LLL的数据库培训-9-第二部分—Oracle培训第1.4讲—Oracle 19C(19.3.0.0.0)图形化安装——linux centos 7(文件系统非ASM)
一、环境规划
1、环境搭建
业务系统: mes系统 主机名: qdmes224 ip地址: 192.168.20.224 OS: oracle linux 7.6 x86_64 db_name: mesorcl(数据库名) 数据库实例名: mesorcl 数据库版本: oracle 19c(19.3.0.0.0)
2、IP规划
#public ip 192.168.20.224 qdmes224
3、系统环境
物理机:16G,500G硬盘,双核CPU 虚拟机:16C,32G内存
本地硬盘:
系统存储:/ 80G 程序存储:/oracle 100G 数据存储:/oradata 500G 归档存储:/archivelog 500G 备份存储:/backup 1.5T
二、系统配置
1、硬盘分区,创建lvm等
pvcreate /dev/sdc /dev/sdd /dev/sde vgcreate vg_data /dev/sdc vgcreate vg_archive /dev/sde vgcreate vg_backup /dev/sdd lvcreate -l 100%FREE -n lv_data vg_data lvcreate -l 100%FREE -n lv_backup vg_backup lvcreate -l 100%FREE -n lv_archive vg_archive mkfs.xfs /dev/vg_backup/lv_backup mkfs.xfs /dev/vg_archive/lv_archive mkfs.xfs /dev/vg_data/lv_data echo "/dev/vg_data/lv_data /oradata xfs defaults 0 0" >> /etc/fstab echo "/dev/vg_backup/lv_backup /backup xfs defaults 0 0" >> /etc/fstab echo "/dev/vg_archive/lv_archive /archive xfs defaults 0 0" >> /etc/fstab echo "none /dev/shm tmpfs defaults,size=6144m 0 0" >> /etc/fstab
2、创建目录
cat /etc/fstab
mkdir /oracle
mkdir /oradata
mkdir /backup
mkdir /archive
3、创建用户和组
(1)使用oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm自动安装即可
[root@mes224 backup]# yum install oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
(2)可以使用传统方式手动创建用户和
/usr/sbin/groupadd -g 60001 oinstall /usr/sbin/groupadd -g 60002 dba /usr/sbin/groupadd -g 60003 oper useradd -u 61001 -g oinstall -G dba,oper oracle passwd oracle
4、创建目录,并授权
mkdir -p /oracle
mkdir -p /oracle/app/oracle/product/19.3.0/db_1
mkdir -p /oracle/app/oraInventory
chown -R oracle:oinstall /oracle
chown -R oracle:oinstall /oradata
chown -R oracle:oinstall /backup
chown -R oracle:oinstall /archive
chmod -R 775 /oracle
chmod -R 775 /oradata
chmod -R 775 /backup
chmod -R 775 /archive
5、挂载光盘并配置为yum源
mount /dev/cdrom /mnt
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]" >> /etc/yum.repos.d/itpux.repo
echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/itpux.repo
echo "baseurl=file:///mnt" >> /etc/yum.repos.d/itpux.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/itpux.repo
echo "enabled=1" >> /etc/yum.repos.d/itpux.repo
cat /etc/yum.repos.d/itpux.repo
6、From Public Yum or ULN,yum安装依赖
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 compat-gcc-34 yum -y install compat-gcc-34-c++ yum -y install compat-libcap1 yum -y install compat-libstdc++-33 yum -y install compat-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 ksh 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-0.97 yum -y install elfutils-libelf-devel yum -y install redhat-lsb-core
7、配置系统参数
(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
解释:用户oracle下
一个软件限制soft(到了设置的值后,会报警),一个硬件限制hard(到了设置的值后就不能再用了):
nproc: 操作系统级别对每个用户创建的进程数的限制。也就是进程数 nofile: 文件描述符,句柄,一个进程能打开的文件数 stack: 堆大小,存放变量的地方,比如指针。 memlock: 可以锁定的内存,比数据库内存大,但比物理内存略小即可。
(2) 修改资源限制2
linux 6
vi /etc/security/limits.d/90-nproc.conf * -nproc 16384
linux 7
vi /etc/security/limits.d/20-nproc.conf * - nproc 16384
echo "session required pam_limits.so" >> /etc/pam.d/login
cat /etc/pam.d/login
(3)修改内核参数
vi /etc/sysctl.conf 【linux 7建议使用/etc/sysctl.d/99-sysctl.conf ,99-sysctl.conf是一个软连接到sysctl.conf中】
#ORACLE SETTING fs.aio-max-nr = 1048576 ####可以拥有的异步IO请求数量,官方默认 fs.file-max = 6815744 ####允许文件的最大数目 kernel.sem = 250 32000 100 128 ####信号值,4个,官方默认的 net.ipv4.ip_local_port_range = 9000 65500 ####应用端访问过来打开的端口范围: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 ######redhat7 12C使用,针对bug,系统运行过程出现bug,0的话会继续运行,1的话就停止运行
kernel.shmmax = 5033164800 ####单个共享内存段的最大值,让数据库在一个共享段里面的可以容纳整个SGA;
##如果物理内存是8G,数据库最大的使用内存不要超过物理内存的80%(SGA占80%+PGA占20%)
##8G:SGA=8*80%*80%≈4.8G,PGA=8*80%*20%≈1.6g,其中kernel.shmmax即为4.8g的字节数值=4800*1024*1024=5033164800
kernel.shmall = 1228800 #####控制共享内存页数=kernel.shmmax/getconf PAGESIZE=5033164800/4096=1228800
##getconf PAGESIZE(系统获取值,默认为4096)
kernel.shmmni = 4096 #####共享内存段的最大数量,就是系统能最大启动多少个oracle实例,参数无需改
vm.nr_hugepages = 2500 #####生产环境Linux必配大内存页,否则性能很差,物理内存大于8G一定要配:
1)##物理内存8G时:(sga_max_size+0.5G)/2M=2650<memlock,这里的2m是Hugepagesize=2048k
##物理内存大于8G时:(sga_max_size+1G)/2M=2900<memlock
2)##sga_max_size/2M+100=2500(页)
配置好后,可以看cat /proc/meminfo中的大内存页是否可用了。
生效上述参数:sysctl -p
(4)关闭透明大页
--为何要关闭透明大页?
由于透明超大页面已知会导致意外的节点重新启动并导致RAC出现性能问题,因此Oracle强烈建议禁用透明超大页面。 另外,即使在单实例数据库环境中,透明超大页面也可能会导致问题,并出现意外的性能问题或延迟。 因此,Oracle建议在运行Oracle的所有数据库服务器上禁用透明超大页面
--查看是否关闭透明大页方法
cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
上述always是选项,所以是透明大页默认是开启状态,需要将确认选项改为关闭,即[never]状态
--关闭透明大页解释
grep Huge /proc/meminfo中的AnonHugePages值为0时,也为关闭,此值只做参考,最终以never状态为准
--临时生效(linux 7有效):6需要测试
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag
--永久生效:(linux 7 有效):6需要测试
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功能(新特性,对数据库有bug)---rhel 7
--为什么要关闭numa功能
比如4个cpu,每个cpu使用2G内存,共8G的服务器。 如果numa开启,1个cpu使用完2G内存,可能就不使用其他cpu的内存,而是使用交换页面swap,影响速度。 所以需要关闭此功能,下载numa控制工具:numactl
--安装numa控制软件
yum install numactl -y numactl --hardware
--关闭
vi /etc/default/grub numa=off [GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off"] grub2-mkconfig -o /etc/grub2.cfg 【linux7的grub在/etc/default/grub】
--查看
numastat
numactl --show
numactl --hardware
8、配置安全
(1)禁用SELINUX
vi /etc/selinux/config SELINUX=disabled [root@localhost ~]# setenforce 0(立即生效)
(2)关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
9、配置oracle环境变量
su - oracle vi ~/.bash_profile
PS1="[`whoami`@`hostname`:"'$PWD]$'
export PS1
export TMP=/tmp
export LANG=en_US.UTF-8
export TMPDIR=$TMP
export ORACLE_UNQNAME=wldb ####dataguard使用
export ORACLE_SID=wldb;
export ORACLE_BASE=/oracle/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1;
export ORACLE_TERM=xterm;
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.UTF8; ###如果是UTF8,就改为UTF8
export PATH=.:$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_BASE/product/19.3.0/db_1/bin:$ORACLE_HOME/bin;
THREADS_FLAG=native; export THREADS_FLAG
umask=022 #755的反码,此用户下所有创建的文件属性
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -u 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
10、安装步骤【非常重要!!!!】
19C在安装上做了重大改变,需要直接把安装包解压到$ORACLE_HOME,然后可以实现快速安装:
(1)进入目录:$ORACLE_HOME (2)cp 数据库安装包到$ORACLE_HOME,并解压,解压出的不是database目录,而是已安装的子目录 (3)oracle用户进入vnc (4)到$ORACLE_HOME,进行./runInstall安装: (5)安装过程如下: Configuration Option—————————————【Set Up Software Only】 Database Installation Option—————【Single instance database installation】 Database Edtion——————————————————【Enterprise Edition】 Installation Location————————————【Oracle Base: /oracle/app/oracle】 Create Inventory—————————————————【Inventory Directory:/oracle/app/oraInventory】 Operating System Groups——————————【默认-next】 Root Script execution————————————【默认—next】 Prerequisite Checks——————————————【根据警告进行排查】 Summary——————————————————————————【Install】 Install Product——————————————————【安装过程-执行脚本: /oracle/app/oraInventory/orainstRoot.sh /oracle/app/oracle/product/19.3.0/db_1/root.sh 】 Finish———————————————————————————【Close】
11、netca
一路next即可。
12、dbca安装过程
[oracle@qdmes224 db_1]$ dbca Database Operation—————————————————————【Create a database】 Creation Mode——————————————————————————【Advanced configuration】 Deployment Type————————————————————————【Database Type:Oracle Single Instance database(单机选) 选General Purpose or Transaction Processing 】 Database Identification————————————————【 Global database name:mesorcl SID:mesorcl 取消:Create as Container database 】 Storage Option————————————————————————【Use template file for database storage attributes或第二个选项:File System方式】 Fast Recovery Option——————————————————【默认先不用开启】 Network Configuration—————————————————【监听选择,默认即可】 Data Vault Option—————————————————————【默认】 Configuration Options—————————————————【 Memory:ASMM方式,根据内存配置要求分配 Sizing:默认即可 Character sets:Use Unicode(AL32UTF8),National character set:AL16UTF16,默认即可 Connection mode:默认专用模式 Sample schemas:默认 】 MManagement Option————————————————————【默认即可,可以开通5500】 User Credentials——————————————————————【配置密码:oracle】 Creation Option———————————————————————【默认配置:Create Datbase】 Summay————————————————————————————————【Finish】 Progress Page—————————————————————————【执行安装】 Finish————————————————————————————————【close】
关于几项注意事项:
a、自动内存管理(AMM):(即:memory_target设置后,自动分配SGA和PGA模式) 条件1: 不要开启大内存页; 条件2: 分配的内存不能超过/dev/shm的大小。默认情况,/dev/shm的大小是内存的一半(可以修改)。所以默认情况下,AMM管理必须设置小于1/2内存; b、ASMM: 可以使用自动SGA内存管理(ASMM,Auto shared memory management),自动PGA内存管理(APMM,Auto PGA memory management) d、sizing: 进程数直接设置2000,(PGA一个进程10m,2000个进程就是20G) e、字符集: 一般选择UTF8,如果开发端有特殊要求,可以根据开发要求设置(比如ZHS16GBK-GBK 16-bit simplified Chinese);国家字符集不需要设置,默认是AL16UTF-16 f、Connection Mode: 专用链接(使用这种,大型数据库的方式)和共享链接 g、数据库文件建议: 所有的数据库文件,初始化至少20G,不建议自动扩展表空间。
三、oracle 19C 基础维护与EM监控管理
1、oracle 11g R2基础维护与EM监控管理
(1)180天密码过期
select * from dba_profiles where profile ='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; alter profile default limit password_life_time unlimited;
(2)关闭审计
show parameter audit_trail; alter system set audit_trail=none scope=spfile;
(3)参数设置
sga、pga、processes、job_queue_processes(1000)、open_cursors(建议和process一致)等
(4)警告日志
show parameter dump;查看ORA-开头
(5)归档日志的设置
安装时不要开,导数据前不要开,导入后再开。
(6)EM管理控制台的使用
emctl status dbconsole emctl start dbconsole emctl stop dbconsole
(7)关闭所有的数据库服务器(库,监听,emctl),备份一次安装代码
cd /backup tar zcvf oracle.tar.gz /oracle