CentOS 8 安装 oracle 23c CentOS9 Error deal

1.环境准备

软件准备
序号 软件 下载地址
1 VirtualBox

https://www.virtualbox.org/wiki/Downloads

2 CentOS Stream 8

https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/isos/x86_64/CentOS-Stream-8-x86_64-latest-dvd1.iso

3 oracle-database-free-23c

# cd ~/Downloads
wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23c-1.0-1.el8.x86_64.rpm

4 oracle-database-preinstall-23c

wget https://yum.oracle.com/repo/OracleLinux/OL8/developer/x86_64/getPackage/oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm

5 rlwrap

wget https://github.com/hanslub42/rlwrap/releases/download/0.46.1/rlwrap-0.46.1.tar.gz

2.安装操作系统

操作系统使用virtualbox虚拟机安装的centos8服务器,该步骤省略,教程很多的。

该环境是有网的,所以不设置yum源,如果是没网的内网环境,自行挂载镜像包作为yum源。

服务器使用的是ubuntu 22.04 上 Oracle VM VirtualBox 虚拟机安装的 CentOS 8 ,基于windows和基于linux安装虚拟机没有影响。

服务器的规格是: 2C4G

CentOS 8 采用最小化安装

修改主机名和配置hosts
是要设置的主机名: centos8

是主机的 IP: 10.0.2.15

设置主机名

hostnamectl set-hostname centos8 # 设置
hostname # 查看
1
2
关闭防火墙与Selinux
防火墙和selinux按照需求关闭,我这是测试环境,索性关闭

关闭 selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

输入 getenforce 返回 Permissive 则是临时关闭状态,

重启后是 Disabled ,完全关闭状态。

getenforce
sestatus

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

查看是否关闭

systemctl status firewalld.service

3.安装数据库

下面的安装步骤是在 root 下执行的

执行预安装

dnf -y install oracle-database-preinstall-23c-1.0-0.5.el8.x86_64.rpm

安装的依赖具体内容如下:

bc
bind-libs
bind-libs-lite
bind-license
bind-utils
binutils
checkpolicy
compat-openssl10
fstrm
glibc-devel
glibc-headers
gssproxy
kernel-headers
keyutils
ksh
libICE
libSM
libX11
libX11-common
libX11-xcb
libXau
libXcomposite
libXext
libXi
libXinerama
libXmu
libXrandr
libXrender
libXt
libXtst
libXv
libXxf86dga
libXxf86misc
libXxf86vm
libdmx
libev
libmaxminddb
libnsl
libpkgconf
libverto-libev
libxcb
libxcrypt-devel
lm_sensors-libs
make
net-tools
nfs-utils
pkgconf
pkgconf-m4
pkgconf-pkg-config
policycoreutils-python-utils
protobuf-c
python3-audit
python3-bind
python3-libsemanage
python3-ply
python3-policycoreutils
python3-pyyaml
python3-setools
quota
quota-nls
rpcbind
smartmontools
sysstat
tar
unzip
xorg-x11-utils
xorg-x11-xauth
Installing
geolite2-city
geolite2-country

可以在 /var/log/oracle-database-preinstall-23c 目录下查看相关日志

安装Oracle 23c
使用安装命令:

dnf -y install oracle-database-free-23c-1.0-1.el8.x86_64.rpm

创建和配置Oracle数据库服务实例
运行脚本:

/etc/init.d/oracle-free-23c configure

输出:

[root@centos8 ~]# /etc/init.d/oracle-free-23c configure
Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts:
Confirm the password:Passwords do not match.  Enter the password:
Confirm the password:
Configuring Oracle Listener.
Listener configuration succeeded.
Configuring Oracle Database FREE.
Enter SYS user password:
**********
Enter SYSTEM user password:
**********
Enter PDBADMIN User Password:
************
Prepare for db operation
7% complete
Copying database files
29% complete
Creating and starting Oracle instance
30% complete
33% complete
36% complete
39% complete
43% complete
Completing Database Creation
47% complete
49% complete
50% complete
Creating Pluggable Databases
54% complete
71% complete
Executing Post Configuration Actions
93% complete
Running Custom Scripts
100% complete
Database creation complete. For details check the logfiles at:/opt/oracle/cfgtoollogs/dbca/FREE.
Database Information:
Global Database Name:FREE
System Identifier(SID):FREE
Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log" for further details.Connect to Oracle Database using one of the connect strings:Pluggable database: centos8/FREEPDB1Multitenant container database: centos8

