前期准备
1.1下载zip包并安装组件
下载地址 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
1.2关闭防火墙并设置SELINUX
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
#进入/etc/selinux/config
vim /etc/selinux/config
#把SELINUX=enforcing改为SELINUX=disabled
#修改后如下
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
#SELINUXTYPE=targeted
SELINUX=disabled
1.3 创建组和用户并修改密码
sudo groupadd oinstall
sudo groupadd dba
sudo groupadd oper
sudo useradd -g oinstall -G dba,oper oracle
passwd oracle
1.4 创建目录
sudo mkdir /usr/local/software/oracle/oracle_19c
chown -R oracle:oinstall /usr/local/software/oracle/oracle_19c
chmod -R 775 /usr/local/software/oracle/oracle_19c
1.5 修改/etc/sysctl.conf
#进入sysctl.conf文件
vim /etc/sysctl.conf
# 追加如下
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
1.6 修改bash_profile
#切换oracle并进入bash_profile文件
sudo su oracle
vim ~/.bash_profile
# 追加如下
ORACLE_SID=orcl;export ORACLE_SID
ORACLE_UNQNAME=orcl;export ORACLE_UNQNAME
ORACLE_BASE=/usr/local/software/oracle/oracle_19c; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.3.0/db_1; export ORACLE_HOME
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TMP=/usr/local/software/oracle/oracle_19c/tmp
export TMPDIR=$TMP
export LANG=en_US.UTF-8
export PDB_NAME=pdb1
export DATA_DIR=/usr/local/software/oracle/oracle_19c/oradata
umask 022
2. 图形界面话安装
2.1 重启虚拟机一root用户登录界面执行xhost +
#1.执行 xhost +
#效果如下
access control disabled, clients can connect from any host
#2.执行 su oracle
#3.执行 cd /usr/local/software/oracle/oracle_19c/product/19.3.0/db_1
#4.export CV_ASSUME_DISTID=RHEL8.0
#5.执行 LANG=en_US ./runInstaller
#效果如下
正在启动 Oracle 数据库安装向导..
2. 2图形界面话安装oracle
1、选择仅设置软件
2、选择单实例数据库安装
3.选择企业版
4.选择安装oracle基本目录
5.选择安装产品清单目录
6、选择oracle权限管理
7、选择添加root密码,方便不用后面手动执行
8.扩大交换空间
rshell
#在原有的基础上增加swap空间
dd if=/dev/zero of=swapfile bs=1G count=16
#创建一个swap文件
mkswap swapfile
#修改swap文件权限
chmod 0600 swapfile
#激活swap文件
swapon swapfile
#需要一直保持这个 swap vim /etc/fstab
#增加以下
/home/swap/swapfile /swap swap defaults 0 0
9.点击check Again 再次安装
2.3安装oracle监听
cd /usr/local/software/oracle/oracle_19c/product/19.3.0/db_1/bin
LANG=en_US ./netca
1、选择监听程序配置
2、选择添加
3、选择监听程序名(默认)
4、选择监听协议(默认)
5、选择使用标准端口号
6、时候配置另一个监听选择否
7、监听配置完成选择下一步
8、选择完成
2.4 创建数据库
cd /usr/local/software/oracle/oracle_19c/product/19.3.0/db_1/bin
LANG=en_US ./dbca
oracle 实例安装数据库在linux输入dbca进行安装
1、选择创建数据库
2、选择高级配置
3、选择一般用途或事务处理
4、不要选择cdb安装,SID 要与环境变量一致
5、选择为数据库存储属性使用模板文件
6、选择指定快速恢复区
7、选择监听
8、不用选择,默认
9、选择安装内存,基本默认
10、不要选择安装web管理
11、把sys和system密码配置成一样的
12、选择创建数据库和生成数据库创建脚本
13、安装
建立用户与表空间
#oracle角色进入
su oracle
#source bash_profile
source ~/.bash_profile
#启监听
lsnrctl start
lsnrctl status
#启库
sqlplus / as sysdba
startup nomount;
alter database mount;
alter database open;
#关库
sqlplus / as sysdba
shutdown immediate
-- 1.创建表空间
create tablespace tbs_taxi datafile '/usr/local/software/oracle/oracle_19c/oradata/tbs_taxi/tbs_taxi_001.dbf' size 1024M;
-- 2.创建临时表空间
create temporary tablespace tmp_taxi tempfile '/usr/local/software/oracle/oracle_19c/tmp/tmp_taxi/tmp_taxi_001.dbf' size 1024M;
-- 3.方式一:创建用户并指定表空间
create user taxi identified by taxi default tablespace tbs_taxi temporary tablespace tmp_taxi;
-- 3.方式二:创建用户并指定表空间
create user taxi IDENTIFIED BY taxi;
alter user taxi default tablespace tbs_taxi temporary tablespace tmp_taxi;
-- 4. 授权
grant dba to taxi;
表空间其他操作
-- 表空间操作
select * from dba_users t where t.USERNAME = 'TAXI';
select * from dba_data_files t where t.TABLESPACE_NAME = 'TBS_TAXI';
-- 改变当前表空间大小
alter database datafile '/usr/local/software/oracle/oracle_19c/oradata/tbs_taxi/tbs_taxi_001.dbf' resize 9126M;
-- 增加新的表空间文件
alter tablespace TBS_WHFJDC add datafile '/usr/local/software/oracle/oracle_19c/oradata/tbs_taxi/tbs_taxi_002.dbf' size 1024M;
-- 临时表空间操作
select * from dba_users t where t.USERNAME = 'TAXI';
select * from dba_temp_files t where t.TABLESPACE_NAME = 'TMP_TAXI';
-- 改变当前表空间大小
alter database tempfile '/usr/local/software/oracle/oracle_19c/tmp/tmp_taxi/tmp_taxi_001.dbf'resize 9126m;
-- 增加新的表空间文件
alter tablespace TMP_MAINTENANCE add tempfile '/usr/local/software/oracle/oracle_19c/tmp/tmp_taxi/tmp_taxi_002.dbf' size 16384M;