一给 发表于 2024-9-10 02:15:01

Oracle Linux 8.10安装Oracle19c(19.3.0)完整教程

安装前请仔细将文档通读一遍,安装过程中根据安装命令仔细核对,特别留意一些字体加粗或标红的字样,遇到问题请及时咨询公司
1、基础环境
1.1、利用系统
cat /etc/redhat-release
https://i-blog.csdnimg.cn/direct/c6b44960eb1a4dff80862313dc76e98e.png
1.2、主机名
医院默认分配的主机名可能跟其他主机会有重复,以是分配给聪明护理的数据库服务器建议欺压改下名。
1.2.1、查询主机名
hostnamectl
1.2.2、修改主机名
vi /etc/hostname
修改主机名为:ZHHL-DB
1.2.3、重启
主机名修改后需要重启才华生效,执行reboot命令后,正常启动,可以看到命令左侧的主机名已变更:
https://i-blog.csdnimg.cn/direct/048fff0cc6854518ad4c6e2ae0e3e67f.png
1.2.4、主机名与IP绑定
输入ifconfig查询当前服务器的IP所在,IP所在较为敏感,大家自行获取,获取到IP后编辑系统主机署理文件:
vi /etc/hosts
https://i-blog.csdnimg.cn/direct/25a6479246814921969690353b027057.png
2、环境准备
2.1、创建Oracle用户和用户组
以下命令在root用户下执行:
groupadd oinstall

groupadd dba

groupadd oper

useradd -g oinstall -G dba,oper oracle 修改oracle用户的密码:
passwd oracle
修改oracle用户的密码为:12345678
一连两次输入重复密码确认即可(忽略中心密码规则复杂度校验的提示)
https://i-blog.csdnimg.cn/direct/ac6f368a28644c8eafa352745a69b270.png
2.2、创建文件夹并赋予权限
以下命令在root用户下执行:
mkdir -p /home/oracle/product/19.3.0/dbhome_1

mkdir -p /home/oracle/oraInventory

mkdir -p /home/oracle/oradata

mkdir -p /home/oracle/oradatabak

