CentOS7.8 Oracle19.3 CDB 模式 单实例安装部署

该文详述了在CentOS7.8操作系统中安装Oracle19.3数据库的过程,包括hosts配置、关闭防火墙和SELinux、调整系统参数、创建用户和目录、安装依赖包、设置环境变量、静默安装数据库及监听器、配置TNS连接、开启归档模式、修改字符集以及管理用户密码过期时间等步骤。
摘要由CSDN通过智能技术生成

CentOS7.8 Oracle19.3安装部署

1.hosts配置

cat >> /etc/hosts <<EOF
10.128.xx.xx S sjzdb
EOF

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

关闭selinux
sed -i ‘s@SELINUX=enforcing@SELINUX=disabled@g’ /etc/selinux/config

2./etc/sysctl.conf配置

cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4194304
kernel.shmmax = 17179869183
kernel.shmmni = 4096
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
EOF

3./etc/security/limits.conf

cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 3145728
oracle hard memlock 3145728
EOF

参数设置计算:
kernel.shmmax = 当前内存GB * 1024 * 1024 * 1024 * 0.9
注:当前内存推荐至少4GB
kernel.shmall = kernel.shmmax / kernel.shmmni

详细解释:

shmall 是全部允许使用的共享内存大小
shmmax 是单个段允许使用的大小
这两个可以设置为内存的 90%
例如 16G 内存,1610241024102490% = 15461882265
shmall 的大小为 15461882265/4k(getconf PAGESIZE可得到) = 3774873

#修改后执行
sysctl -p

4./etc/pam.d/login配置

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

5.安装依赖包

rpm --query --queryformat “%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n” bc binutils compat-libcap1 compat-libstdc+±33 gcc gcc-c++ glibc gli
bc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc+±devel make sysstat elfutils-libelf elfutils-libelf-devel fontconfig-devel libxcb smar
tmontools libX11 libXau libXtst libXrender libXrender-devel
yum install -y bc
yum install -y compat-libcap1
yum install -y compat-libstdc++33
yum install -y elfutils-libelf-devel
yum install -y fontconfig-devel
yum install -y ksh
yum install -y libaio-devel
yum install -y libX11
yum install -y libXau
yum install -y libXi
yum install -y libXtst
yum install -y libXrender
yum install -y libXrender-devel
yum install -y libstdc+±devel
yum install -y libxcb
yum install -y smartmontools
yum install -y unixODBC
yum install -y sysstat
yum install -y smartmontools
yum install -y compat-libstdc+±33

6.创建账号

groupadd oinstall
groupadd dba
groupadd asmdba
groupadd backupdba
groupadd dgdba
groupadd kmdba
groupadd racdba
groupadd oper
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
echo “oracle” | passwd --stdin oracle

7.创建目录

mkdir -p /OSdata/app/oracle
mkdir -p /OSdata/app/oraInventory
mkdir -p /OSdata/app/oracle/product/19.0.0/dbhome_1/
chown -R oracle:oinstall /OSdata
chmod -R 775 /OSdata

8.设置oracle环境变量

export ORACLE_BASE=/OSdata/app/oracle
export ORACLE_SID=sjzt
export ORACLE_HOME= O R A C L E B A S E / p r o d u c t / 19.0.0 / d b h o m e 1 e x p o r t T N S A D M I N = ORACLE_BASE/product/19.0.0/dbhome_1 export TNS_ADMIN= ORACLEBASE/product/19.0.0/dbhome1exportTNSADMIN=ORACLE_HOME/network/admin
export PATH= P A T H : PATH: PATH:HOME/.local/bin: H O M E / b i n : HOME/bin: HOME/bin:ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

9.编辑静默安装文件

编辑响应文件
$ cat db_install.rsp|grep -Ev “#|$”
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/OSdata/app/oraInventory
ORACLE_HOME=/OSdata/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/OSdata/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=true
oracle.install.db.rootconfig.configMethod=ROOT
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.ConfigureAsContainerDB=false
oracle.install.db.config.PDBName=

执行安装
./runInstaller -executePrereqs -silent -responseFile /OSdata/app/oracle/product/19.0.0/dbhome_1/install/db_install.rsp

10.静默安装监听

编辑响应文件

$ cat /OSdata/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp |grep -Ev “#|$”
[GENERAL]
RESPONSEFILE_VERSION=“19.0”
CREATE_TYPE=“CUSTOM”
[oracle.net.ca]
INSTALLED_COMPONENTS={“server”,“net8”,“javavm”}
INSTALL_TYPE=““typical””
LISTENER_NUMBER=1
LISTENER_NAMES={“LISTENER”}
LISTENER_PROTOCOLS={“TCP;1521”}
LISTENER_START=““LISTENER””
NAMING_METHODS={“TNSNAMES”,“ONAMES”,“HOSTNAME”}
NSN_NUMBER=1
NSN_NAMES={“EXTPROC_CONNECTION_DATA”}
NSN_SERVICE={“PLSExtProc”}
NSN_PROTOCOLS={“TCP;HOSTNAME;1521”}

