Advertisement

CentOS7.9静默安装Oracle19C软件

阅读量:

CentOS7.9静默安装Oracle19C软件

遇到的问题:

1,低版本客户端连接19C数据库报ORA-28040协议错误

解决方法: vi $ORACLE_HOME/network/admin/sqlnet.ora

添加以下内容,没有sqlnet.ora就直接新建

#11对应的是oracle客户端版本,如果客户端是8i后面就写8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11

准备工作:

配置阿里云源, DNS用114.114.114.114 8.8.8.8 此步可以跳过,如果下载速度还正常的话

#备份官方的原yum源的配置

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

#下载Centos-7.repo文件

使用wget工具下载特定版本的yum repos文件至指定目录:/etc/yum.repos.d/CentOS-Base.repo;并从镜像源地址http://mirrors.aliyun.com/repo/Centos-7.repo获取该文件

清除yum缓存

yum clean all

缓存阿里云源

yum makecache

测试阿里云源

yum list

1.先决条件

1.0 一些前置条件

操作系统准备升级到7.9最新版本.命令如下:

硬盘u01:500GB,内存:16GB,CPU逻辑核数:16C

yum -y update

1.1 安装所需软件包

yum install -y binutils*

yum install -y compat-libcap1*

yum install -y compat-libstdc++*

yum install -y elfutils-libelf* elfutils-libelf-devel*

yum install -y glibc* glibc-devel*

yum install -y gcc*

yum install -y gcc-c++*

yum install -y libaio* libaio-devel*

yum install -y libgcc*

yum install -y libstdc++ libstdc++-devel*

yum install -y ksh*

yum install -y libXp* libXp-devel*

yum install -y libxt* libxt-devel*

yum install -y make*

yum install -y sysstat*

yum install -y unixODBC*

yum install -y unixODBC-devel*

yum install -y smartmontools

yum install -y tigervnc-server

yum install -y libnsl

1.2 建立用户

groupadd oinstall

groupadd dba

groupadd oper

useradd -g oinstall -G dba,oper oracle

1.3 创建目录

mkdir -p /u01/software

mkdir -p /u01/app/oracle/product

mkdir -p /u01/app/oracle/oradata

mkdir -p /u01/app/oraInventory

mkdir -p /u01/app/oracle/flash_recovery_area/

mkdir -p /u01/app/oracle/product/19.3/dbhome_1

赋予权限

chown -R oracle:oinstall /u01/app/oracle/

chown -R oracle:oinstall /u01/software

chown -R oracle:oinstall /u01/app/oraInventory

chown -R oracle:oinstall /u01

设置oraacle用户密码

passwd oracle

1.4 修改/etc/sysctl.conf文件

kernel.shmall = 4294967296(按实际改)内存大小(G)10241024/4

kernel.shmmax = 4398046511104 内存大小(G)1024102410240.9

fs.suid_dumpable = 1

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 1048576

kernel.shmmax = 7730941132

kernel.shmmni = 4096

semaphores: semmsl, semmns, semopm, semmni

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=1048586

要使 /etc/sysctl.conf 更改立即生效,执行以下命令

/sbin/sysctl -p

1.5 修改limits.conf文件

vi /etc/security/limits.conf

oracle soft nproc 16384

oracle hard nproc 16384

oracle soft nofile 4096

oracle hard nofile 65536

oracle soft stack 10240

1.6 设置oracle用户的环境变量

#su - oracle

$vi .bash_profile

增加如下几行:

**** # added by oracle

export ORACLE_BASE=/u01/app/oracle

export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

export ORACLE_HOME=$ORACLE_BASE/product/19.3/dbhome_1

export ORACLE_SID=oradb

export LANG="en_US.UTF-8"

export NLS_LANG="american_AMERICA.UTF8"

#如果OS是8以上版本需设定成7版本的

export CV_ASSUME_DISTID=RHEL7.9

export PATH=ORACLE_HOME/bin:ORACLE_HOME/OPatch:ORACLE_HOME/jdk/bin:PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/usr/X11R6/lib64/

设置CLASSPATH环境变量为$ORACLE_HOME中的JRE、jlib以及rdbms中的jlib连接

1.7关闭selinux,设定好防火墙,关闭或开启端口

2.解压文件

