Oracle 部署及基础使用

1. Oracle 简介

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

名词了解

f5fff16a339e479c98474620b033412c.jpg
数据文件(dbf)
数据文件是数据库的物理存储单位,而表空间 TableSpace 则是数据库的逻辑组成部分。数据库的数据是存储在表空间中的,而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
表空间
表空间是 Oracle 对物理数据库上相关数据文件(ORA 或者 DBF 文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据库文件(datafile)。一个数据文件只能属于一个表空间。
用户
用户是在实例下建立的。不同实例中可以建相同名字的用户。注意!表的数据,是由用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于 Oracle 的数据库不是普通的概念,oracle 是由用户和表空间对数据进行管理和存放的。但是表不是由表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!
1600135725454050.png

关于数据库语言的分类

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 查看容器启动成功
image.png

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身份后用户的环境变量仍然是原先用户的环境变量

image.png

2.4 登录

依次输入
sqlplus /nolog
conn /as sysdba
image.png

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 数据库,连接成功即可。image.png

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;  #查询数据库状态

image.png

4.2 创建用户

# 创建授权高级权限用户(既可以备份又可以恢复数据库)
create user zhangsan identified by 123456;  #创建
grant dba,sysdba to zhangsan;  #授权

4.3 检查监听

在容器内的终端界面输入lsnrctl status
如未出现如下界面则需要开启监听。
image.png

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;          # 配置完成之后再次检查归档日志类型

1675067508066.jpg

参考文档:
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博客

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

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

相关文章

8种Kubernetes集群中Pod处于 Pending状态的故障排除方法

文章目录 一、Pod与容器二、Pod的阶段(状态)三、Pod 状态故障排除3.1 检查 Pod 事件3.2 检查资源可用性3.3 检查污点和容忍度3.4 检查节点亲和性设置3.5 检查持久卷声明3.6 检查配额和限制3.7 验证 Pod 和容器映像3.8 分析调度程序日志 四、用于排查 Pen…

html中如何让网页禁用右键禁止查看源代码

在网页中,辛辛苦苦写的文章,被别人复制粘贴给盗用去另很多站长感到非常无奈,通常大家复制都会使用选取右键复制,或CTRLC等方式,下面介绍几种禁止鼠标右键代码,可减少网页上文章被抄袭的几率,当然…

机器学习——终身学习

终身学习 AI不断学习新的任务,最终进化成天网控制人类终身学习(LLL),持续学习,永不停止的学习,增量学习 用线上收集的资料不断的训练模型 问题就是对之前的任务进行遗忘,在之前的任务上表现不好…

用C语言打造自己的Unix风格ls命令

在Unix或类Unix操作系统中,ls是一个非常基础且实用的命令,它用于列出当前目录或指定目录下的文件和子目录。下面,我们将通过C语言编写一个简化的ls命令,展示如何利用dirent.h头文件提供的函数接口实现这一功能。 #include "…

发布镜像到阿里云仓库

发布上一篇Dockerfile实战-自定义的centos镜像。 1、登录阿里云 2、找到容器镜像服务 3、创建命令空间 4、创建镜像仓库 5、点击进入这个镜像仓库,可以看到所有的信息 6、根据操作指南测试推送发布 6.1登录阿里云 [rootzhoujunru home]# docker login --usernam…

开箱即用之 windows部署jdk、设置nginx、jar自启

jdk安装 官网下载对应的安装包,解压之后放在本地指定的文件夹下 传送门https://www.oracle.com/java/technologies/downloads/#jdk21-windows 我比较喜欢下载zip方式的,解压之后直接能用,不需要安装了 配置环境 JAVA_HOME 添加path路径 …

Nebula Graph-01-Nebula Graph简介和安装以及客户端连接

前言 NoSQL 数据库 图数据库并不是可以克服关系型数据库缺点的唯一替代方案。现在市面上还有很多非关系型数据库的产品,这些产品都可以叫做 NoSQL。NoSQL 一词最早于上世纪 90 年代末提出,可以解释为“非 SQL” 或“不仅是 SQL”,具体解释要…

蓝桥练习题总结(一)字母图形、完美的代价、01串、序列求和

目录 一、字母图形 二、完美的代价 三、01字串 四、序列求和 一、字母图形 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律&#xff…

本地gitlab-runner的创建与注册

引言 之前通过一些方式在本地创建runner,时而会出现一些未知的坑,所以写下本文记录runner可以无坑创建的方式。 以下注册runner到相应仓库的前提是已经在本地安装了gitlab-runner 具体安装方式见官网 本地gitlab-runner安装常用的指令 查看gitlab r…

SQLiteC/C++接口详细介绍之sqlite3类(十八)

返回目录:SQLite—免费开源数据库系列文章目录 上一篇:SQLiteC/C接口详细介绍之sqlite3类(十七) 下一篇:SQLiteC/C接口详细介绍sqlite3_stmt类(一) ​ 56.sqlite3_update_hook 函数功能&am…

Vue.js前端开发零基础教学(二)

目录 前言 2.1 单文件组件 2.2 数据绑定 2.2.2 响应式数据绑定 2.3 指令 2.3.1 内容渲染指令 2.3.2 属性绑定指令 ​编辑 2.3.3 事件绑定指令 2.3.4 双向数据绑定指令 2.3.5 条件渲染指令 2.3.6 列表渲染指令 2.4 事件对象 2.5 事件修饰符 学习目标&am…

【CKA模拟题】学会JSONPath,精准定位Pod信息!

题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetesyou have a script named pod-filter.sh . Update this script to include a command that filters and displays the label with the…

STM32-DMA数据转运

DMA进行转运的条件 1:开关控制,DMA_CMD必须使能2:传输计数器必须大于03:触发源必须有触发的信号

【c++】c++背景(c++的前世今生)

主页:醋溜马桶圈-CSDN博客 专栏:c_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1. 什么是C 2. C发展史 3. C的重要性 3.1 语言的使用广泛度 3.2在工作邻域 1. 操作系统以及大型系统软件开发 2. 服务器端开发 3. …

OSPF路由汇总

OSPF只要是环回接口(默认P2P网络类型),默认都是32位的叶子信息。手动修改,[R1-LoopBack0]ospf network-type broadcast;修改网络类型。 OSPF不支持自动汇总,需要手动汇总。 一、OSPF路由汇总 使用CIDR技术…

java数据结构与算法刷题-----LeetCode135. 分发糖果

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 左右遍历2. 进阶:常数空间遍历,升序降…

【四 (6)数据可视化之 Grafana安装、页面介绍、图表配置】

目录 文章导航一、Grafana介绍[✨ 特性]二、安装和配置1、安装2、权限配置(账户/团队/用户)①用户管理②团队管理③账户管理④看板权限 3、首选项配置4、插件管理①数据源插件②图表插件③应用插件④插件安装方式一⑤安装方式二 三、数据源管理1、添加数…

内表-ABAP开发从入门到精通笔记

内表 概念 内表是在程序内部定义的表。是定义在内存中,所以运行速度会比磁盘中是实体表快很多。 内表的定义,可以通过type来定义,也可以通过变量来定义。 例如:先定义一个结构体,然后再通过结构体定义内表 先顶一个结…

合合信息扫描全能王亮相静安区3·15活动,AI扫描带来绿色消费新体验

保护消费者的合法权益,是全社会的共同责任。为优化消费环境、促进品质消费高地建设,打造安全优质和谐的消费环境,上海静安区消保委于3月15日举办静安区2024年“315”国际消费者权益日活动。 “激发消费活力,绿色低碳同行”是本次3…

蓝桥杯每日一题——棋盘

问题描述 小蓝拥有 n xn 大小的棋盘,一开始棋盘上全都是白子。小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)请输出所有操作做完后棋盘上每个棋子的颜色。输入格式 输入的…