原文位于:
现在干点啥都要学数据库,害怕把自己电脑系统搞崩,所以拿虚拟机试了一下,结果一直不对。废了好大劲才算搞好,记录一下,万一下次还能用到。
1.系统设置
建议把磁盘空间设大一点,30G以上,并重新设置各个分区的大小
下面是我的虚拟机系统上各个分区的大小
Filesystem Size Used Avail Use% Mounted on
devtmpfs 975M 0 975M 0% /dev
tmpfs 992M 468M 524M 48% /dev/shm
tmpfs 992M 11M 981M 2% /run
tmpfs 992M 0 992M 0% /sys/fs/cgroup
/dev/mapper/centos-root 21G 16G 5.4G 75% /
/dev/sda1 1014M 172M 843M 17% /boot
/dev/mapper/centos-home 8.0G 2.6G 5.5G 32% /home
tmpfs 199M 56K 199M 1% /run/user/54321
/dev/sr0 4.5G 4.5G 0 100% /run/media/oracle/CentOS 7 x86_64
2.oracle下载
下载地址:
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
上边两个文件都要下载,第一个是预安装的包(个人理解,,,,),包含的各种库文件等,第二个是数据库的安装包,建议下载rpm文件,zip文件如果在linux下解压,容易出现权限不足等乱七八糟的问题
我下载的是19c版本
3.安装
这里要求root权限
yum localinstall -y oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
yum localinstall -y oracle-database-ee-19c-1.0-1.x86_64.rpm
4.配置
安装成功之后还无法使用oracle,需要对一些配置进行修改
此时最好切换到root用户
vim /etc/init.d/oracledb_ORCLCDB-19c
将对应的项修改成下面的形式
export ORACLE_VERSION=19c
export ORACLE_SID=ORA19C
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=ZHS16GBK
export PDB_NAME=ORA19CPDBexport LISTENER_NAME=LISTENERexport NUMBER_OF_PDBS=1export CREATE_AS_CDB=true
然后要对一些参数文件进行复制
cd /etc/sysconfig/
cp oracledb_ORCLCDB-19c.conf oracledb_ORA19C-19c.conf
最后以root用户执行配置命令
/etc/init.d/oracledb_ORCLCDB-19c configure
这里耗时会比较长,耐心等待即可。
我在安装时,这个地方一直出错,提示虚拟空间不足,或者不符合配置要求,后来才发现是因为文件分区的空间设置不太对,作为一个菜鸟,实在搞不太懂怎么处理,最后还是直接重装了系统,在系统安装的时候直接设置了分区的大小
5.后续操作
增加环境变量:
vim /etc/profile.d/oracle19c.sh
增加内容:
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export ORACLE_SID=ORA19C
修改Oracle用户的密码
passwd oracle
使用Oracle登录进行相关的处理
sqlplus / as sysdba
查看pdb信息
show pdbs
PDB是用来远程连接数据库,如果用不到可以不用设置PDB自动启动
下面是在Oracle中执行的命令
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/
6.完成