Oracle 部署及基础使用
1. Oracle 简介
Oracle Database,又名 Oracle RDBMS,简称 Oracle Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。是目前最流行的客户/服务器(client/server)或B/S体系结构的数据库之一,比如 SilverStream 就是基于数据库的一种中间件。Oracle 数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系型数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能,只要在一种机型上学习了 操作Oracle 的知识,便能在各种类型的机器上使用它。
名词了解

数据文件(dbf)
数据文件是数据库的物理存储单位,而表空间 TableSpace 则是数据库的逻辑组成部分。数据库的数据是存储在表空间中的,而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据库文件(datafile)。一个数据文件只能属于一个表空间。
用户
用户是在实例下建立的。不同实例中可以建相同名字的用户。注意!表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于 Oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
关于数据库语言的分类
DDL:数据库定义语言:create、drop
DML:数据库的操作语言:insert、update、delete
DQL:数据库的查询语言:select
DCL:数据库的控制语言:grant、revoke
2. docker 部署 Oracle
2.1 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2.2 启动容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker ps 查看容器启动成功
2.3 配置
# 进入oracle容器环境中
docker exec -it oracle11g bin/bash
# 切换到 oracle 数据库的 root 用户下(密码为:helowin)
su root
# 编辑 profile 文件
vi /etc/profile
# 添加 ORACLE 环境变量参数后保存退出
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
# 创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
# 配置文件生效
source ~/.bash_profile
# 切换到 oracle 用户
su - oracle su - oracle #相当于重新登陆,此时用户的环境变量等信息会发生改变
su oracle #切换到oracle身份后用户的环境变量仍然是原先用户的环境变量

2.4 登录
依次输入sqlplus /nologconn /as sysdba
2.5 设置密码
将 system 和 sys 两个账户的密码设为 123456
alter user system identified by 123456;
alter user sys identified by 123456;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
解锁 scott 用户,同时将其密码设置为 123456
alter user scott account unlock;
alter user scott identified by 123456;
commit;
配置完毕后,连续执行多个 exit 即可退出容器。
2.6 连接测试
使用 Navicat 连接下部署好的 Oracle 数据库,连接成功即可。
3. Oracle 基础使用
常用命令
3.1 控制
# 登陆 sqlplus:
sqlplus /nolog# 使用 sysdba 连接 oracle:
connect /as sysdba# 使用自定义 u1 连接 oracle:
connect u1 /123456# 开启数据库:
startup# 关闭数据库:
shutdown immediate;# 查看数据库状态:
select * from v$instance;# 监听状态($ORACLE_HOME/bin):
lsnrctl status# 开启监听:
lsnrctl start# 关闭监听:
lsnrctl stop
3.2 查询
# 查询当前数据库:
select name from v$database;# 查询数据库名:
select name,dbid from v$database;# 查询当前实例名:
select instance_name from v$instance;# 查询表空间:
select default_tablespace, d.username from dba_users d;# 查看数据库用户:
select * from dbs_users;# 查询表空间路径:
select status,fuzzy,tablespace_name,name from v$datafile_header;# 显示当前连接用户:
show user;# 显示系统下所有用户:
select * from all_users;# 显示用户空间下所有表格:
select table_name from user_tables;# 显示用户下表格中的数据:
select * from "HFTEST"."stu";
3.3 创建
# 创建表空间:
create TableSpace 表空间名称 DataFile 表空间数据文件路径 Size 初始大小 AutoExtend on;# 创建用户:
create user 用户名 identified by 密码 default tablespace 表空间;# 用户授权:
Grant connect, backup any table, select any dictionary, dba to 用户;
3.4 删除
# 删除用户:
drop user 用户名 cascade;# 删除表空间:
Drop tablespace 表空间名 including contents and datafiles CASCADE CONSTRAINTS;# 删除表:
drop table "stu";
4. 操作示例
4.1 数据库状态检查
su - oracle #进入 oracle 系统账户
sqlplus /nolog #登录sqlplus
connect /as sysdba #用sysdba连接Oracle
startup #启动数据库
select status from v$instance; #查询数据库状态