4.设置oracle用户的环境配置

切换用户然后编辑 ~/.bash_profile

su - oracle
vi ~/.bash_profile
# oracle settings
export ORACLE_SID=FREE
export ORAENV_ASK=NO
export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree
export PATH=$ORACLE_HOME/bin:$PATH

刷新环境变量

source ~/.bash_profile

5.简单使用

启动数据库
1、启动监听

lsnrctl start

查看监听状态:

$ lsnrctl status
LSNRCTL for Linux: Version 23.0.0.0.0 - Developer-Release on 09-MAY-2023 10:02:25Copyright (c) 1991, 2023, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.0.2.15)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 23.0.0.0.0 - Developer-Release
Start Date                09-MAY-2023 00:27:46
Uptime                    0 days 9 hr. 34 min. 39 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           FREE
Listener Parameter File   /opt/oracle/product/23c/dbhomeFree/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/centos8/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.0.2.15)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "FREE" has 1 instance(s).Instance "FREE", status READY, has 1 handler(s) for this service...
Service "FREEXDB" has 1 instance(s).Instance "FREE", status READY, has 1 handler(s) for this service...
Service "faf3c4adb9132c47e0550a0027434e0c" has 1 instance(s).Instance "FREE", status READY, has 1 handler(s) for this service...
Service "freepdb1" has 1 instance(s).Instance "FREE", status READY, has 1 handler(s) for this service...
The command completed successfully

2、启动数据库

使用sqlplus连接数据库后输入startup

$ sqlplus / as sysdba

SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Tue May 9 10:06:07
2023 Version 23.2.0.0.0

Copyright © 1982, 2023, Oracle. All rights reserved.

Connected to: Oracle Database 23c Free, Release 23.0.0.0.0 -
Developer-Release Version 23.2.0.0.0

SQL> startup;

查询数据库信息
查看数据库版本信息:

SQL> SELECT BANNER_FULL FROM v$version;
BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 23c Free, Release 23.0.0.0.0 - Developer-Release
Version 23.2.0.0.0

查询数据库和实例以及容器数据库信息

SQL> SELECT name, db_unique_name, log_mode, flashback_on, cdb FROM v$database;
> NAME      DB_UNIQUE_NAME                 LOG_MODE     FLASHBACK_ON    
> CDB
> --------- ------------------------------ ------------ ------------------ --- FREE      FREE                           NOARCHIVELOG NO                 YES
> 
> SQL> SELECT instance_name, version, status, database_status FROM
> v$instance;
> 
> INSTANCE_NAME    VERSION           STATUS       DATABASE_STATUS
> ---------------- ----------------- ------------ ----------------- FREE             23.0.0.0.0        OPEN         ACTIVE

查看sga信息

SQL> SELECT * FROM v$sgainfo;
NAME                                  BYTES RES     CON_ID
-------------------------------- ---------- --- ----------
Fixed SGA Size                     10042432 No           0
Redo Buffers                        4530176 No           0
Buffer Cache Size                 436207616 Yes          0
In-Memory Area Size                       0 No           0
Shared Pool Size                  671088640 Yes          0
Large Pool Size                    16777216 Yes          0
Java Pool Size                            0 Yes          0
Streams Pool Size                         0 Yes          0
Shared IO Pool Size                67108864 Yes          0
Data Transfer Cache Size                  0 Yes          0
Granule Size                       16777216 No           0NAME                                  BYTES RES     CON_ID
-------------------------------- ---------- --- ----------
Maximum SGA Size                 1155423296 No           0
Startup overhead in Shared Pool   235549832 No           0
Free SGA Memory Available          16777216              014 rows selected.

