暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle Linux 8.10 图形化安装 Oracle Database 21c

原创 Forest 2024-10-22
206

官方文档

https://docs.oracle.com/en/database/oracle/oracle-database/21/ladbi/index.html
复制

主机规划

主机名
IP地址
磁盘空间
内存
操作系统版本
数据库版本
forest.oracle.com
192.168.255.221
500G
64G
Oracle Linux 8.10
Oracle 21c

查看操作系统

[root@forest ~]# cat /etc/os-release 
NAME="Oracle Linux Server"
VERSION="8.10"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.10"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.10"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:10:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://github.com/oracle/oracle-linux"
ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.10
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.10
复制

查看磁盘分区

[root@forest ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                 11:0    1 13.2G  0 rom  
sr1                 11:1    1 67.6M  0 rom  
vda                251:0    0  500G  0 disk 
├─vda1             251:1    0    1G  0 part /boot
└─vda2             251:2    0  499G  0 part 
  ├─ol_forest-root 252:0    0  100G  0 lvm  /
  ├─ol_forest-swap 252:1    0   16G  0 lvm  [SWAP]
  ├─ol_forest-tmp  252:2    0    4G  0 lvm  /tmp
  └─ol_forest-u01  252:3    0  379G  0 lvm  /u01
  
[root@forest ~]# df -Th
Filesystem                 Type      Size  Used Avail Use% Mounted on
devtmpfs                   devtmpfs   32G     0   32G   0% /dev
tmpfs                      tmpfs      32G     0   32G   0% /dev/shm
tmpfs                      tmpfs      32G  8.6M   32G   1% /run
tmpfs                      tmpfs      32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/ol_forest-root xfs       100G  2.9G   98G   3% /
/dev/mapper/ol_forest-tmp  xfs       4.0G   61M  4.0G   2% /tmp
/dev/mapper/ol_forest-u01  xfs       379G  2.7G  377G   1% /u01
/dev/vda1                  xfs      1014M  263M  752M  26% /boot
tmpfs                      tmpfs     6.3G     0  6.3G   0% /run/user/0
复制

关闭防火墙并禁止开机自启动

[root@forest ~]# systemctl stop firewalld
[root@forest ~]# systemctl disable firewalld
复制

禁用selinux

临时生效
[root@forest ~]# setenforce 0
修改配置文件重启后永久生效
[root@forest ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
复制

修改hosts配置文件

[root@forest ~]# cat <<-EOF >>/etc/hosts 
> 192.168.255.221 forest forest.oracle.com
> EOF
测试
[root@forest ~]# ping forest -c 2
[root@forest ~]# ping forest.oracle.com -c 2
复制

创建用户和组

1、创建组
[root@forest ~]# /usr/sbin/groupadd -g 54321 oinstall
[root@forest ~]# /usr/sbin/groupadd -g 54322 dba
[root@forest ~]# /usr/sbin/groupadd -g 54323 oper
[root@forest ~]# /usr/sbin/groupadd -g 54324 backupdba
[root@forest ~]# /usr/sbin/groupadd -g 54325 dgdba
[root@forest ~]# /usr/sbin/groupadd -g 54326 kmdba
[root@forest ~]# /usr/sbin/groupadd -g 54330 racdba
2、创建oracle用户,主组oinstall,附加组dba,oper,backupdba,dgdba,kmdba,racdba
[root@forest ~]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
3、设置oracle密码
[root@forest ~]# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
[root@forest ~]# echo "oracle" | passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
[root@forest ~]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)
复制

安装yum依赖包

参考官方文档,安装yum依赖包
[root@forest ~]# yum install bc binutils compat-openssl10 elfutils-libelf glibc glibc-devel ksh libaio libXrender libX11 libXau libXi libXtst libgcc libnsl libstdc++ libxcb libibverbs make policycoreutils policycoreutils-python-utils smartmontools sysstat
创建目录并修改权限
复制

创建目录

[root@forest ~]# mkdir -p /u01/app/oracle
[root@forest ~]# mkdir -p /u01/app/oraInventory
[root@forest ~]# chown -R oracle:oinstall /u01/app/oracle
[root@forest ~]# chown -R oracle:oinstall /u01/app/oraInventory
[root@forest ~]# chmod -R 775 /u01/app
复制

调整系统内核参数

#kernel.shmmax 表示单个共享内存段的最大字节
#kernel.shmall 表示可以在系统范围内使用的共享内存总量(页为单位)
#kernel.shmmni 用于设置系统范围内共享内存段的最大数量
#kernel.shmmax=kernel.shmall*kernel.shmmni
#fs.aio-max-nr 表示同时可以拥有的异步IO请求数量
#fs.file-max 表示系统级别能够打开的文件句柄的数量
#net.ipv4.ip_local_port_range 表示端口范围
#net.core.rmem_default 表示接收套接字缓冲区大小默认值
#net.core.rmem_max 表示接收套接字缓冲区大小最大值
#net.core.wmem_default 表示发送套接字缓冲区大小默认值
# net.core.wmem_max 表示发送套接字缓冲区大小最大值
[root@forest ~]# vi /etc/sysctl.d/99-sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
使参数生效
[root@forest ~]# sysctl -p
复制

调整系统资源参数

[root@forest ~]# vim /etc/security/limits.conf
oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728
oracle   soft   data    unlimited
oracle   hard   data    unlimited
复制

调整用户访问资源参数

[root@forest ~]# cat <<-EOF >>/etc/pam.d/login 
> session required pam_limits.so
> EOF
复制

设置透明大页

官方文档建议将透明大页参数transparent_hugepages的值设为madvise。12c,19c版本该参数的值设为never,也就是关闭透明大页。
[root@forest ~]# sed -i 's/quiet/quiet transparent_hugepage=madvise/' /etc/default/grub 
使参数生效
[root@forest ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
done
复制

关闭numa

[root@forest ~]# sed -i 's/quiet/quiet transparent_hugepage=madvise numa=off/' /etc/default/grub 
使参数生效
[root@forest ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
done
复制

上传软件至服务器

E:\BaiduNetdiskDownload>scp LINUX.X64_213000_db_home.zip root@192.168.255.221:~
[root@forest ~]# ll -h
total 2.9G
-rw-------. 1 root root 1.6K Oct 17 21:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 2.9G Oct 17 23:44 LINUX.X64_213000_db_home.zip
复制

runInstaller图形化安装数据库软件

1、创建ORACLE_HOME目录
[root@forest ~]# mkdir -p /u01/app/oracle/product/21.3.0/dbhome_1
2、需要解压到ORACLE_HOME目录执行runInstaller,否则会提示报错
[root@forest ~]# unzip LINUX.X64_213000_db_home.zip -d /u01/app/oracle/product/21.3.0/dbhome_1
3、修改ORACLE_HOME目录的属组
[root@forest ~]# chown -R oracle:oinstall /u01/app/oracle
[root@forest ~]# ll -hd /u01/app/oracle/product/21.3.0/dbhome_1/
drwxr-xr-x. 63 oracle oinstall 4.0K Oct 17 23:48 /u01/app/oracle/product/21.3.0/dbhome_1/
4、设置DISPLAY变量,将图形化界面调到本地客户端
[oracle@forest ~]$ export DISPLAY=192.168.255.1:0.0
5、执行runInstaller
[oracle@forest ~]$ /u01/app/oracle/product/21.3.0/dbhome_1/runInstaller
复制

安装步骤

1、选择仅安装数据库软件
复制

2、选择单实例数据库安装
复制

3、选择企业版本
复制

4、ORACLE_BASE目录和ORACLE_HOME目录
复制

5、指定Inventory目录的主组为oinstall
复制

6、oracle用户的附加组
复制

7、手动执行root脚本
复制

8、环境预先检测,点击Fix & Check Again
复制

执行完脚本,点击OK
[root@forest ~]# /tmp/InstallActions2024-10-17_11-52-40PM/CVU_21.0.0.0.0_oracle/runfixup.sh
All Fix-up operations were completed successfully.
复制

9、安装总结,点击安装
复制

保存安装数据库软件响应文件

[oracle@forest ~]$ ll -h
total 20K
-rw-r--r--. 1 oracle oinstall 19K Oct 18 00:10 runInstaller.rsp
[oracle@forest ~]$ egrep -v '^#|^$' runInstaller.rsp 
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v21.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
      
                               
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.rootconfig.configMethod=
oracle.install.db.rootconfig.sudoPath=
oracle.install.db.rootconfig.sudoUserName=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.PDBName=
oracle.install.db.config.starterdb.characterSet=
oracle.install.db.config.starterdb.memoryOption=false
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.password.PDBADMIN=
oracle.install.db.config.starterdb.managementOption=DEFAULT
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=0
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=false
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=
复制

10、执行root脚本[root@forest ~]# /u01/app/oraInventory/orainstRoot.shChanging permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@forest ~]# /u01/app/oracle/product/21.3.0/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/21.3.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
复制

11、安装完成
复制

dbca图形化建库

[oracle@forest ~]$ /u01/app/oracle/product/21.3.0/dbhome_1/bin/dbca
复制
1、创建数据库
复制

2、高级配置
复制

3、数据库类型单实例,模版类型通用和OLTP
复制

4、全局数据库名=数据库名+域名
Global Database name = db_name + db_domin = forest.oracle.com
db_name=forest
db_domain=oracle.com
SID:实例名称 = FOREST
PDB使用本地undo表空间
PDB前缀名:FORESTPDB
复制

5、从模版中指定数据文件存储类型和位置,也可以自定义数据文件的位置
复制

6、指定快速恢复区存储类型、位置和大小,是否启用重做日志归档,默认不开闪回和归档
复制

7、指定网络配置监听名称和端口
复制

8、数据仓库配置,默认不配置
复制

9、参数配置
内存参数,使用ASMM管理
sga_target=19372MB
pga_aggregate_target=6458MB
最佳实践中,ORACLE内存的总量设置为服务器内存的40%
sga+pga=62G*40%=25832MB
复制

使用ASM管理报错,使用ASM内存管理方式的前提是物理内存不超过4G,当前内存62GB,不满足ASM管理方式。
所以生产环境中都使用ASMM方式进行内存管理
复制

进程数和数据块大小
复制

数据库字符集设置为ZHS16GBK
复制

服务器连接模式默认专用模式
复制

10、不设置EM和EMCC
复制

11、设置SYS、SYSTEM、PDBADMIN用户的密码
复制

12、保存数据库创建模版和创建脚本

13、总结
全局设置
全局数据库名称:forest.oracle.com
实例名称:FOREST
数据库类型:单实例
是否创建为CDB:是
PDB前缀名称:FORESTPDB
PDB数量:2
PDB是否使用本地undo表空间:是
内存管理方式:ASSM,自动共享内存管理方式
模版名称:通用
复制

保存建库响应文件

[oracle@forest ~]$ egrep -v '^#|^$' dbca.rsp 
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v21.0.0
gdbName=forest.oracle.com
sid=FOREST
databaseConfigType=SI
RACOneNodeServiceName=
policyManaged=false
managementPolicy=AUTOMATIC
createServerPool=false
serverPoolName=
cardinality=
force=false
pqPoolName=
pqCardinality=
createAsContainerDatabase=true
numberOfPDBs=2
pdbName=FORESTPDB
useLocalUndoForPDBs=true
pdbAdminPassword=
nodelist=
templateName=/u01/app/oracle/product/21.3.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
sysPassword=
systemPassword= 
serviceUserPassword=
emConfiguration=
emExpressPort=5500
runCVUChecks=FALSE
dbsnmpPassword=
omsHost=
omsPort=0
emUser=
emPassword=
dvConfiguration=false
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=false
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/
recoveryAreaDestination=
recoveryAreaSize=54525952BYTES
configureWithOID=
pdbOptions=SAMPLE_SCHEMA:false,SPATIAL:true,JSERVER:true,CWMLITE:true,DV:true,IMEDIA:true,OMS:true,ORACLE_TEXT:true
dbOptions=SAMPLE_SCHEMA:false,SPATIAL:true,JSERVER:true,CWMLITE:true,DV:true,IMEDIA:true,OMS:true,ORACLE_TEXT:true
storageType=FS
diskGroupName=
asmsnmpPassword=
recoveryGroupName=
characterSet=ZHS16GBK
nationalCharacterSet=AL16UTF16
registerWithDirService=false
dirServiceUserName=
dirServicePassword=
walletPassword=
listeners=
skipListenerRegistration=true
variablesFile=
variables=ORACLE_BASE_HOME=/u01/app/oracle/homes/OraDB21Home1,DB_UNIQUE_NAME=forest,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=forest,ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1,SID=FOREST
initParams=undo_tablespace=UNDOTBS1,sga_target=19372MB,db_block_size=8192BYTES,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=FORESTXDB),diagnostic_dest={ORACLE_BASE},control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control02.ctl"),remote_login_passwordfile=EXCLUSIVE,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,processes=1280,pga_aggregate_target=6458MB,nls_territory=AMERICA,local_listener=LISTENER_FOREST,open_cursors=300,db_domain=oracle.com,compatible=21.0.0,db_name=forest,audit_trail=db
enableArchive=false
useOMF=false
memoryPercentage=40
databaseType=MULTIPURPOSE
automaticMemoryManagement=false
totalMemory=0
复制

14、安装进度
复制

15、安装完成
复制

配置环境变量

[oracle@forest ~]$ vi .bash_profile 
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/21.3.0/dbhome_1
export ORACLE_SID=FOREST
export PATH=$ORACLE_HOME/bin:$PATH
[oracle@forest ~]$ source .bash_profile
复制

查看监听

[oracle@forest ~]$ lsnrctl status
LSNRCTL for Linux: Version 21.0.0.0.0 - Production on 18-OCT-2024 01:01:49
Copyright (c) 1991, 2021, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=forest)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date                18-OCT-2024 00:49:52
Uptime                    0 days 0 hr. 11 min. 57 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/homes/OraDB21Home1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/forest/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=forest)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "24b015b0602a6fb2e063dd6f10acd361.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
Service "24b016b69ff17138e063dd6f10acb4f1.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
Service "FORESTXDB.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
Service "c8209f27c6b16005e053362ee80ae60e.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
Service "forest.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
Service "forestpdb1.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
Service "forestpdb2.oracle.com" has 1 instance(s).
  Instance "FOREST", status READY, has 1 handler(s) for this service...
