Linux 部署Oracle19C 保姆级教程

967 阅读3分钟

1、系统环境信息交代

1.1 Linux系统

版本:Oracle linux 7.7

主机名:TESTOracle

1.2 涉及的镜像&软件包

Linux: oracle linux7.7

Oracle: oracle19c

1.3 账户密码预定

linux系统root用户:
root
password

oracle系统用户密码
oracle
password

1.4 数据库信息预定

oracle数据库实例服务名SID:
testdb

新建的数据库用户密码,授权DBA权限:
test1
password

2、部署教程

2.1 配置hosts

echo "10.0.0.1 TESTOracle">> /etc/hosts

2.2 关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

(后续需要打开释放对应端口即可)

2.3 创建oracle官方安装目录

两种方式:

  1. Linux分区指定的方式为:安装linux时,硬盘分区将/home 改为 opt/oracle

  2. 此时手动创建路径 mkdir -p /opt/oracle

(已提前在linux安装时做好分区的此处就无需再创建)

2.4 配置yum环境

挂载cdrom到mnt/linux 配置yum源

mkdir /mnt/linux
mount /dev/cdrom /mnt/linux
cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]" >> /etc/yum.repos.d/oracle.repo
echo "name =Linux 7.x DVD" >> /etc/yum.repos.d/oracle.repo
echo "baseurl=file:///mnt/linux" >> /etc/yum.repos.d/oracle.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/oracle.repo
echo "enabled=1 " >> /etc/yum.repos.d/oracle.repo
cat /etc/yum.repos.d/oracle.repo

2.5 oracle前置环境预配置

如在vmware虚拟机部署,可将本地配置文件包共享到虚拟机中,然后cd /mnt/hgfs/ISO或者到软件的存放目录执行下面的安装(此为在虚拟机上外部挂载了本地共享文件夹的路径

如不不通过以上共享文件夹的方式挂载文件夹,就需要winscp单独传输相关安装包到系统文件夹内
rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

报错缺少环境根据环境检测提示安装所需的包, 然后在重新执行安装前置环境
yum -y install ksh libaio-devel

2.6 修改oracle用户的密码为password

su - oracle
passwd oracle
password
再次确认

2.7 手工目录授权

chown -R oracle:oinstall /opt/oracle
chmod -R 775 /opt/oracle

2.8 正式部署数据库软件

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

2.9 配置数据库创建的配置文件

拷贝默认数据库创建的配置文件,复制一份命名为自定义的,然后全局替换和修改参数为自定义的参数需求

cd /etc/sysconfig/
cp oracledb_ORCLCDB-19c.conf oracledb_testdb-19c.conf


cd /etc/init.d/
cp oracledb_ORCLCDB-19c oracledb_testdb-19c


vim oracledb_testdb-19c

:%s/ORCLCDB/testdb/g
:%s/ORCLPDB1/testdb/g

export ORACLE_VERSIOM=19c
export ORACLE_SID=testdb
export TEMPLATE_NAME--General_Purpose.dbc
export CHARSET=ZHS16GBK
export PDB_NAME=testdb
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=false
:wq!

2.10 创建数据库(安装dbca)

/etc/init.d/oracledb_testdb-19c configure

2.11 配置环境变量

su - oracle
echo "export LANG=en_US" >> ~/.bash_profile
echo "export ORACLE_BASE=opt/oracle" >> ~/.bash_profile
echo "export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1" >> ~/.bash_profile
echo "export ORACLE_UNQNAME=testdb" >> ~/.bash_profile
echo "export ORACLE_SID=testdb" >> ~/.bash_profile
echo "NLS_LANG-AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG" >> ~/.bash_profile
echo "export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin" >> ~/.bash_profile

source ~/.bash_profile
env |grep ORACLE

2.12 检查环境

su - oracle
ps -ef|grep smon
echo $ORACLE_HOME
lsnrctl status

2.13 测试用数据库工具来启停数据库

/etc/init.d/oracledb_testdb-19c
Usage: /etc/init.d/oracledb_testdb-19c {start stop restart configure}


/etc/init.d/oracledb_testdb-19c stop
/etc/init.d/oracledb_testdb-19c start

2.14 数据库监听服务启停
lsnrctl stop

lsnrctl start

2.15 数据库启停操作

sqlplus / as sysdba    进入数据库
shutdown immediate;    停止数据库
startup                启动数据库

2.16 配置数据库为归档模式

archive log list;   查看归档状态是否开启

改变非归档模式到归档模式:

SQL> conn / as sysdba (以DBA身份连接数据库)
SQL> shutdown immediate; (立即关闭数据库)
SQL> startup mount; (启动实例并加载数据库,但不打开)
SQL> alter database archivelog; (更改数据库为归档模式)
SQL> alter database open; (打开数据库)
SQL> alter system archive log start; (启用自动归档)
SQL> exit (退出)
alter system set db_recovery_file_dest_size=100G; 修改归档日志区域空间为100G(可选)

2.17 创建表空间,用户与授权

select name from v$datafile; 数据库文件空间地址查询

创建一个名为testdbs的表空间,包括一个名为testdbs01的数据文件,大小2000M的表空间 并自动扩容每次1000M(标红路径要和查询出来的文件空间路径一致)
create tablespace testdbs datafile /opt/oracle/oradata/testdb/testdbs01.dbf' size 2000M AutoExtend On Next 1000M
segment space management auto;

2.18 检查数据库表空间是否为自动扩展

Select a.FILE_NAME,a.AUTOEXTENSIBLE,a.MAXBYTES,a.INCREMENT_BY from dba_data_files a;

2.19 创建用户并关联表空间

创建用户test1 密码password并关联默认表空间为testdbs 和临时表空间

create user test1 identified by password default tablespace testdbs temporary tablespace Temp;

2.20 授权用户test1为DBA权限

grant dba to test1;

------------------------------------------------------------------End