使用.rmp文件在redhat7.9安装oracle19c
19c开始,oracle提供了rmp安装包。感觉安装更方便一些了。记录一次测试环境安装。不可用于生产环境。
1,创建交换空间(使用分区或者文件)
- Oracle官方给出的文档说明是内存和交换空间的关系。
- 没有使用大页,所以4G内存设置4G交换空间,因为是云服务器,所以使用文件设置交换空间。
- root用户下:
- dd if=/dev/zero of=/dir/myswapfile bs=1024 count=number_blocks_needed
- dir 是有权在其中添加交换空间的目录。
- myswapfile 是要创建的交换文件的名称。
- bs=1024 这代表一块大小为1KB。
- number_blocks_needed 是要创建的 1024 字节块的数量。如4GB=4096000
- ls -l /dir/myswapfile (确认文件是否创建成功)
- mkswap /dir/myswapfile (初始化新的交换空间)
- swapon -a /dir/myswapfile (启动 -a:自动启动所有SWAP装置(停止命令是swapoff /dir/myswapfile))
- swapon -s 或者 free-m (查看是否添加成功)
- vim /etc/fstab
- 编辑文件添加一行(注意空格) /dir/myswapfile swap swap defaults 0 0
- 这样可以保证服务器重启交换空间依然生效。
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,配置时会报错。
2,安装依赖
-
yum -y localinstall oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
3,安装文件
-
yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm
安装主目录完成,需要配置。
4,初始化(要在root用户下配置)
-
/etc/init.d/oracledb_ORCLCDB-19c configure
这个过程需要十几分钟。
配置完成!
这个过程结束后,会自动创建一个用户名是oracle的用户。
5,修改环境变量。
-
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保存退出。
6,登陆
切换到oracle用户,
-
su oracle
sqlplus / as sysdba
7,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
-
show pdbs;
c,注意服务名为ORCLPDB1
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,一个PDB为ORCLPDB1。
如果要在SQL plus中使用pdb需要配置/opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
-- listener.ora
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) ) )
-- tnsnames.ora
ORCLPDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = loser)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB1)
)
)
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 -lc "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start"
su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/dbstart"
为rc.local授权
chmod 755 rc.local
7,注意防火墙要开启1521端口。
8,基本上一个测试环境就可以用了,但是要用于生产环境还远远不够,还有很多配置需要改变。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)