The command completed successfully
复制

设置sqlplus参数

[oracle@forest ~]$ vi $ORACLE_HOME/sqlplus/admin/glogin.sql
set sqlprompt "_user'@'_connect_identifier> "
复制

登录数据库

[oracle@forest ~]$ . oraenv
ORACLE_SID = [FOREST] ? FOREST
The Oracle base remains unchanged with value /u01/app/oracle
[oracle@forest ~]$ sqlplus / as sysdba
SQL*Plus: Release 21.0.0.0.0 - Production on Fri Oct 18 01:05:40 2024
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle.  All rights reserved.
Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
SYS@FOREST> show parameter name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name                     string
cell_offloadgroup_name               string
db_file_name_convert                 string
db_name                              string      forest
db_unique_name                       string      forest
global_names                         boolean     FALSE
instance_name                        string      FOREST
lock_name_space                      string
log_file_name_convert                string
pdb_file_name_convert                string
processor_group_name                 string
service_names                        string      forest.oracle.com
复制
最后修改时间:2024-10-23 18:38:27
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

Forest
关注
暂无图片
获得了1次点赞
暂无图片
获得了1次收藏
TA的专栏
19c
收录2篇内容
21c
收录1篇内容
MySQL
收录1篇内容
目录
  • 官方文档
  • 查看操作系统
  • 查看磁盘分区
  • 禁用selinux
  • 创建用户和组
  • 安装yum依赖包
  • 创建目录
  • 调整系统内核参数
  • 调整系统资源参数
  • 调整用户访问资源参数
  • 设置透明大页
  • 关闭numa
  • 上传软件至服务器
  • runInstaller图形化安装数据库软件
  • 安装步骤
  • 保存安装数据库软件响应文件
  • dbca图形化建库
  • 保存建库响应文件
  • 配置环境变量
  • 查看监听
  • 设置sqlplus参数
  • 登录数据库