4.2 创建用户
# 创建授权高级权限用户(既可以备份又可以恢复数据库)
create user zhangsan identified by 123456; #创建
grant dba,sysdba to zhangsan; #授权
4.3 检查监听
在容器内的终端界面输入lsnrctl status
如未出现如下界面则需要开启监听。 
4.4 检查归档模式
查看是否开启归档模式
su - oracle # 进入 oracle 系统账户
sqlplus /nolog # 登录sqlplus
connect /as sysdba # 用sysdba连接Oracle
archive log list # 查看
如果没有开启归档模式,则显示:No Archive Mode
shutdown immediate; # 关闭数据库
startup mount; # 启动数据库实例到mount状态
alter database archivelog; # 启动归档模式
alter database open; # 打开数据库并将其装入
archive log list; # 配置完成之后再次检查归档日志类型

参考文档:
docker部署oracle_今朝花落悲颜色的博客-CSDN博客
Oracle数据库入门教程(作者原创)_划水的阿瞒的博客-CSDN博客
全网Oracle基础最全教程_oracle数据库入门教程_QZero_0的博客-CSDN博客
参考文档:
EXP、IMP、EXPDP、IMPDP命令_exp命令_O.OY的博客-CSDN博客
Navicat连接Oracle报错:ORA-01031:insufficient privileges解决办法及连接设置_navicat ora01031_搬砖界的一个小学生的博客-CSDN博客
相关文章:
Oracle 部署及基础使用
1. Oracle 简介 Oracle Database,又名 Oracle RDBMS,简称 Oracle Oracle系统,即是以Oracle关系数据库为数据存储和管理作为构架基础,构建出的数据库管理系统。是目前最流行的客户/服务器(client/server)或…...
ROS 语音交互(二)nlp
目录 背景: 一、模型选择 二、操作流程 三、核心代码展示 背景: 成功设置自己的知识库,语音交互问答会优先选择自己的知识库的答案进行回答,减少了耗时 一、模型选择 商汤 商量日日新 二、操作流程 文档中心 | 日日新开放…...
智慧公厕建设的主要目标是什么?
随着城市化进程的不断推进,公共厕所作为城市基础设施的重要组成部分,也变得越来越重要。为了提升公共厕所的管理水平、提供更好的服务质量,智慧公厕应运而生。智慧公厕的建设旨在通过信息化手段实现公共厕所的全面感知监测,实现公…...
常用芯片学习——BME280芯片
BME280 温湿度气压传感器 芯片介绍 BME280是基于成熟传感原理的组合数字湿度、压力和温度传感器。该传感器块采用极为紧凑的金属盖LGA封装,占地面积仅为2.5x2.5mm2,高度为0.93mm。该传感器提供I2C以及SPI接口。它的小尺寸和低功耗允许在电池驱动的设备…...
QT 状态机的使用
QT 状态机的使用场景: QT 状态机适用于需要管理复杂状态和状态转换的场景,例如游戏开发、UI界面控制、自动化控制系统等。它可以帮助组织和管理程序中的各种状态,并定义状态之间的转换规则,使程序逻辑清晰、易于维护。 QT 状态机…...
走进volatile的世界,探索它与可见性,有序性,原子性之间的爱恨情仇!
写在开头 在之前的几篇博文中,我们都提到了 volatile 关键字,这个单词中文释义为:不稳定的,易挥发的,在Java中代表变量修饰符,用来修饰会被不同线程访问和修改的变量,对于方法,代码…...
python从入门到精通(十五):python爬虫完整学习大纲
一、基础知识 爬虫的基本概念和工作原理。 HTTP 协议和网页结构。 Python 爬虫开发的基础库,如 requests、BeautifulSoup 等。 常见的反爬虫机制和应对方法。 二、爬虫逆向的技术 代理服务器和 IP 封锁突破。 用户代理和请求头模拟。 JavaScript 解析和执行。 验证码…...
为什么JDK8.0 之后允许接口定义静态方法和默认方法呢?
为什么JDK8.0 之后允许接口定义静态方法和默认方法呢? 因为它违反了接口作为一个抽象标准定义的概念。** 静态方法:因为之前的标准类库设计中,有很多Collection/Colletions或者Path/Paths这样成对的接口和类,后面的类中都是静态…...
如何通过生成式AI增强人类的创造力
如何通过生成式AI增强人类的创造力 概述: 生成式AI(人工智能),能创建新的文本、图像和视频内容,不仅仍有成为取代许多工作岗位的潜力,但其最大的机遇在于增强人类创造力,助力商业和政府克服创新…...
力扣111---二叉树的最小深度(简单题,Java,递归+非递归)
目录 题目描述: (递归)代码: (非递归、层次遍历)代码: 题目描述: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说…...
C#处理文件
目录 1.管理文件2.管理驱动器3.管理目录4.管理路径5.获取文件信息6.控制如何处理文件 1.管理文件 C# 中使用 File 类可以进行文件的读取、写入和删除操作。File 类提供了多个静态方法来处理文件,如 File.Exists() 用于检查文件是否存在,File.ReadAllTex…...
git |常用命令
git 命令 非常常用 主流的仓库管理服务器,svn 和git 接下来,介绍git 操作(自用 先讲一个简单的demo 流程 环境:centos、git #先创建一个本地 git 文件夹 mkdir test && cd ./test #写一个README.md #echo “# 张不大 的de…...
力扣100热题:两、三、四数之和,哈希+数组+双指针+排序
目录 一、两数之和 二、两数之和 II - 输入有序数组 三、两数之和 III - 数据结构设计 四、两数之和 IV - 输入 BST(二叉搜索树) 五、三数之和 六、四数之和 一、两数之和 题目:1. 两数之和 参考力扣题解:. - 力扣&#x…...
国外visa卡怎么办理,可充ChatGPTPLUS、Claude、Midjourney
很多小伙都在使用ChatGPT,但是想充值ChatGPTPLUS缺需要国外的visa卡,拿自己的银联卡,尝试了好多次还是不行,其实用一张国外的visa卡几分钟就可以升级好 办理国外visa卡,点击获取 国外的visa卡,具体要看你…...
【Web】记录[长城杯 2022 高校组]b4bycoffee题目复现
目录 前言 环境准备 简单分析 EXP 前言 本地jar包运行打通了,远程500,nss靶机有问题,换了bugku就可( 主要记录下做题过程,纯菜狗,小白文 环境准备 这次附件给的jar包是可执行jar,不是可依赖jar&…...
C++ 多路音频pcm混音算法
1、均值化混音算法 不适合商用,声音的损失比较大,不建议用,建议用第二种声音混音 short remix(short pcm1,short pcm2){ int value pcm1 pcm2; return (short)(value/2) } 2、归一化混音算法 输入数据为48Khz-2-16bit音频数据 方法&#…...
Golang 泛型定义类型的时候前面 ~ 代表什么意思
先看代码,定义一个简单的泛型 c1 里面一个 int ,定义一个函数goods 下面 main函数进行调用, 如果直接传int 类型是不会报错的,但是如果传自定义类型的b就会报错。 type c1 interface {int }func goods[T c1](a T) {fmt.Println(a) }type myint intfunc …...
泽众云真机-机型支持ADB调试功能即将上线
最近云真机平台在线客服,收到很多咨询关于ADB调试功能,什么时候能更新?据小编所知,正在升级之中,有一块专门为了解决ADB调试功能提前准备,升级网络硬件设备,目前平台的功能已开发完成࿰…...
基于springboot的购物商城管理系统
1.项目简介 1.1 用户简介 用户主要分为管理员和用户端: 管理员: 管理员可以对后台数据进行管理、拥有最高权限、具体权限有登录后进行首页轮播图的配置管理、商品的配置、新品家具商城的配置管理、、家具商城分类管理配置、家具商城详情商品管理、用户…...
uni-app开发特点和开发流程
uni-app是一个基于Vue.js框架的跨平台应用开发框架,通过一套代码可以同时运行在多个平台上,包括iOS、Android、H5等。它采用了基于流布局的页面渲染机制,可以自动适配不同平台的屏幕尺寸和分辨率。uniapp官网:https://uniapp.dclo…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