chown -R oracle:oinstall /home/oracle/* chmod -R 775 /home/oracle/* 2.3、安装Oracle依赖包
2.3.1、下载依赖包和Oracle安装包
https://i-blog.csdnimg.cn/direct/d3ac084be0e84b2d9c14560282e7d374.png
2.3.2、安装依赖包
以下命令在root用户下执行:
unzip oracle-preinstall-oraclelinux8.zip

cd oracle-preinstall-oraclelinux8/

rpm -Uvh ./* --nodeps --force 2.3.3、放置安装包
将oracle19C安装包拷贝到/home/oracle/product/19.3.0/dbhome_1目录下面,然后分配用户组,授权。以下命令在oracle用户下执行:
su - oracle

cd /home/oracle/product/19.3.0/dbhome_1/

unzip Oracle_19c_LINUX.X64_193000_db_home.zip 2.3.4、配置利用系统limits限制参数
在2.3.2步调中,只要正确执行了安装依赖包的步调,在Oracle Linux8.10利用系统中,安装这些依赖会默认修改利用系统的部门参数配置,包括以下利用系统Limits限制参数,相应修改的配置文件在:/etc/security/limits.d/oracle-database-preinstall-19c.conf 中,可作为参考。
以下命令在root用户下执行:
vi /etc/security/limits.conf

* soft nproc 16384

* hard nproc 16384

* soft nofile 65535

* hard nofile 65535

* soft memlock 3145728

* hard memlock 3145728 调整利用系统层面硬限制:
vi /etc/systemd/system.conf

DefaultLimitNOFILE=65535 2.3.5、配置登录PAM验证
以下命令在root用户下执行:
vi /etc/pam.d/login

session required pam_limits.so https://i-blog.csdnimg.cn/direct/8538c9762ac74f04b6269c2ec08f1faf.png
2.3.6、修改利用系统内核参数
假如确定已执行2.3.2提前已安装oracle-preinstall依赖包,则在安装依赖包时会自动设置利用系统内核参数。不外最好核验下,防止安装依赖时未自动设置的情况
vi /etc/sysctl.conf

# 以下内容时编辑sysctl.conf配置文件的内容

fs.file-max = 6815744

kernel.sem = 250 32000 100 128

# kernel.shmmax是共享内存,用内存 * 1024 * 1024 * 1024 * 0.9 算出结果,详细的对照表参考下方表格

kernel.shmmax = 123695058124

# kernel.shmall=kernel.shmmax / 4KB 算出来

kernel.shmall = 30923764531

kernel.shmmni = 4096

kernel.panic_on_oops = 1

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 9000 65500 修改完系统内核参数后,执行“sysctl -p”使之生效。
以下是根据部门服务器内存可参考的配置快查表:
内存
kernel.shmall
kernel.shmmax
4GB
1932735283
7730941132
16GB
3865470566
15461882265
32GB
7730941132
30923764531
64GB
15461882265
61847529062
128GB
30923764531
123695058124
2.3.7、扩展虚拟内存(可选)
如是内存小于4G,才需要执行此步调,否则背面会报内存不足的问题,有些虚拟机会报,购买的云服务器如果小于4G,则必须执行此步调,如果大于4G,则跳过此步直接执行下一步。
以下命令在root用户下执行:
# 使用dd命令创建名为swapfile 的swap交换文件,count指定扩展4G虚拟内存

dd if=/dev/zero of=/var/swapfile bs=1024 count=4194304

# 对交换文件格式化并转换为swap分区

mkswap /var/swapfile

# 挂载并且激活分区

swapon /var/swapfile

# 查看新swap分区是否激活

free -h

# 修改 fstab 配置,设置开机自动挂载该分区,添加如下代码

vim /etc/fstab

/var/swapfile swap swap defaults 0 0 2.3.8、设置Oracle用户环境变量
以下命令在oracle用户下执行:
vi /home/oracle/.bash_profile

# 以下内容可直接粘贴至这个配置文件中

export CV_ASSUME_DISTID=OL7

export PATH

export TMP=/tmp

export LANG=en_US

export TMPDIR=$TMP

export ORACLE_UNQNAME=orcl

export ORACLE_SID=orcl

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=/home/oracle/product/19.3.0/dbhome_1

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS" PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin

# 配置文件中粘贴内容截止到此

source /home/oracle/.bash_profile 需要注意的是,每次登录oracle都需要应用一次环境变量,如果想让他永世生效,则需要把上面的内容同步添加到 /home/oracle/.bashrc 这个配置文件中
3、摆设安装
3.1、安装数据库软件
以下命令在oracle用户下执行:
cd /home/oracle/product/19.3.0/dbhome_1/install/response/

cp db_install.rsp db_install.rsp.bak

vi db_install.rsp

# 以下在db_install.rsp配置文件中修改编辑

oracle.install.option=INSTALL_DB_SWONLY

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/home/oracle/oraInventory

ORACLE_HOME=/home/oracle/product/19.3.0/dbhome_1

ORACLE_BASE=/home/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.OSDBA_GROUP=dba

oracle.install.db.OSOPER_GROUP=dba

oracle.install.db.OSBACKUPDBA_GROUP=dba

oracle.install.db.OSDGDBA_GROUP=dba

oracle.install.db.OSKMDBA_GROUP=dba

oracle.install.db.OSRACDBA_GROUP=dba

oracle.install.db.rootconfig.executeRootScript=false

# 以上db_install.rsp配置文件截止编辑

# 以下命令开始执行安装

$ORACLE_HOME/runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp 重新开一个xshell窗口,登录root账号,以root用户执行下面2个脚本,第一个脚本是对目录和用户组权限的一些修改,第二个是查抄日志是否有错误。
/home/oracle/oraInventory/orainstRoot.sh
/home/oracle/product/19.3.0/dbhome_1/root.sh
https://i-blog.csdnimg.cn/direct/f7e775cfad2b4659af3b77e2cbccb7ea.png
3.1.1 异常情况处置惩罚
若出现如下错误,
CAUSE: Some of the mandatory prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/InstallActions2021-08-20_11-08-55PM/installActions20 21-08-20_11-08-55PM.log
需要忽略报错,再执行两个脚本(没有报错忽略此利用)
$ORACLE_HOME/runInstaller -ignorePrereq -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp 注意:在这里会有有一个问题,如果只天生了root.sh,没有orainstroot.sh脚本,分析你之前装过oracle,且卸载的时间没有删除/etc/oraInst.loc文件,此时就只会天生root.sh一个脚本, 只执行者一个即可。
3.2、启动监听
以下命令在oracle用户下执行:
lsnrctl status

# 若是遇到“bash: lsnrctl: command not found...”的问题,需要使用“source /home/oracle/.bash_profile”重新应用环境变量

# 打开监听 lsnrctl start 3.3、创建监听(可选)
假如3.2启动监听时发现没有找到监听,使用以下命令创建监听,使用oracle用户执行以下命令:
# 执行创建监听命令

netca /silent /responseFile $ORACLE_HOME/assistants/netca/netca.rsp

# 查看监听

lsnrctl status

# 打开监听

lsnrctl start 3.4、创建数据库
以下命令在oracle用户下执行:
cd /home/oracle/product/19.3.0/dbhome_1/assistants/dbca/

cp dbca.rsp dbca.rsp.bak

# 修改dbca.rsp配置文件

vi dbca.rsp

# 以下是配置文件中的需要调整的配置项

gdbName=orcl

sid=orcl

databaseConfigType=SI

templateName=General_Purpose.dbc

# 数据库默认管理员密码DBA123456

sysPassword=ZHHL1234

systemPassword=ZHHL1234

datafileDestination={ORACLE_BASE}/oradata

characterSet=AL32UTF8

nationalCharacterSet=UTF8

listeners=LISTENER

# 原则上是sga_target占物理内存的75%,pga_aggregate_target占物理内存的25%。以下是依据128GB内存设置

# 可以自行根据实际内存设定换取更好的性能 initParams=processes=3000,sga_target=98304MB,pga_aggregate_target=32768MB 执行以下命令开始安装数据库:
dbca -silent -createDatabase -responseFile /home/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp 开始安装数据库,安装数据库持续时间较长。
3.4.1、异常情况一
https://i-blog.csdnimg.cn/direct/acd8935cffbb43f78a88d989f9436b5d.png
出现此错误,则在oracle用户下执行:
lsnrctl start
3.4.2、异常情况二
若出现以下报错:
Unable to check for available memory. Unable to check the value of kernel parameter {0}
则执行安装脚本添加一个参数,去掉内存查抄:
dbca -silent -createDatabase -J-Doracle.assistants.dbca.validate.ConfigurationParams=false -responseFile /home/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp 到此数据库安装就已经完成了,下面开始举行测试和调优设置。
若数据库未自动启动,以下命令在oracle用户下执行:
sqlplus / as sysdba

startup 使用plsql连接数据库后,执行select * from v$instance查看实例状态:
https://i-blog.csdnimg.cn/direct/06cd6748041e40b1bb08f4d1fea6e160.png
3.5、数据库调优
3.5.1、配置开机自启动
通过各步调已完成数据库的安装,但存在数据库实例不会开机自启动的问题,即服务器重新启动后,数据库服务自动启动,但数据库实例不会自动,需要单独配置才华开机自启动。
dbca建库时都会自动创建/etc/oratab文件
以下命令在root用户下执行:
vi /etc/oratab

# 以下是oratab配置文件中的需要修改的内容

# 将“orcl:/home/oracle/product/19.3.0/dbhome_1:N”,改为“orcl:/home/oracle/product/19.3.0/dbhome_1:Y”

# orcl为实例名;/home/oracle/product/19.3.0/dbhome1为oracle安装目录;会因安装的情况不同而有所不同

orcl:/home/oracle/product/19.3.0/dbhome_1:Y https://i-blog.csdnimg.cn/direct/6c93efba86a148d78b819e5c16d8efdf.png
编辑/etc/rc.d/rc.local启动文件,添加数据库启动脚本dbstart
vi /etc/rc.d/rc.local

# 以下是rc.local配置文件中的内容

# 末尾添加:

su - oracle -lc "/home/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start"

su - oracle -lc /home/oracle/product/19.3.0/dbhome_1/bin/dbstart

# 如果实例名SID不是orcl,则可以添加以下命令,替换实例名ORCL部分

su - oracle -lc"/home/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start ORCL"

su - oracle -lc /home/oracle/product/19.3.0/dbhome_1/bin/dbstart

# 以上配置文件截止,命令中-c代表执行脚本,脚本dbstart中指定启动的实例,脚本lsnrctl中启动配置的监听 为使得rc.local配置文件生效,记得执行以下命令使这个配置文件生效:
chmod +x /etc/rc.d/rc.local
最后使用“reboot”命令验证下数据库服务和监听是否自动启动(上线前务须要验证至少一遍)。
3.5.2、初始化表空间
以下脚本需要用SYSTEM用户登录PL/SQL_Developer的SQL窗口执行。
创建表空间,用于存放业务用户干系对象,包括表、视图、存储过程等数据库对象及业务数据,创建原则为:硬盘满意医院病历业务数据库存储需求,包括空间巨细,读写速度,安全性等,服务器挂有硬盘柜且原设计用于数据存储的,要把数据存储目录创建到盘符上。
创建DBF文件前,先查抄下当前服务器的“数据盘”(也就是容量最大)的盘符在哪个目录下,牢记务必在盘符最大的目录下创建,不要在系统盘里创建数据文件,很容易上线没多久就磁盘被占满,引发线上事故。
这里,假设以“/home”路径就是当前服务器的数据库挂载路径为例举行创建:
# 以下以创建DEMO(DEMO)关联的数据文件为例:

CREATE TABLESPACE DEMO_DATA DATAFILE '/home/oracle/oradata/DEMO_DATA01.DBF' SIZE 30G AUTOEXTEND ON NEXT 200M; 增加表空间数据文件,每个数据文件最大为32G容量,不同规模医院配置的数据文件数量不同,可在摆设摆设服务器时,一次性增加完成,也可后期增加,一样平常是在摆设服务器数据库时一次增加满意未来1~2年的使用,增加时数据文件定名安照名称+序号的定名方式,具体巨细参考值:二级医院200G以上,需要7个数据文件,即32G*7=224G,三级医院300G以上,需要10个数据文件,即32G*10=320G。
增加第二个数据文件脚本:
ALTER TABLESPACE HLBL_DATA ADD DATAFILE '/home/oracle/oradata/HLBL_DATA02.DBF' SIZE 30G AUTOEXTEND ON NEXT 200M; 依次类推,逐步增加到本身需要的数据文件数量。
3.5.3、初始化用户
以下脚本需要用SYSTEM用户登录PL/SQL_Developer的SQL窗口执行。
创建用户脚本 :
CREATE USER DEMO IDENTIFIED BY USER1234 DEFAULT TABLESPACE DEMO_DATA

# 用户名称:DEMO

# 用户赋值权限:

GRANT CONNECT,RESOURCE,DBA TO DEMO; 3.5.4、参数调优
以下脚本需要用SYSTEM用户登录PL/SQL_Developer的SQL窗口执行。
# 修改用户密码默认有效期不限制

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

# 修改账户密码错误次数限制

alter PROFILE default limit failed_login_attempts unlimited;

# 关闭审计

alter system set audit_trail=none scope=spfile;

# 关闭延迟段创建

alter system set deferred_segment_creation=FALSE;

# 禁用基数反馈和LGWR日志自适应切换

alter system set "_optimizer_use_feedback"=FALSE scope=spfile sid='*';

alter system set "_use_adaptive_log_file_sync"=false scope=spfile sid='*';

alter system set "_optimizer_adaptive_cursor_sharing"=FALSE scope=spfile;

alter system set "_optimizer_extended_cursor_sharing"=NONE scope=spfile;

alter system set "_optimizer_extended_cursor_sharing_rel"=NONE scope=spfile;

alter system set "_undo_autotune"=FALSE scope=spfile;

alter system set "_optimizer_null_aware_antijoin"=FALSE scope=spfile;

alter system set "_partition_large_extents"=FALSE scope=spfile;

alter system set "_memory_imm_mode_without_autosga"=false sid='*' scope=spfile;

alter system set "_b_tree_bitmap_plans"=false sid='*' scope=spfile;

alter system set "_optimizer_reduce_groupby_key"=off scope=spfile sid='*';

alter system set "_PX_use_large_pool"=TRUE scope=spfile;

# 修改数据库允许最大连接数

alter system set processes = 3000 scope = spfile;

# 以上设置项需要重启数据库服务才能生效:

shutdown immediate;

startup; 由于系统数据库一部门数据使用CLOB数据类型存储,在导出备份时用时较长,数据库系统在导出查询数据时,超出UNDO_RETENTION设置的长时,容易造成读取数据不一致,造成导出数据时包罗CLOB数据类型的表无法正常导出,备份文件缺少个别表的问题。
修改数据库系统级undo_retention参数值脚本:
ALTER SYSTEM SET UNDO_RETENTION=1800;

# 查询出所有clob数据类型的字段及所属表,并拼接成修改retention属性值的字符串

select 'ALTER TABLE ' ||TABLE_NAME||' MODIFY LOB ('||column_name||')(RETENTION);' from user_TAB_columns where data_type='CLOB' ORDER BY TABLE_NAME; https://i-blog.csdnimg.cn/direct/1f792c38153340b1b024c8c0b83ed847.png
执行修改各个表参数脚本:
ALTER TABLE BB_AGI_CON MODIFY LOB (MR_TYPE_SET)(RETENTION);

ALTER TABLE BB_AGI_EVE MODIFY LOB (EVENT_SQL_XML)(RETENTION);

ALTER TABLE BB_BAS_KB MODIFY LOB (BLOB_CONT)(RETENTION);

ALTER TABLE BB_CERT_INFO MODIFY LOB (CERT_PIC)(RETENTION);

ALTER TABLE BB_CON_ELEM MODIFY LOB (MON_ELEM)(RETENTION);

ALTER TABLE BB_CON_RELA MODIFY LOB (CON_UNIT)(RETENTION);

ALTER TABLE BB_CON_XOR MODIFY LOB (KEY_WORD)(RETENTION);

ALTER TABLE BB_CON_XOR MODIFY LOB (REJE_ELEM)(RETENTION);

ALTER TABLE BB_MR_MARK MODIFY LOB (QC_EMPH)(RETENTION); ……
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Oracle Linux 8.10安装Oracle19c(19.3.0)完整教程