解压Oracle 19c安装介质文件。

注意:这次安装介质需要放置在$ORACLE_HOME的目录中

cd /u01/app/oracle/product/19.3/dbhome_1/

chown -R oracle.oinstall LINUX.X64_193000_db_home.zip

su - oracle

cd $ORACLE_HOME

unzip LINUX.X64_193000_db_home.zip

3.静默方法下安装Oracle 19c

oracle用户下,直接复制执行以下命令:

执行安装程序 /u01/app/oracle/product/19.3/dbhome_1/runInstaller
在静默模式下 进行强制执行 并且不配置选项 以及忽略先决条件

The Oracle installation response file version path is set to /oracle/install/rspfmt_dbinstall_response_schema_v19_3.

oracle.install.option=INSTALL_DB_SWONLY \

UNIX_GROUP_NAME=oinstall \

INVENTORY_LOCATION=/u01/app/oraInventory \

ORACLE_BASE=/u01/app/oracle \

ORACLE_HOME=/u01/app/oracle/product/19.3/dbhome_1 \

oracle.install.db.InstallEdition=EE \

oracle.install.db.OSDBA_GROUP=dba \

oracle.install.db.OSOPER_GROUP=oper \

oracle.install.db.OSBACKUPDBA_GROUP=oper \

oracle.install.db.OSDGDBA_GROUP=oper \

oracle.install.db.OSKMDBA_GROUP=oper \

oracle.install.db.OSRACDBA_GROUP=oper \

oracle.install.db.rootconfig.executeRootScript=true \

oracle.install.db.rootconfig.configMethod=ROOT

这里牵扯到了19C的新特性,通过root.sh脚本自动安装Oracle19c.核心命令为:

oracle.install.db.rootconfig.configMethod=ROOT

4.静默安装dbca安装数据库

(此后我是用dbca,和netca操作的,未安装CBD)

dbca, 配置为静默模式, 并执行以下操作: 创建数据库名为General_Purpose.dbc 的模板文件, 指定响应文件NO_VALUE

-gdbname oradb -sid oradb \

-createAsContainerDatabase TRUE \

-numberOfPDBs 1 \

-pdbName hrpdb \

-pdbAdminPassword hrpdb \

-sysPassword hrpdb -systemPassword hrpdb \

-datafileDestination '/u01/app/oracle/oradata' \

-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \

-redoLogFileSize 256 \

-storageType FS \

-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \

-sampleSchema true \

-totalMemory 2048 \

-databaseType OLTP \

-emConfiguration NONE

这里会创建CDB和一个PDB.

**CDB(container database,容器库)从12c版本开始,

Oracle数据库只能有两种形式:non-CDB or CDB。

12c之前创建的数据库都是Non-cdb的。

**PDB(Plugable Database,插拔库),拥有独立设置的系统表、辅助系统表、回滚日志表以及临时表空间。其中包含主数据表空间、辅助数据表空间、回滚日志表空间以及临时存储区。

安装上述配置默认安装完之后,会存在一个ROOT容器(CDBROOT),会包含一个种子容器(基于PDB的模板结构,并命名为PDBSEED),还有一个功能模块 named HRPDB.

dbca执行的安装过程

会报出一些warning,因为密码设置太简单了,可以忽略.

Prepare for db operation

8% complete

Copying database files

31% complete

Creating and starting Oracle instance

32% complete

36% complete

40% complete

43% complete

46% complete

Completing Database Creation

51% complete

53% complete

54% complete

Creating Pluggable Databases

58% complete

77% complete

Executing Post Configuration Actions

100% complete

Database creation complete. For details check the logfiles at:

/u01/app/oracle/cfgtoollogs/dbca/oradb.

Database Information:

Global Database Name:oradb

System Identifier(SID):oradb

Examine the log file located at "/u01/app/oracle/cfgtoollogs/dbca/oradb/oradb.log" to gain additional information.

5.查看Oracle安装状态和是否为CDB.

SQL> select BANNER_FULL from v$version;

##确定是否为CDB

SQL> SELECT NAME, CDB, CON_ID FROM V$DATABASE;

##查看pdb的情况.

SQL> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED READ ONLY NO

3 HRPDB READ WRITE NO

全部评论 (0)

还没有任何评论哟~