ORACLE 19c 安装 GRID+ASM+DB(单机环境)
到https://www.oracle.com/cn/database/technologies/oracle19c-linux-downloads.html里下载LINUX.X64_193000_db_home.zip和LINUX.X64_193000_grid_home.zip
需要提前准备:
LINUX.X64_193000_grid_home.zip;
LINUX.X64_193000_db_home.zip;
compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm;
电脑:100G磁盘空间,8G内存;
软件:VM虚拟机;
一、准备工作
1、修改主机名(个人看着比较顺眼):
cat>/etc/hostname<<EOF
TJY
EOF
2、修改hosts文件:
cat>>/etc/hosts<<EOF 192.168.2.130 TJY EOF
3、修改network网络文件:
cat>>/etc/sysconfig/network<<EOF
NETWORKING=yes
HOSTNAME=TJY
EOF
4、修改ifcfg-ens33网卡配置文件:
(固定IP,因为个人是通过SCP传输文件,在主机上写好了HOSTS,方便)
sed -i 's/BOOTPROTO="dhcp"/BOOTPROTO="static"/g' /etc/sysconfig/network-scripts/ifcfg-ens33
cat>>/etc/sysconfig/network-scripts/ifcfg-ens33<<EOF IPADDR="192.168.2.130" GATEWAY="192.168.2.1" NETMASK="255.255.255.0"
EOF
5、重启网络服务:
service network restart
6、配置本地yum源:
(在安装过程中需要一些包,包在镜像文件里有,因此把镜像的信息cp一份保留下来,到时需要安装的时候可以直接安装,不用多次挂载镜像)
(那么cp的信息保存到哪里呢?需要一个存放信息的地方,这个地方存放了很多数据信息,故此称这个地方为源,也叫仓库)
(0)挂载光盘(需要连接CD/DVD 映像文件)
mount /dev/cdrom /mnt
(1)创建yum源目录
mkdir -p /u01/soft/yum
(2)拷贝光盘信息到此目录下
nohup cp -R /mnt/* /u01/soft/yum &
可以用du -sh *查看当前存储情况,判断拷贝进度。
(3)配置相关文件:/etc/yum.repos.d/local.repo
(该文件主要用来指定yum源的位置)
cat>>/etc/yum.repos.d/local.repo<<EOF
[base] name=linux 7 baseurl=file:///u01/soft/yum gpgcheck=0 enable=1
EOF
(4)清除缓存
yum clean all
yum makecache
7、安装图形界面:
(没有工具,不会用ssh的,可以先安装图形界面,方便复制粘贴,后面数据库也是用图形化安装的)
(1)安装图形界面程序组
yum list (可列出所有可安装的包)
yum grouplist (列出程序组)
yum -y groupinstall "Server with GUI"
(2)开启图形界面
startx
8、安装补丁包
(1)检验补丁包:
rpm -q gcc-c++ bc binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make net-tools nfs-utils python python-configshell python-rtslib python-six targetcli smartmontools sysstat bc-1.06.95-13.el7.x86_64
(2)安装is not installed的补丁包:
yum -y install targetcli
yum -y install libstdc++-devel
yum -y install libXrender-devel
yum -y install nfs-utils
yum -y install libaio-devel
yum -y install ksh
yum -y install fontconfig-devel
yum -y install elfutils-libelf-devel
yum -y install compat-libcap1
yum -y install gcc-c++
二、数据库安装的准备工作
1、创建OS属主、用户、数据库安装位置:
(1)创建属主
groupadd -g 11001 oinstall groupadd -g 11002 dba groupadd -g 11003 oper groupadd -g 11004 backupdba groupadd -g 11005 dgdba groupadd -g 11006 kmdba groupadd -g 11007 asmdba groupadd -g 11008 asmoper groupadd -g 11009 asmadmin groupadd -g 11010 racdba
(2)创建用户
useradd -u 11011 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid #设置密码 passwd grid passwd oracle
(3)修改用户资源限制
(文件位置:/etc/security/limits.conf)
cat>>/etc/security/limits.conf<<EOF
grid soft nproc 4096 grid hard nproc 16384 grid soft nofile 2047 grid hard nofile 65536 grid soft stack 10240 grid hard stack 32768 oracle soft nproc 4096 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 grid soft memlock 1073741824 grid hard memlock 1073741824 oracle soft memlock 1073741824 oracle hard memlock 1073741824
EOF
(4)创建相关目录及授权
mkdir -p /u01/app/db/19.3
mkdir -p /u01/app/db/product/19.3/db_1 mkdir -p /u01/app/grid/crs mkdir -p /u01/app/grid/19.3 chown -R grid:oinstall /u01 chmod -R 775 /u01/app chown -R grid:oinstall /u01/app/grid chown -R oracle:oinstall /u01/app/db chmod -R 775 /u01/app/db chmod -R 775 /u01/app/grid
2、设置环境变量(env |grep ORA)
(1)grid用户环境变量的设置及生效
i.切换到grid用户:
su - grid
ii.编辑环境变量:(个人喜欢使用root用户,所以在root用户下也设置了)
cat>>~/.bash_profile<<EOF
ORACLE_SID=+ASM; export ORACLE_SID #ORACLE_TERM=xterm; export ORACLE_TERM ORACLE_BASE=/u01/app/grid/crs; export ORACLE_BASE ORACLE_HOME=/u01/app/grid/19.3; export ORACLE_HOME NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT PATH=.:\$PATH:\$HOME/bin:\$ORACLE_HOME/bin export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
iii.更新环境变量:
source ~/.bash_profile
(2)oracle用户环境变量的设置及生效
i.切换到oracle用户:
su - oracle
ii.编辑环境变更:
cat>>~/.bash_profile<<EOF
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_BASE=/u01/app/db; export ORACLE_BASE ORACLE_HOME=\$ORACLE_BASE/product/19.3/db_1; export ORACLE_HOME ORACLE_SID=TESTDB; export ORACLE_SID PATH=.:\$PATH:$HOME/bin:\$ORACLE_HOME/bin; export PATH export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then if [ \$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
#alias sqlplus='rlwrap sqlplus'
#alias rman='rlwrap rman'
#alias lsnrctl='rlwrap lsnrctl'
EOF
iii.更新环境变量:
source ~/.bash_profile
3、解压安装包
(要求grid用户在$ORACLE_HOME解压LINUX.X64_193000_grid_home.zip,oracle用户在$ORACLE_HOME解压LINUX.X64_193000_db_home.zip)
(1)从主机获取安装包及授权
(想办法把文件放到虚拟机中来)
scp d:\19c\LINUX* root@TJY:\u01\soft
scp d:\19d\compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm root@TJY:\u01\soft
(2)修改所属用户:
chown -R grid:oinstall /u01/soft/LINUX.X64_193000_grid_home.zip chown -R oracle:oinstall /u01/soft/LINUX.X64_193000_db_home.zip
(3)解压grid(可以用jobs命令查看是否完成,下面解压Oracle也一样)
su - grid
nohup cp /u01/soft/LINUX.X64_193000_grid_home.zip $ORACLE_HOME &
nohup unzip $ORACLE_HOME/LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME/ &
(4)补全包
(补全包需要在root用户下进行,这里的$ORACLE_HOME是grid的路径,个人设置了root与grid相同的环境变量,上面有提到)
logout rpm -ivh /u01/soft/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm rpm -ivh $ORACLE_HOME/cv/rpm/cvuqdisk-1.0.10-1.rpm
附:GRID安装:检查校验环境
su - grid cd $ORACLE_HOME ./runcluvfy.sh stage -pre crsinst -n tjy - verbose > /home/grid/pre.log
在另一终端 tail -20f /home/grid/pre.log
(5)解压ORACLE
su - oracle
nohup cp /u01/soft/LINUX.X64_193000_db_home.zip $ORACLE_HOME/ &
nohup unzip $ORACLE_HOME/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME &
4、创建ASM共享存储
(1)创建共享磁盘
i.关机(关机前看一下 下面的5=>(6)=>ii)
shutdown -h now
ii.添加三个共享硬盘并设置为独立永久(不会的上网搜一下)
iii.修改虚拟机配置文件(个人文件所在位置参考:F:\Virtual Machines\RedHat\RedHat.vmx)
打开.vmx文件添加以下内容
disk.locking = "FALSE"
disk.EnableUUID = "TRUE"
scsi1.sharedBus = "VIRTUAL"
diskLib.dataCacheMaxSize = "0"
scsi0:1.deviceType = "disk"
scsi0:2.deviceType = "disk"
scsi0:3.deviceType = "disk"
(2)设置自动挂载
(把共享磁盘挂载到ASM存储)
i.打开虚拟机
ii.检查上面添加的三个磁盘:
/usr/lib/udev/scsi_id -g -u -d /dev/sdb
/usr/lib/udev/scsi_id -g -u -d /dev/sdc
/usr/lib/udev/scsi_id -g -u -d /dev/sdd
iii.自动挂载ASM存储设备:
for i in b c d ;
do
echo "KERNEL==\"sd$i\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd\$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done
iv.重启udev以令ASM存储设备生效
systemctl restart systemd-udev-trigger.service
udevadm control --reload-rules
udevadm trigger
v.检查asm存储设备:
ls -l /dev/asm*
5、其他
(1)添加系统参数文件配置(root)
cat>>/etc/sysctl.conf<<EOF
vm.swappiness = 1 vm.dirty_background_ratio = 3 vm.dirty_ratio = 80 vm.dirty_expire_centisecs = 500 vm.dirty_writeback_centisecs = 100 kernel.shmmni = 4096 kernel.shmall = 1073741824 kernel.shmmax = 4398046511104 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 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.panic_on_oops = 1 # net.ipv4.conf.ens33.rp_filter = 2 # net.ipv4.conf.ens34.rp_filter = 2
EOF
sysctl -p /etc/sysctl.conf
(2)文件限制(root)
cat>>/etc/security/limits.d/99-grid-oracle-limits.conf<<EOF
oracle soft nproc 16384 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768 grid soft nproc 16384 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 grid soft stack 10240 grid hard stack 32768
EOF
(3)停止avahi-daemon服务
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service
(4)关闭chrony服务
systemctl stop chronyd
systemctl disable chronyd
mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl status chronyd
(5)修改Selinux
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
(6)检测/dev/shm容量
据说起码要2G以上
i.检查
df -h
查看tmpfs挂载在/dev/shm那行的大小,通常为内存大小的一半少一点。
ii.修改
个人内存大小为6G因此直接挂6G(该文件重启生效)
cat>>/etc/fstab<<EOF tmpfs /dev/shm tmpfs defaults,size=6G 0 0 EOF
三、数据库服务器的安装
允许其他用户打图形界面,需要在root用户执行
xhost +
1、grid安装
(1)在grid用户启动图形界面安装程序
su - grid
export DISPLAY=:0.0 sh $ORACLE_HOME/gridSetup.sh
(2)安装oracle grid 19c:
i.Configuration Option:
Configure Oracle Grid Infrastructure for a Standalone Server (Oracle Restart)
ii.Create ASM Disk Group:
Redundancy选择External; Select Disks选两个
iii.ASM Password:
看自己,个人选择使用相同口令
iv.Management Options:
不需要,Next
v.Operating System Groups
Next
vi.Installation Location:
Next
vii.Create Inventory
Next
viii.Root script execution:
Next
ix.Prerequisite Checks
勾选Ignore All
Next
x.Summary
Install
xi.Install Product
进度11%时,会弹窗授权的指示。
根据指示执行脚本。
xii.Finish
Close
(3)检查
crsctl stat res -t
ps -ef | grep asm
sqlplus / as sysdba show parameter asm select name,total_mb,free_mb from v$asm_diskgroup; select inst_id,instance_name,status from gv$instance; select name,total_mb,free_mb,path from v$asm_disk;
2、ORACLE安装
(1)在oracle用户启动图形界面安装程序
logout
su - oracle
env | grep SID --------查看预设的SID,安装时SID要与此名相同 export DISPLAY=:0.0 sh $ORACLE_HOME/runInstaller
(2)安装Oracle Database 19c:
i.Configuraion Option:
Create and configure a instance database.
This option creates a starter database.
ii.System Class:
Server class
iii.Database Edition:
Enterprise Edition
iv.Installation Location:
Next
v.Configuration Type:
General Purpose / Transaction Processing
vi.Database Identifiers:
Oracle system identfier (SID) 与env |grep SID相同。
create as container database 表示要创建一个pdb。(个人勾选)
vii.Configuration Options:
Character sets: Choose from the following list of character sets 选择 ZHS16GBK - GBK 16-bit Simplified Chinese
viii.Database Storage:
Oracle Automatic Storage Management
ix.Management Options:
Next
x.Recovery Options
Next
xi.ASM Disk Group:
Next
xii.Schema Passwords:
看自己,个人选择使用相同口令
xiii.Operationg System Groups:
dba
oper
backupdba
dgdba
kmdba
racdba
xiv.Root script execution:
Next
xv.Prerequisite Checks:
勾选Ignore All
Next
xvi.Summary:
Install
xvii.Install Product
12%时会要求在root下执行/u01/app/db/product/19.3/db_1/root.sh
xviii.Finsh
close
(3)检查
ps -ef|grep ora
sqlplus / as sysdba show parameter name
附:添加ASM共享磁盘组
su - grid export DISPLAY=:0.0 asmca
ASM-->Disk Groups-->Create-->跟上面一样了<Redundancy选择External(None)>-->ok
附:打开监听图形界面
su - oracle export DISPLAY=:0.0 netca
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~