一、准备材料
1. Oracle Linux 8.7
官方下载地址:https://yum.oracle.com/oracle-linux-isos.html
阿里云:https://mirrors.aliyun.com/oracle/OL8/u6/aarch64/?spm=a2c6h.25603864.0.0.5af832b2QFtndn
大概7-8G,休息半小时慢慢下载。
安装选择最小安装即可,建议分配2核心4G内存30G硬盘以上。
2. oracle19c zip包(aarch)
下载地址:https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html#19c
二、安装
1. 关闭Linux的SeLinux和防火墙
vi /etc/selinux/config
SELINUX=disabled
systemctl stop firewalld
systemctl disable firewalld
2. 安装oracle的基本环境
没搞国内镜像,好慢,使用魔法吧
dnf install perl rsyslog
dnf install oracle-database-preinstall-19c
3. 创建oracle安装目录并授权
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 777 /u01
4. 切换到oracle用户,修改环境变量
su - oracle
vi .bash_profile
# 追加以下#######################
# Fake Oracle Linux 7 (指定为类似 OEL8.1、OEL8.7也可,如果操作系统是类RHEL7版本系统,可以不需要这个定义 )
export CV_ASSUME_DISTID=OEL8.7
# Oracle Settings
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=orcl
export PATH=.:$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
################################
# 刷新环境变量
source .bash_profile
5. 上传zip包,解压到安装目录
mkdir -p /u01/software/Oracle19c
unzip -q /u01/software/Oracle19c/LINUX.ARM64_1919000_db_home.zip -d $ORACLE_HOME
6. 修改安装参数,开始安装
# 修改安装参数
vi ${ORACLE_HOME}/install/response/db_install.rsp
# 修改以下参数################
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
ORACLE_BASE=/u01/app/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.config.starterdb.type=GENERAL_PURPOSE //数据库类型
oracle.install.db.config.starterdb.SID=orcl
################################
# 安装
cd $ORACLE_HOME
./runInstaller -ignorePrereq -waitforcompletion -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp
安装过程根据提示
注意这个提示,root用户执行类似脚本
As a root user, execute the following script(s):
1. /data/oracle/app/oraInventory/orainstRoot.sh
2. /data/oracle/app/oracle/product/19.0.0/dbhome_1/root.sh
# 切换到root用户,执行以上两个脚本
7. 创建数据库实例
vi $ORACLE_HOME/assistants/dbca/dbca.rsp
GDBNAME = orcl
SID = orcl
templateName=General_Purpose.dbc
dbca -silent -createDatabase -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp
根据提示输入sys、system的口令密码
忽略弱密码警告,不是报错
8. 配置监听
netca /silent /responsefile $ORACLE_HOME/assistants/netca/netca.rsp
配置允许远程连接oracle
lsnrctl stop
vi $ORACLE_HOME/network/admin/listener.ora
HOST = 0.0.0.0
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
lsnrctl start
9. 激活数据库
sqlplus / as sysdba
激活数据库
startup;
alter system register;
10. 创建用户
create user 用户 identified by 密码;
grant connect, resource,dba to 用户;
三、修复显示???和客户端无法使用删除键问题
1.修复显示???
将Linux和oracle的字符集设为一致
# 切换用户,登录oracle,查看字符集
su - oracle
sqlplus / as sysdba
select userenv('language') from dual;
# 查询结果类似于以下,复制查到的字符集
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.AL32UTF8
# 添加到环境变量
vim ~/.bash_profile
# 追加以下内容,根据查到的结果自己修改
export NLS_LANG="你查询到的字符集"
#我的是export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
# 刷新环境变量
source ~/.bash_profile
2. 修复无法使用删除键、上下键
sqlplus中打错sql命令时不能左右移位,不能删除,只能回车重新写,非常麻烦。通过安装rlwrap解决
出错如下:>aa ^H^H^[[D^[[D^[[C^[[A
2.1 安装 readline
因为rlwrap依赖readline,所以安装rlwrap之前需要readline。
yum -y install readline
yum -y install readline-devel
2.2 安装rlwrap
下载地址:在https://centos.pkgs.org/中搜索rlwrap的rpm包
注:我的安装包放在了/opt目录,所以安装包的路径为 /opt/xxxx,根据自己的路径修改
yum -y localinstall /opt/rlwrap-0.45.2-2.el7.x86_64.rpm
# 添加到环境变量
# 切换到oracle用户
su - oracle
# 编辑环境变量
vim .bash_profile
# 追加以下内容
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
# 刷新环境变量
source .bash_profile