创建测试用户和表
1、 查看当前连接

SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT

2、查看有哪些可拔插数据库

SQL> show pdbs
CON_ID CON_NAME                       OPEN MODE  RESTRICTED

     2 PDB$SEED                       READ ONLY  NO3 FREEPDB1                       READ WRITE NO

3、 进入可拔插数据库

SQL> alter session set container=FREEPDB1;

Session altered.

SQL> show con_name

CON_NAME
------------------------------ FREEPDB1

4、 查看插拔数据库中有哪些表空间及其数据文件

SELECT TABLESPACE_NAME, FILE_NAME, BYTES/1024/1024 MB FROM DBA_DATA_FILES;

5、创建测试用户

SQL> create user testuser identified by 123456 default tablespace users;User created.SQL> GRANT connect, resource, unlimited tablespace to testuser;Grant succeeded.SQL>

6、使用新建的测试用户连接可拔插数据库

$ sqlplus testuser/123456@10.0.2.15:1521/FREEPDB1

SQL*Plus: Release 23.0.0.0.0 - Developer-Release on Tue May 9 11:20:07
2023 Version 23.2.0.0.0

Copyright © 1982, 2023, Oracle. All rights reserved.

Connected to: Oracle Database 23c Free, Release 23.0.0.0.0 -
Developer-Release Version 23.2.0.0.0

SQL>

7、创建测试表

SQL> CREATE TABLE personnel (id NUMBER(2) CONSTRAINT PK_EMP PRIMARY KEY, name VARCHAR2(20), age NUMBER(2));

Table created.

8、增删改查数据

SQL> INSERT INTO personnel(id, name, age) VALUES(1, 'test1', 18);

1 row created.

SQL> INSERT INTO personnel(id, name, age) VALUES(2, 'test2', 19);

1 row created.

SQL> INSERT INTO personnel(id, name, age) VALUES(3, 'test3', 20);

1 row created.

SQL> INSERT INTO personnel(id, name, age) VALUES(4, 'test4', 21);

1 row created.

SQL> SELECT * FROM personnel;
    ID NAME                        AGE

     1 test1                        182 test2                        193 test3                        204 test4                        21
SQL> DELETE FROM personnel WHERE id = 2;

1 row deleted.

SQL> SELECT * FROM personnel;
    ID NAME                        AGE

     1 test1                        183 test3                        204 test4                        21
SQL> UPDATE personnel SET name = 'testname' WHERE id = 3;

1 row updated.

SQL> SELECT * FROM personnel;
    ID NAME                        AGE

     1 test1                        183 testname                     204 test4                        21
SQL> truncate table personnel;

Table truncated.

SQL> SELECT * FROM personnel;

no rows selected

9、删除表

SQL> drop table personnel;

Table dropped.

10、删除用户

删除用户时,该用户必须没有连接,且用dba用户在创建用户的可拔插数据库下删除。

SQL>  drop user testuser;

User dropped.

停止数据库
sqlplus连接数据库并停止

SQL> shutdown

Database closed.
Database dismounted.
ORACLE instance shut down.

sqlplus优化

使用历史命令
在使用默认sqlplus时,使用方向键上下左右时会报乱码。可使用readline和rlwrap解决。

下载安装readline

dnf -y install readline readline-devel

下载安装rlwrap

wget https://github.com/hanslub42/rlwrap/releases/download/0.46.1/rlwrap-0.46.1.tar.gz
tar -zxvf rlwrap-0.46.1.tar.gz
cd rlwrap-0.46.1
./configure
make
make install

若缺少gcc、make之类的依赖自己安装一下即可。

使用:

rlwrap sqlplus / as sysdba

如果嫌弃这样麻烦,可以使用 alias 做重命名一下。把 alias 添加到.bash_profile 文件中。

