linux安装oracle19c

前言:此处主要描述为何选19c;

以前主要使用oracle11c,后来12c以后,与11c差异较大,主要是由于oracle从12c开始引入了容器(PDB和CDB)、租户的概念。

粗浅的来看,就是创建用户命名必须C##开头,其他变化属于正常迭代优化。

另外oracle在12c以后改变了版本策略,现在都叫18c\19c\20c,一年一个版本,19c其实也属于12c的一个小版本。

Oracle 19c 相当于 12.2.0.3 版本,是 Oracle 12c 的最终版,是一个长期维护版本。所以这一版本中,不会有太多的新特性,更重要的是稳定性的增强,使得用户能够更多的迁移到12c这个主流版本中。

所以现在如果上生产,19c是最好的选择。

一、下载安装包

需要下载安装包:

oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

oracle-database-ee-19c-1.0-1.x86_64.rpm

另外,由于我使用的系统版本是redhat8.4,发现如果系统未注册,yum将无法从服务器下载依赖包。需要提前注册系统,并且修改yum镜像地址。我使用的是阿里地址:

阿里巴巴源地址阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

几乎所有系统需要的yum源都能找到,你可以根据你的系统选择。

yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm

二、rpm安装

使用命令安装软件,oracle安装要求硬盘空间足够,如果硬盘不够奖安装不成功。

##移动到rpm安装包目录

yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

配置环境变量

vi /home/oracle/.bash_profile 
# .bash_profile 
# Get the aliases and functions 
if [ -f ~/.bashrc ]; 
then 
. ~/.bashrc 
fi 
# User specific environment and startup programs 
export ORACLE_BASE=/opt/oracle 
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 
export PATH=$ORACLE_HOME/bin:$PATH 
#配置数据库实例名 
export ORACLE_SID=ORCLCDB

配置建库脚本

vi /etc/init.d/oracledb_ORCLCDB-19c 
#修改配置脚本 
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 
export ORACLE_VERSION=19c 
#此处是数据库实例名,应与前述配置一致 
export ORACLE_SID=ORCLCDB 
export TEMPLATE_NAME=General_Purpose.dbc 
#此处是数据库字符集,根据自己情况配置。中国一般使用ZHS16GBK。不过我使用的默认字符集AL32UTF8。虽然占用空间变大,但是兼容更多语言。 
export CHARSET=AL32UTF8 
export PDB_NAME=ORCLPDB1 
export LISTENER_NAME=LISTENER 
export NUMBER_OF_PDBS=1 
#是否创建CDB数据库,cdb数据库指容器数据库,是12c以后才有的特定,可以选择false。直接创建pdb数据库,如此用法将与11c一致。此处我本来就是为了学习新版本,所以选默认方式。 
export CREATE_AS_CDB=true

三、创建实例,启动应用

创建数据库,执行如下命令

cd /etc/init.d/ ./oracledb_ORCLCDB-19c configure

执行完以后,需要使用sys修改密码。

切换oracle用户,使用 sqlplus / as sysdba 登录系统,如果发现中文显示???,需要在系统参数中配置字符集。

vi ~/.bash_profile 
#增加如下配置 
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8" 

#由于本机修改后,字符集不生效,我将环境变量写入了全局配置中。 
vi /etc/profile 
#新增 
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

重新登录sqlplus后,发现中文正常了。

四、配置自启动

为防止系统重启后,数据库不能使用,现设置开机自启动。

vi /etc/oratab 
#修改N变为Y 
ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y

#新增启动脚本

vim /usr/bin/oracle.sh 
#内容如下 
#! /bin/bash 
/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start 
/opt/oracle/product/19c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1

#创建oracle服务

chmod 777 /usr/bin/oracle.sh 
#新增服务配置 
vi /etc/systemd/system/oracle19c.service 
#内容如下 
[Unit] 
Description=Oracle19c 
After=syslog.target 
network.target 
[Service] 
LimitMEMLOCK=infinity 
LimitNOFILE=65535 
Type=oneshot 
RemainAfterExit=yes 
User=oracle 
Environment="ORACLE_HOME=/opt/oracle/product/19c/dbhome_1" 
ExecStart=/usr/bin/oracle.sh 
[Install] 
WantedBy=multi-user.target

#设置开机自启动

systemctl enable oracle19c

五、修改dba密码,使用数据库

使用sqlplus登录窗口,修改密码

#使用sqlplus登录系统 sqlplus / as sysdba #执行如下语句修改dba密码 alter user sys identified by "密码"; alter user system identified by "密码";

使用远程客户端链接oracle。

直接登录dba,将可以进行数据库操作。

此处我创建一个新用户,作为示例。

服务器上创建目录/var/data/oracle/datafile

在plsql中以sysdba权限登录sys用户。

#创建数据表空间
CREATE TABLESPACE TBS_OUTMAN_DATA LOGGING DATAFILE '/var/data/oracle/datafile/TBS_OUTMAN_DATA.DBF' SIZE 1G AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL; 

#创建索引表空间
CREATE TABLESPACE TBS_OUTMAN_INDEX LOGGING DATAFILE '/var/data/oracle/datafile/TBS_OUTMAN_INDEX.DBF' SIZE 500M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL; 

#创建临时表空间
CREATE TEMPORARY TABLESPACE TBS_OUTMAN_TEMP TEMPFILE '/var/data/oracle/datafile/TBS_OUTMAN_TEMP.DBF' SIZE 100M AUTOEXTEND ON NEXT 100M EXTENT MANAGEMENT LOCAL; 

#创建用户
CREATE USER "C##OUTMAN" IDENTIFIED BY "密码" DEFAULT TABLESPACE TBS_OUTMAN_DATA TEMPORARY TABLESPACE TBS_OUTMAN_TEMP; GRANT DBA,CONNECT,RESOURCE TO "C##OUTMAN";

退出sys用户,登录C##OUTMAN用户。测试相关功能正常

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值