oracle 19c 静默安装

摘要

linux 无桌面环境下,静默安装oracle 19c。

1、安装前准备工作

1.1关闭防火墙

systemctl
 stop firewalld
systemctl
 disable firewalld

1.2禁用selinux

执行vim/etc/selinux/config修改编辑config文件,将SELINUX设置成disabled,如下所示

1.3安装依赖包

yum install
 -y \
  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 \
  smartmontools \
  sysstat
yum install
 -y \
  net-tools \
  gcc \
  gcc-c++ \
  gcc-info \
  gcc-locale \
  gcc48 \
  gcc48-info \
  gcc48-locale \
  gcc48-c++

1.4创建用户组 和 用户

groupadd
 -g 54321 oinstall
groupadd
 -g 54322 dba
groupadd
 -g 54323 oper
groupadd
 -g 54324 backupdba
groupadd
 -g 54325 dgdba
groupadd
 -g 54326 kmdba
groupadd
 -g 54330 racdba
useradd
 -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
  • 设置密码

passwd oracle 
输入你的密码

1.5为oracle database 19c 创建目录

mkdir -p
 /u01/app/oracle/product/19.3.0/dbhome_1 
mkdir -p
 /u01/oradata 
chown -R oracle:oinstall /u01/ 
chmod -R 775 /u01/

1.6为 Oracle 用户配置 Linux 环境变量

执行su - oracle切换到oracle用户下,然后执行vim ~/.bash_profile命令设置环境变量

将下面内容复制到文件

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=centos7  #系统的hostname
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export
ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=orcl   #搭建dataguard时 主库为orcl,备库为orcldg
export PDB_NAME=orclpdb1     #一般命名为  orclpdb1
export DATA_DIR=/u01/oradata
export PATH=$ORACLE_HOME/bin:$PATH
export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  • 编辑完成后,执行source ~/.bash_profile,使oracle用户环境变量生效。

2、安装数据库软件

2.1 上传安装文件

上传19c 安装文件到 /usr/local/src目录下,并执行一下命令解压文件至安装目录

unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

2.2 开始安装

su - oracle           # 切换到oralce用户下,
cd  $ORACLE_HOME      # 切换到安装目录
然后执行如下命令:
./runInstaller
 -ignorePrereq -waitforcompletion -silent \
  oracle.install.option=INSTALL_DB_SWONLY \
  ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \
  UNIX_GROUP_NAME=oinstall \
  INVENTORY_LOCATION=${ORA_INVENTORY} \
  ORACLE_HOME=${ORACLE_HOME} \
  ORACLE_BASE=${ORACLE_BASE} \
  oracle.install.db.InstallEdition=EE \
  oracle.install.db.OSDBA_GROUP=dba \
  oracle.install.db.OSBACKUPDBA_GROUP=backupdba
 \
  oracle.install.db.OSDGDBA_GROUP=dgdba \
  oracle.install.db.OSKMDBA_GROUP=kmdba \
  oracle.install.db.OSRACDBA_GROUP=racdba \
  SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
  DECLINE_SECURITY_UPDATES=true

注意:有时候提示 permission denied,可以切换到root用户执行

chown -R oracle:oinstall /u01/ 
chmod -R 775 /u01/

如下图,表示数据库安装成功

然后切换到root用户下,执行如下两条命令

  /u01/app/oraInventory/orainstRoot.sh
  /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

3、配置监听

su
  - oracle  #切换到oracle用户

使用以下命令启动监听:

lsnrctl start    # 启动oracle数据库监听
lsnrctl status   # 查看oracle数据库监听状态
lsnrctlstop      # 停用oracle数据库监听

注意:搭建DataGuard环境时,备库一搬安装到上述步骤即可,主库需要继续下面的步骤创建数据库

4、创建数据库

执行以下命令创建数据库:

dbca -silent-createDatabase \
  -templateName General_Purpose.dbc \
  -gdbname ${ORACLE_SID} -sid  ${ORACLE_SID} \
  -responseFile NO_VALUE \
  -characterSet AL32UTF8 \
  -sysPassword 123456 \                # 改为你的密码
  -systemPassword 123456 \
  -createAsContainerDatabase true \      #改为你的密码
  -numberOfPDBs 1 \
  -pdbName ${PDB_NAME} \
  -pdbAdminPassword 123456 \           # 改为你的密码
  -databaseType MULTIPURPOSE \
  -automaticMemoryManagement false \
  -totalMemory 800 \
  -storageType FS \
  -datafileDestination "${DATA_DIR}"\
  -redoLogFileSize 50 \
  -emConfiguration NONE \
  -ignorePreReqs

