下载RPM安装包
(1)preinstall预安装包
http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
(2)Oracle 的rpm 安装包
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
安装
yum localinstall -y oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
yum localinstall -y oracle-database-ee-19c-1.0-1.x86_64.rpm
修改字符集以及其他的配置
vim /etc/init.d/oracledb_ORCLCDB-19c
修改字符编码 export CHARSET=ZHS16GBK
初始化数据库
/etc/init.d/oracledb_ORCLCDB-19c configure
时间较久,这里遇到了个问题
初始化的时候报错
LISTENER:No valid IP Address returned for the host VM-20-15-centos.
找不到主机名对应的有效IP地址
解决方法:
配置/etc/hosts,增加主机名和当前内网IP的关系
x.x.x.x(不要用127.0.0.1) VM-20-15-centos
配置环境变量
1.修改oracle用户密码
passwd oracle
2.切换至oracle用户,设置环境变量
注意不要再root用户下执行下列操作,否则后面会出现命令找不到的情况
su oracle
vim .bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export ORACLE_PDB_SID=ORCLPDB1
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=american_america.ZHS16GBK
3.使用Oracle登录进行相关的处理
sqlplus / as sysdba
4.创建自动启动pdb的触发器
//创建
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/
//查看所有的触发器
select trigger_name from all_triggers where table_name='OPEN_ALL_PDBS';
//查看触发器的写法
select text from all_source where type='TRIGGER' AND name='OPEN_ALL_PDBS';
//删除触发器
drop trigger OPEN_ALL_PDBS;
5.安装完毕重启数据库服务器
reboot
启动数据库
1.启动
su - oracle
lsnrctl start #启动监听,oracle下要有相应的环境变量
sys用数据库的超级用户,数据库内很多重要的东西(数据字典表、内置包、静态数据字典视图等)都属于这个用户,sys用户必须以sysdba身份登录。
sqlplus / as sysdba
startup
2.查看已启用的用户
select username from dba_users where account_status='OPEN';
3.修改用户密码
alter user sys identified by 密码
alter user system identified by 密码
创建用户
1.管理员登录
sqlplus / as sysdba
2.创建用户
从12c开始 oracle添加了CDB,默认连接的都是CDB,
在不切换到pdb的情况下,创建用户名需要加C##的前缀
create user c##cheng IDENTIFIED BY 密码;
3.用户添加权限
grant connect,resource,unlimited tablespace to c##cheng container=all;