su - oracle
echo "alias sqlplus='rlwrap sqlplus'" >> .bash_profile
source .bash_profile

设置行列宽度
pagesize 默认是14,linesize 默认是80 。 为了 美观,我们一般根据自己的屏幕分辨率来设置。

SQL> show pagesize;
pagesize 14
SQL> show linesize;
linesize 80
SQL> set pagesize 40;
SQL> set linesize 200;
SQL> show pagesize;
pagesize 40
SQL> show linesize;
linesize 200

卸载基于RPM安装的Oracle数据库

1、以安装所有者登录

su - oracle

2、删除关联库

cd $ORACLE_HOME/bin 
./dbca

3、删除关联侦听器

cd $ORACLE_HOME/bin 
./netca

4、切换到 root,然后删除数据库

dnf -y remove oracle-database-free-23c
dnf -y remove oracle-database-preinstall-23c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/38531.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 3 中定义组件常用方法

在Vue 3 中有多种定义组件的方法。从选项到组合再到类 API,情况大不相同 1、方式一:Options API 这是在 Vue 中声明组件的最常见方式。从版本 1 开始可用,您很可能已经熟悉它。一切都在对象内声明,数据在幕后由 Vue 响应。它不是…

C语言实现快速排序

什么是快速排序? 快速排序(Quick Sort) 是一种高效的分治法排序算法。它通过选择一个基准元素,将数组分成小于基准的部分和大于基准的部分,然后递归地对这些部分进行排序,最终将它们合并起来,完…

【广州华锐视点】VR警务教育实训系统模拟真实场景进行实践训练

随着科技的发展,虚拟现实技术在教育领域得到了广泛的应用。VR警务教育实训系统就是其中的一种应用,该系统由广州华锐互动开发,可以模拟真实的警务场景,让学生通过虚拟现实技术进行实践训练,提高学生的实践能力和技能水…

.NET6使用微信小程序授权登录,获取手机号

1.在appsettings配置你的小程序配置信息 //微信小程序信息配置"WechatConfig": {"appid": "", //小程序ID"secret": "" //小程序秘钥},2.请求接口时先获取Access_token #region 获取小程序的Access_tokenpublic object GetA…

Linux:shell脚本循环语句

目录 一、循环含义 二、echo命令 三、for 3.1.将1到100累加求和 3.2批量添加用户 3.3 根据IP地址检查主机状态 四、 while 和 until 4.1 猜价格 4.2 1-100求和 一、循环含义 循环含义 将某代码段重复运行多次,通常有进入循环的条件和退出循环的条件 重复…

视频汇聚平台EasyCVR视频监控播放平台WebRTC流地址无法播放的问题解决方案

开源EasyDarwin视频监控TSINGSEE青犀视频平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,TSINGSEE青犀视频安防监控汇聚平台可支持1、4、9、16个画面窗口播放,可同时播放多…

Linux的ln命令

ln是link的缩写,在Linux中 ln 命令的功能是为某一个文件在另外一个位置建立一个同步的链接,当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录&#xff0…

Ubuntu18.04.4裸机配置

下载虚拟机Ubuntu18.04.4 链接:https://pan.baidu.com/s/1jyucyUSXa9-Fw9ctuU87hA 提取码:o42a –来自百度网盘超级会员V5的分享 VMware选择镜像安装 设置你的用户名,就像windows上登录用户一样简单 下一步……下一步……如此简单 下载…

Floyd(多源汇最短路)

Floyd求最短路 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,边权可能为负数。 再给定 k 个询问,每个询问包含两个整数 x 和 y,表示查询从点 x 到点 y 的最短距离,如果路径不存在,则输出 impo…

每日一题 33搜素旋转排序数组(二分)

