Centos7上以RPM包方式安裝Oracle 18c XE
安裝阿里雲 YUM 源
https://opsx.alibaba.com/mirror?lang=zh-CN
一、安裝oracle數據庫
- 安裝Oracle預安裝RPM
yum -y localinstall https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm
- 安裝Oracle Database RPM
yum localinstall -y oracle-database-xe-18c-1.0-1.x86_64.rpm
二、創建和配置Oracle數據庫
1.查看配置
#根據需要修改
cat /etc/sysconfig/oracle-xe-18c.conf
[root@localhost sysconfig]# cat oracle-xe-18c.conf
#This is a configuration file to setup the Oracle Database.
#It is used when running '/etc/init.d/oracle-xe-18c configure'.
# LISTENER PORT used Database listener, Leave empty for automatic port assignment
LISTENER_PORT=1521
# EM_EXPRESS_PORT Oracle EM Express URL port
EM_EXPRESS_PORT=5500
# Character set of the database
CHARSET=AL32UTF8
# Database file directory
# If not specified, database files are stored under Oracle base/oradata
DBFILE_DEST=
# SKIP Validations, memory, space
SKIP_VALIDATIONS=false
2.創建Oracle數據庫實例
執行腳本
/etc/init.d/oracle-xe-18c configure
# 執行腳本之后將創建一個容器數據庫(ROOTCDB)和一個可插拔數據庫(XEPDB1),並且配置的默認監聽端口是1521。
注意: /opt 目錄剩余空間大小
[root@localhost home]# /etc/init.d/oracle-xe-18c configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database XE.
Enter SYS user password:
**********
Enter SYSTEM user password:
**********
Enter PDBADMIN User Password:
**********
Prepare for db operation
7% complete
Copying database files
29% complete
Creating and starting Oracle instance
30% complete
31% complete
34% complete
38% complete
41% complete
43% complete
Completing Database Creation
47% complete
50% complete
Creating Pluggable Databases
54% complete
71% complete
Executing Post Configuration Actions
93% complete
Running Custom Scripts
100% complete
Database creation complete. For details check the logfiles at:
/opt/oracle/cfgtoollogs/dbca/XE.
Database Information:
Global Database Name:XE
System Identifier(SID):XE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/XE/XE.log" for further details.
Connect to Oracle Database using one of the connect strings:
Pluggable database: localhost.localdomain/XEPDB1
Multitenant container database: localhost.localdomain
Use https://localhost:5500/em to access Oracle Enterprise Manager for Oracle Database XE
[root@localhost home]# echo $?
0
三、使用
#作用於/etc/profile 一樣
vi /etc/profile.d/oracle.sh
#!/bin/bash
export ORACLE_SID=XE
export ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE
export ORACLE_BASE=/opt/oracle
export PATH=$PATH:/opt/oracle/product/18c/dbhomeXE/bin
#刷新環境變量
source /etc/profile.d/oracle.sh
相關命令
#監聽端口查看
netstat -tunlp | grep -E '1521|5500'
# 監聽
lsnrctl start
lsnrctl stop
lsnrctl stat
# 數據庫
dbstart $ORACLE_HOME
dbshut $ORACLE_HOME
連接到oracle數據庫
# 切換到 oracle 用戶,root 用戶下無法連接su - oracle
# 啟動監聽
lsnrctl start
# 以 sysdba 身份登錄
sqlplus / as sysdba
修改數據庫密碼
-- 啟動數據庫
startup;
-- 配置 system 和 sys 賬戶的密碼
alter user system identified by abc123456;
alter user sys identified by abc123456;
-- 版本查詢
select banner from sys.v_$version;
-- 查看所有用戶
select username from dba_users;
開放防火牆端口
firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --reload
firewall-cmd --list-ports
四、添加開機自啟動
1.新建環境參數
vi /etc/sysconfig/XE.oracledb
ORACLE_BASE=/opt/oracle/oradata
ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE
ORACLE_SID=XE
2.新建監聽服務
vi /usr/lib/systemd/system/XE@lsnrctl.service
[Unit]
Description=Oracle Net Listener
After=network.target
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/XE.oracledb
ExecStart=/opt/oracle/product/18c/dbhomeXE/bin/lsnrctl start
ExecStop=/opt/oracle/product/18c/dbhomeXE/bin/lsnrctl stop
User=oracle
[Install]
WantedBy=multi-user.target
3.新建數據庫服務
vi /usr/lib/systemd/system/XE@oracledb.service
[Unit]
Description=Oracle Database service
After=network.target lsnrctl.service
[Service]
Type=forking
EnvironmentFile=/etc/sysconfig/ORCLCDB.oracledb
ExecStart=/opt/oracle/product/18c/dbhomeXE/bin/dbstart $ORACLE_HOME
ExecStop=/opt/oracle/product/18c/dbhomeXE/bin/dbshut $ORACLE_HOME
User=oracle
[Install]
WantedBy=multi-user.target
4.設置服務自啟動
# 刷新服務
systemctl daemon-reload
# 設置開機自啟動
systemctl enable XE@lsnrctl XE@oracledb
5.設置數據庫自啟動
# 此文件由 root.sh 創建
# 格式為:$ORACLE_SID:$ORACLE_HOME:<N|Y>
# 第一個和第二個字段分別是數據庫的系統標識符和主目錄。
第三個字段為是否跟隨 dbstart 命令啟動數據庫實例
# 不允許有相同 $ORACLE_SID 的條目
vi /etc/oratab
XE:/opt/oracle/product/18c/dbhomeXE:Y