执行安装
$ORACLE_HOME/bin/netca -silent -responsefile /OSdata/app/oracle/product/19.0.0/dbhome_1/assistants/netca/netca.rsp

11.静默安装数据库

编辑响应文件
$ cat /OSdata/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp |grep -Ev “#|$”
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=sjzt
sid=sjzt
databaseConfigType=
RACOneNodeServiceName=
policyManaged=
createServerPool=
serverPoolName=
cardinality=
force=
pqPoolName=
pqCardinality=
createAsContainerDatabase=TRUE
numberOfPDBs=1
pdbName=orms
useLocalUndoForPDBs=true
pdbAdminPassword=Sjztdb2023
nodelist=
templateName=/OSdata/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc
sysPassword=Sjztdb2023
systemPassword=Sjztdb2023
oracleHomeUserPassword=
emConfiguration=NONE
emExpressPort=5500
runCVUChecks=
dbsnmpPassword=
omsHost=
omsPort=
emUser=
emPassword=
dvConfiguration=
dvUserName=
dvUserPassword=
dvAccountManagerName=
dvAccountManagerPassword=
olsConfiguration=
datafileJarLocation=
datafileDestination=/OSdata/app/oracle/oradata
recoveryAreaDestination=/OSdata/app/oracle/flash_recovery_area
storageType=FS
diskGroupName=
asmsnmpPassword=
recoveryGroupName=
characterSet=AL32UTF8
nationalCharacterSet=AL16UTF16
registerWithDirService=
dirServiceUserName=
dirServicePassword=
walletPassword=
listeners=LISTENER
variablesFile=
variables=
initParams=
sampleSchema=
memoryPercentage=40
databaseType=
automaticMemoryManagement=
totalMemory=

执行安装
dbca -silent -createDatabase -responseFile /OSdata/app/oracle/product/19.0.0/dbhome_1/assistants/dbca/dbca.rsp

安装PDB
create pluggable database test admin user sjztadmin identified by sjztadmin file_name_convert=(‘pdbseed’,‘test’);
alter pluggable database test open;
alter pluggable database test save state;

备注:删除数据库重新安装
dbca -silent -deleteDatabase -sourcedb dbname -sid dbname -sysDBAUserName sys -sysDBAPassword pwd

12.配置TNS访问连接串

test =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.128.103.77)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)

cat >> $ORACLE_HOME/network/admin/sqlnet.ora << EOF
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
EOF

13. 开启归档模式

ALTER SYSTEM SET db_recovery_file_dest_size=100G scope=both;
shutdown immediate;
startup mount;
archive log list;
show pdbs;
alter session set container=fims;
archive log list;
alter session set container=cdb$root;
alter database archivelog;
archive log list;
alter database open;

编辑归档清理脚本

定时删除归档日志
#!/bin/sh
export DATE=date +%F
export ORACLE_BASE=/OSdata/app/oracle
export ORACLE_HOME=/OSdata/app/oracle/product/19.0.0/dbhome_1
export PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:ORACLE_HOME/OPatch: P A T H e x p o r t L I B P A T H = PATH export LIBPATH= PATHexportLIBPATH=LIBPATH:$ORACLE_HOME/lib
export ORACLE_SID=sjzt

touch /home/oracle/scripts/logs/clear_arch_$DATE.log

rman log=/home/oracle/scripts/logs/clear_arch_$DATE.log target / <<EOF
delete noprompt archivelog until time ‘sysdate-30’;
#检查归档
crosscheck archivelog all;
#删除无效归档
delete noprompt expired archivelog all;
exit;
EOF

find /home/oracle/scripts/logs -mtime +30 -name “clear*.log” |xargs rm -f

echo " " >> /home/oracle/scripts/logs/clear_arch_ D A T E . l o g e c h o ‘ d a t e ′ + DATE.log echo `date '+%Y-%m-%d %H:%M:%S'` >> /home/oracle/scripts/logs/clear_arch_ DATE.logechodate+DATE.log

设置定时任务
10 1 * * * /bin/sh /home/oracle/scripts/clear_arch.sh

14.修改字符集

alter pluggable database test close immediate;
alter pluggable database test open read write restricted;
show pdbs;
select userenv(‘language’) from dual;

– in container test
alter session set container=test;
select userenv(‘language’) from dual;

alter database character set internal_use ZHS16GBK;
alter pluggable database test close immediate;
alter pluggable database test open;
show pdbs;
select userenv(‘language’) from dual;

15.修改用户有效期

创建数据库修改密码过期时间
col username for a10
col profile for a30
set pages 200
SELECT username,PROFILE FROM dba_users;
SELECT * FROM dba_profiles s WHERE s.profile=‘DEFAULT’;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
ALTER PROFILE DEFAULT LIMIT PASSWORD_GRACE_TIME UNLIMITED;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LOCK_TIME UNLIMITED;
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值