0.环境准备
0.1云服务器CentOS版本
[root@cctv ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
0.2Oracle19c相关资源下载
oracle官网下载:https://docs.oracle.com/en/database/oracle/oracle-database/index.html
百度网盘链接(含win客户端):https://pan.baidu.com/s/1iDi2cRo33xnkNm40M3voBQ?pwd=1234
提取码:1234
Linux上传以下第一个红色方框的三个rpm包即可。
1.数据库安装
#0.上传以下三个rpm包
oracle-database-ee-19c-1.0-1.x86_64.rpm
oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
rlwrap-0.43-5.el8.x86_64.rpm
#1.更新yum源(建议)
yum update -y
#2.安装Oracle环境依赖
yum localinstall oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
#3.解决sqlplus 方向键和回退键会变乱码问题
yum localinstall rlwrap-0.43-5.el8.x86_64.rpm
#4.查看是否已经创建Oracle(上一步完成后会自动创建)
id oracle
#5.给host文件添加主机域名,方便快速访问
[root@cctv ~]# tail -1 /etc/hosts
主机ip cctv
#6.oracle19c 数据库安装(看服务器性能,我的大概等半个钟)
yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
2.环境变量配置
2.1编辑文件
#1.使用root编辑
vim /home/oracle/.bash_profile
#2.给.bash_profile文件添加以下内容:
#linux服务器主机名(hostname命令可查)
export ORACLE_HOSTNAME=cctv
#设置成数据库实例名(根据建立的数据库修改)
export ORACLE_UNQNAME=ORCLCDB
#数据库实例名(根据建立的数据库修改,建议就用这个)
export ORACLE_SID=ORCLCDB
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_INVENTORY=$ORACLE_BASE/oraInventory
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#sqlplus 操作需要用到的编码,要和数据库编码一致
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
#下面三个是为了解决sqlplus下方向键和回退键不能使用的问题,必须安装 rlwrap
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias ggsci='rlwrap ggsci'
2.2验证环境变量
#1.切换到oracle
su - oracle
echo $ORACLE_HOME
[oracle@cctv ~]$ echo $ORACLE_HOME
/opt/oracle/product/19c/dbhome_1
#2.在root用户下静默安装 ORCLCDB(容器数据库)、ORCLPDB1(可插拔数据库)(大概20分钟左右)
/etc/init.d/oracledb_ORCLCDB-19c configure
#3.切换到oracle用户可以通过 lsnrctl status 查看实例与监听状态
3.优化体验
#1.oracle用户下登录
sqlplus / as sysdba
#2.查看数据库编码,对照/home/oracle/.bash_profile,编码不一样会导致乱码
select userenv('language') from dual;
#3.查询数据库用户密码有效期,可以看到默认是180天
SELECT * FROM dba_profiles s Where s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME' ;
#4.修改为永不过期
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
4.自启动配置
服务器重启之后,服务自动重启配置:
#1.oracle用户操作,修改文件(vim /etc/oratab) 把最后一行的N改成Y
ORCLCDB:/opt/oracle/product/19c/dbhome_1: Y
#2.root用户操作,修改centos系统启动脚(vim /etc/rc.d/rc.local), 添加以下四行(注释可以不加)
#启动监听
su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start"
#启动数据库
su oracle -lc /opt/oracle/product/19c/dbhome_1/bin/dbstart
#3.root用户添加可执行权限
chmod +x /etc/rc.d/rc.local
4、重启服务器,验证是否成功,可以查看oracle进程,通过: ps -ef | grep ora_
5.创建远程连接用户
5.1创建连接用户
#创建用户 赋予访问资源与连接权限,参考:https://zhuanlan.zhihu.com/p/471403457
#oracle用户下登录数据库,执行相关语句
sqlplus / as sysdba
alter session set "_ORACLE_SCRIPT"=true;
create user cctv identified by 123456;
grant connect, resource to cctv;
alter session set "_ORACLE_SCRIPT"=false;
5.2 配置服务端监听
/opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
加上以下内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(GLOBAL_DBNAME = ORCL)
(SID_NAME = ORCL)
)
(SID_DESC=
(GLOBAL_DBNAME = PDB1)
(SID_NAME = PDB1)
)
)
5.3win安装Oracle客户端
在前面提到的百度网盘下载: WINDOWS.X64_193000_client.zip
配置win客户端监听:
D:\app\client\cwy15\product\19.0.0\client_1\network\admin\tnsnames.ora
PDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 远程主机ip地址)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLCDB)
)
)
5.4 开放安全组的下行端口
我这里使用的是青云的服务器。开放数据库端口1521,并应用修改,把安全组绑定到云资源服务器。
检查:在本地 telnet ip 端口
看链路是否通畅,如telnet 127.0.0.1 22
如果没有问题就可以使用连接工具连接
5.5 使用dbeaver工具连接Oracle
第一次需要联网,连接时会提示下载Oracle启动,需要下载再去再次连接
【数据库】–>【新建数据库连接】—>选中Oracle图标–>【下一步】–>
注意:云主机ip填写的是公网ip
其他:命令创建数据库实例参考
该文部分参考:云服务器centos8安装oracle19c