5、查看是否创建成功

sqlplus / as sysdba
使用 show parameter;或者 select table_name from dba_tables 看看是否正常

6、创建用户和表空间

****在 pdb 下操作***

# 查看数据库所有表空间(cdb和pdb显示的不同)
select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
# 查看表空间中数据文件位置
select name from v$datafile

6.1创建用户表空间

# 用户表空间
create tablespace rzdp_data 
datafile '/u01/oradata/ORCL/orclpdb1/rzdp_data_01.dbf' 
size 50m autoextendon next 50m maxsize unlimitedextent management local;

# 临时表空间
create temporary tablespacer zdp_data_temp 
tempfile '/u01/oradata/ORCL/orclpdb1/rzdp_data_temp_01.dbf' 
size 50m autoextendon next 50m maxsize 20480m extentmanagement local;

6.2 增加数据文件个数

alter tablespace rzdp_data  
add datafile'/u01/oradata/ORCL/rzdp_data_02.dbf' 
size 32212254720;

6.3设置表空间自动扩展

alter database datafile'/u01/oradata/ORCL/rzdp_data_02.dbf' 
autoextend on next 500 maxsize unlimited;

6.4 创建用户并指定表空间

# 创建用户
create user rzdp identified by rzdp2022 
default tablespace rzdp_data temporary tablespace rzdp_data_temp;

# 授权
grant connect, resource, dba to rzdp;

7、其他

7.1 plsql客户端 tnsnames.ora配置

db_orcl =
 (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 10.112.50.180)(PORT = 1521))
   (CONNECT_DATA =
     (SERVICE_NAME = orclpdb1)  # 这里配置orclpdb1(pdb数据库的名称),而不是orcl
   )
 )

7.2 sqlnet.ora配置

$ORACLE_HOME/network/admin/sqlnet.ora 文件配置如下:

NAMES.DIRECTORY_PATH=(TNSNAMES, ONAMES, HOSTNAME)
SQLNET.AUTHENTICATION_SERVICES=(TCPS,ALL)
SSL_CLIENT_AUTHENTICATION= FALSE
SSL_CIPHER_SUITES=(SSL_RSA_WITH_AES_128_CBC_SHA, SSL_DH_anon_WITH_3DES_EDE_CBC_SHA)
 
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8   # 支持低版本客户端
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
 
SQLNET.INBOUND_CONNECT_TIMEOUT= 180
SQLNET.EXPIRE_TIME =10
DIAG_ADR_ENABLED = OFF

7.3CDB PDB说明

Oracle 12C 提出了多租户环境(MultitenantEnvironment)和容器(Container)的概念, 区分了两个层级:

  1. CDB , Container Database, 数据库容器

  1. PDB, Pluggable Database, 可插拔数据库

在数据库中建立的用户对应以上两个层级:

  • COMMOM USERS , 普通用户, 一般建立在CDB层, 用户名需要以 C#或C##开头;

create user C##rzdp identified byrzdp2022;
grant connect,resource,dba toC##rzdp;
  • LOCAL USERS , 本地用户, 仅建立在PBD层,建立的时候与之前的版本一样

create user rzdp identified byrzdp2022;
grant connect,resource,dba to rzdp;

CDB相当于操作系统,调用并管理各个PDB。PDB相当于真正提供业务需求的数据库实例。

  • 查看当前连接的容器:show con_name;

  • 2查看当前cdb容器中包含的pdb库信息,见上图,当前有一个pdb,即pdb1。名称在创建库的时候指定(首先在创建环境变量的时候即指定了(bash_profile文件),只不过在创建库的时候做了引用)

select name, open_mode fromv$pdbs;  

READWRITE 表示开启,如果未开启,需要手动开启:

  • 打开某个pdb

alter pluggable  database PDB1 open;
  • 关闭某个pdb

alter pluggable database PDB1 close immediate;
  • #查看自己在哪个pdb里

show pdbs;
  • 切换当前会话到某个pdb下,如PDB1下,并查看当前连接

alter session set container=pdb1;
show con_name;
  • 将连接修改到cdb下

alter session set container=cdb$root;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxd663810

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值