19c开始,oracle提供了rmp安装包。感觉安装更方便一些了。记录一次测试环境安装。
1,创建交换空间
2,下载oracle 19c必要文件(oracle官网下载需要注册帐号,可以用迅雷下载后再上传到服务器)
1,https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#19c (主安装包)
2,https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
下载oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
3,安装
1,如果使用云服务器安装,需要在/etc/hosts中为主机名加入云主机的内网地址,不能用127.0.0.1,配置时会报错。
1,rpm -ivh oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
a,报错
缺少一些依赖。尝试安装所缺少依赖 yum install 这些包,在redhat中要使用yum需要注册。可以加入红帽开发者,以获得一个免费的订阅。
compat-libcap1
glibc-devel
ksh
libaio-devel
libstdc++-devel
安装了这些包之后再次尝试rpm -ivh oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
安装成功!
2,rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm
安装主目录完成,需要配置。
3,配置(要在root用户下配置) /etc/init.d/oracledb_ORCLCDB-19c configure
这个过程需要十几分钟。
配置完成!
这个过程结束后,会自动创建一个用户名是oracle的用户。
4,修改环境变量。
cd /home/oracle 进入到oracle用户
vim .bashrc 修改oracle用户的环境变量
i键插入
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:${ORACLE_HOME}/bin
export ORACLE_SID=ORCLCDB
ESC退出编辑,:wq保存退出。
5,登陆
切换到oracle用户,su oracle
sqlplus / as sysdba
6,navicat使用system用户登陆数据库
a,修改system用户密码
查看密码过期时间
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
180天
改为不限制。
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改后
变成无限制UNLIMITED
b,查看当前PDB
c,注意服务名为PRCLPDB1
d,注意
使用sqlplus创建PDB用户,那么这个用户只能连接当前指定的PDB。
JDBC连接PDB,URL为 jdbc:oracle:thin:@IP:1521/ORCLPDB1 1521后面冒号变为斜杠
sqlplus切换到PDB容器
SQL> alter session set container=ORCLPDB1;
Session altered.
SQL> conn system/oracle;
Connected.
e,开启自启动
1,oracle19c,依然使用/opt/oracle/product/19c/dbhome_1/bin中
lsnrctl start/stop 启动/关闭监听
dbstart 启动实例
2,修改/etc/oratab文件内容。环境中只有一个实例,因此只有一行配置语句。
这行语句第一个区域的值是sid,第二个区域的值是数据库主目录,
第三个区域的值Y或N代表你是否想要以dbstart和dbshut脚本启动并关闭数据库。
(作用是能不能用$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut来启动和关闭数据库)
将ORCLCDB:/opt/oracle/product/19c/dbhome_1:N
改为ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
3,修改$ORACLE_HOME/bin/dbstart和$ORACLE_HOME/bin/dbshut这两个文件
因为初始化状态没有配置环境变量。
这两个文件是启动和关闭数据库实例
将ORACLE_HOME_LISTNER=$1
改为ORACLE_HOME_LISTNER=$ORACLE_HOME
4,配置监听(按照需求配置)(/opt/oracle/product/19c/dbhome_1/network/admin/listener.ora)
listener.ora文件中添加以下配置,表示一个CDB为ORCLCDB,一个PDBORCLPDB1。
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCLCDB)
(ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)
(SID_NAME = ORCLCDB)
)
(SID_DESC =
(GLOBAL_DBNAME = ORCLPDB1)
(SID_NAME = ORCLCDB)
)
)
5,设置PDB自启动。默认状态每次数据库重启,PDB会取消挂载状态。
sqlplus / as sysdba
开启名字为ORCLPDB1的PDB
alter pluggable database ORCLPDB1 open;
其实这句意思是保存当前PDB状态。保存ORCLPDB1的状态。
alter pluggable database ORCLPDB1 save state;
使用PDB
alter session set container = ORCLPDB1;
6,配置/etc/rc.d/rc.local
加入
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
为rc.local授权
chmod 755 rc.local
7,注意防火墙要开启1521端口。
8,基本上一个测试环境就可以用了,但是要用于生产环境还远远不够,还有很多配置需要改变。