题目 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], nums[…

Fortinet数据中心防火墙及服务ROI超300%!Forrester TEI研究发布

近日&#xff0c;专注网络与安全融合的全球网络安全领导者 Fortinet&#xff08;NASDAQ&#xff1a;FTNT&#xff09;联合全球知名分析机构Forrester发布总体经济影响独立分析报告&#xff0c;详细阐述了在企业数据中心部署 FortiGate 下一代防火墙&#xff08;NGFW&#xff09…

Django图书商城系统实战开发-实现商品管理

Django图书商城系统实战开发 - 实现商品管理 在本教程中&#xff0c;我们将使用Django框架来实现一个简单的图书商城系统&#xff0c;并重点讨论如何实现商品管理功能。此外&#xff0c;我们还将介绍如何使用Markdown格式来写博客&#xff0c;并将其集成到我们的图书商城系统中…

缓存淘汰算法(LFU LRU FIFO)及进程的状态和转换

目录 一、缓存淘汰算法 1.LFU&#xff08;Least Frequently Used&#xff09;最近最不常用算法 2.LRU&#xff08;Least Recently User&#xff09;最近最少使用算法 3.FIFO&#xff08;First in first out&#xff09;先进先出算法 二、进程的状态和转换 1.最基本的三种状…

OpenCV图像处理——模版匹配和霍夫变换

目录 模版匹配原理实现 霍夫变换霍夫线检测 模版匹配 原理 实现 rescv.matchTemplate(img,template,method)import numpy as np import cv2 as cv import matplotlib.pyplot as pltimgcv.imread(./汪学长的随堂资料/6/模板匹配/lena.jpg) templatecv.imread(./汪学长的随堂资…

UniApp 使用命令创建页面的详细指南

系列文章目录 文章目录 系列文章目录前言一、安装Uni-CLI二、创建页面三、页面创建命令四、页面结构五、页面使用总结 前言 UniApp是一款跨平台的前端框架&#xff0c;可以用于开发同时运行在多个平台&#xff08;如微信小程序、H5、App等&#xff09;的应用程序。本文将详细介…

系统架构设计师---考试通关练习题

第一章 系统架构设计师概述 1 .以下()不是现代信息系统的架构的三个要素。 A.构件 B.模式 C.规划 D.属性 解析:现代信息系统的架构有三个要素,即构件、模式和规划。 答案:D 2. 软件系统架构是关于软件系统的结构、行为和()的高级抽象。 A.构件 B.模式 C…

centos-stream-9 centos9 配置国内yum源 阿里云源

源配置 tips: yum配置文件路径 /etc/yum.repos.d/centos.repo 1.备份源配置 [Very Important!]mv /etc/yum.repos.d/centos.repo /etc/yum.repos.d/centos.repo.backup2.Clean Cache: yum clean all3.Backup the Old CentOS-Base.repo If exist this file.cd /etc/yum.repos.…

使用chatGPT-4 畅聊量子物理学(三)

集合了人类智慧的照片&#xff0c;来自 1927 年举行的第五届索尔维国际会议。 Omer 什么是“物理系统在被测量之前不具有确定的属性。量子力学只能预测给定测量的可能结果的概率分布" ChatGPT 这句话描述了量子力学中的一种基本原则&#xff0c;即“物理系统在被测量之前…

手写线程池的过程与思考

线程池的抽象接口 public interface SelfThreadPool {// 提交任务到线程池void execute(Runnable runnable);//关闭void shutdown();//获取线程池初始化的大小int getInitSize();//获取线程池最大的大小int getMaxSize();// 获取线程池核心线程数量,int getCoreSize();// 获取…

世微AP2813 平均电流双路降压恒流驱动器 LED储能电源驱动指示灯IC 可恒流可爆闪 可双路恒流

产品描述 AP2813 是一款双路降压恒流驱动器,高效率、外围简单、内置功率管&#xff0c;适用于 5-80V 输入的高精度降压 LED 恒流驱动芯片。内置功率管输出最大功率可达12W&#xff0c;最大电流 1.2A。AP2813 一路直亮&#xff0c;另外一路通过 MODE1 切换全亮&#xff0c;爆闪…