06-Oracle表空间与用户管理(表空间,用户,备份与恢复,导入导出数据)
本讲主要内容:
1.表空间管理:表空间的作用,创建,修改,删除及管理;
2.用户管理:创建用户,修改用户,删除用户,修改密码,解锁;
3.用户权限管理:授权,撤销授权
4.数据库的备份与恢复
5.数据库导入导出
表空间
表空间管理

•表空间可以分为两大类:
•管理表空间主要包括以下操作:
•创建表空间
•创建表空间
CREATE TABLESPACE "APP" LOGGING DATAFILE 'C:\ORACLE\ORADATA\EXAMPLE\APP1.DBF' SIZE 5M REUSE AUTOEXTEND ON NEXT 512K MAXSIZE 10M
•创建本地管理的临时表空间
CREATE temporary TABLESPACE "APPTEMP" TEMPFILE 'C:\ORACLE\ORADATA\EXAMPLE\APPTEMP.DBF' SIZE 5M
EXTENT MANAGEMENT LOCAL
Uniform size 1 M
•创建本地管理的还原表空间
CREATE undo TABLESPACE “roolback1" DATAFILE 'C:\ORACLE\ORADATA\EXAMPLE\roolback1.DBF' SIZE 5M
表空间的状态
ALTER TABLESPACE "APP" OFFLINE Normal
ALTER TABLESPACE "APP" ONLINE
•更改表空间的状态
•设置表空间为只读,只读表空间不能写数据,可删除数据
•设置表空间为读/写
•删除表空间
DROP TABLESPACE “APP” INCLUDING CONTENTS AND DATAFILES
带INCLUDING CONTENTS可删除表空间的对象,不删文件
带AND DATAFILE删除数据文件
•改变表空间数据文件大小
ALTER DATABASE DATAFILE ‘d:\oracle\oradata\study\myapp01.dbf’
Resize 50m --改变大小
ALTER TABLESPACE ‘MYAPP’ADD DATAFILE ‘d:\oracle\oradata\study\mypp02.dbf’ size 10m;
•改变表空间数据文件
举例
表空间离线Alter tablespace ‘myapp’ offline
修改数据文件名称,在操作系统下改
修改表空间数据文件alter tablespace myapprename datafile ’d:\oracle\oradata\study\myapp01.dbf’to ’d:\oracle\oradata\study\myapp02.dbf’
脚本创建表空间
CREATE TABLESPACE "STORE" LOGGING DATAFILE 'D:\ORACLE\ORADATA\STUDY\STORE.ora' SIZE 5M EXTENT MANAGEMENT LOCAL
创建用户
举例
•创建用户
CREATE USER "ST" IDENTIFIED BY "123" DEFAULT TABLESPACE "STORE" ACCOUNT UNLOCK;
GRANT "CONNECT" TO "ST";
GRANT "RESOURCE" TO "ST";修改用户的默认表空间
ALTER USER kong default tablespace=store
修改用户在表空间上的空间使用限额
ALTER USER kong quote 10m ON STORE
修改用户密码
Alter user test identified by test11;
启动两个SQL PLUS:A、B表示
A>conn sys/change_on_install as sysdba
A>create user test identified by test123 default tablespace store;
B>conn test/test123 --出错,没有create session的权限
A>grant create session to test; --授权成功
B>conn test/test123 --连接成功
B>create table ab(a number(5), b varchar2(20)); --权限不足
A>grant create table to test; --赋给操作权限
B>create table ab(a number(5), b varchar2(20)); --没有表空间store的权限
A>grant unlimited tablespace to test; --赋给用户表空间资源的操作权限
B>create table ab(a number(5), b varchar2(20)); --创建成功
B>select * from scott.dept; --表或试图不存在,因为没权限
B>grant select any table to test; --赋给用户可以查询任何表空间的表的数据
B>select * from scott.dept; --OK
B>create user test1 identified by test1 --权限不足
A>grant create user to test with admin option; --给test赋给创建用户的权限, 并且test可以将创建用户的权限赋给其他用户
A>grant create session to test with admin option;
B>create user test1 identified by test1 --创建成功
B>conn test1/test1 --连接失败,没有权限
B>grant create session to test1 --test用户将create session权限赋给test1
B>conn test1/test1 --连接成功
对象权限
SQL> GRANT SELECT, UPDATE ON EMP TO user;SQL> GRANT SELECT ON EMP TO user WITH GRANT OPTION;SQL> GRANT UPDATE(SAL, HIREDATE) ON EMP TO user;SQL> REVOKE SELECT, UPDATE ON EMP FROM user;
查看用户的权限
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
select * from session_privs; //用户连上后
select * from dba_sys_privs where grantee in ('CONNECT','RESOURCE');
select * from role_sys_privs where role='角色名';
常用字典信息
•表空间信息表
•数据文件信息表
•临时文件信息
•查看用户及其默认的表空间
备份与恢复简介
Oracle数据库的备份包括以下两种类型:


故障类型
导致数据库操作中止的故障包括四种类型:




数据库备份
导出和导入实用程序
使用以下三种方法调用导出和导入实用程序:

导出和导入数据库对象的四种模式是:

•导出实用程序有以下常用命令参数:
| 参数 | 说明 |
| USERID | 确定执行导出实用程序的用户名和口令 |
| BUFFER | 确定导出数据时所使用的缓冲区大小,其大小用字节表示 |
| FILE | 指定导出的二进制文件名称,默认的扩展名是.dmp |
| FULL | 指定是否以全部数据库方式导出,只有授权用户才可使用此参数 |
| OWNER | 要导出的数据库用户列表 |
| HELP | 指定是否显示帮助消息和参数说明 |
| ROWS | 确定是否要导出表中的数据 |
| TABLES | 按表方式导出时,指定需导出的表和分区的名称 |
| PARFILE | 指定传递给导出实用程序的参数文件名 |
| TABLESPACES | 按表空间方式导出时,指定要导出的表空间名 |

导入实用程序
•导入实用程序有如下常用命令参数:
| 参数 | 说明 |
| USERID | 指定执行导入的用户名和密码 |
| BUFFER | 指定用来读取数据的缓冲区大小,以字节为单位 |
| COMMIT | 指定是否在每个数组(其大小由BUFFER参数设置)插入后进行提交 |
| FILE | 指定要导入的二进制文件名 |
| FROMUSER | 指定要从导出转储文件中导入的用户模式 |
| TOUSER | 指定要将对象导入的用户名。FROMUSER与TOUSER可以不同 |
| FULL | 指定是否要导入整个导出转储文件 |
| TABLES | 指定要导入的表的列表 |
| ROWS | 指定是否要导入表中的行 |
| PARFILE | 指定传递给导入实用程序的参数文件名,此文件可以包含这里列出的所有参数 |
| IGNORE | 导入时是否忽略遇到的错误,默认为N |
| TABLESPACES | 按表空间方式导入,列出要导入的表空间名 |

本人从事软件项目开发20多年,2005年开始从事Java工程师系列课程的教学工作,录制50多门精品视频课程,包含java基础,jspweb开发,SSH,SSM,SpringBoot,SpringCloud,人工智能,在线支付等众多商业项目,每门课程都包含有项目实战,上课PPT,及完整的源代码下载,有兴趣的朋友可以看看我的在线课堂
讲师课堂链接:https://edu.csdn.net/lecturer/893
相关文章:
06-Oracle表空间与用户管理(表空间,用户,备份与恢复,导入导出数据)
本讲主要内容: 1.表空间管理:表空间的作用,创建,修改,删除及管理; 2.用户管理:创建用户,修改用户,删除用户,修改密码,解锁; 3.用户…...
XSS攻击防御
XSS攻击防御XSS Filter过滤方法输入验证数据净化输出编码过滤方法Web安全编码规范XSS Filter XSS Filter的作用是通过正则的方式对用户(客户端)请求的参数做脚本的过滤,从而达到防范XSS攻击的效果。 XSS Filter作为防御跨站攻击的主要手段之…...
敏捷开发还需要PRD吗
一、PRD有什么用 prd提升与RD或者未来接手人的沟通效率 二、为什么会有PRD 首先来说说为什么会有PRD文档。 1、稍微大一点的团队产品经理未必能向每个人传达产品需求,这就需要有一个文档的形式来向项目的所有成员来传达需求,这就是文档的来源。 2、由…...
完整教程:使用Spring Boot实现大文件断点续传及文件校验
一、简介 随着互联网的快速发展,大文件的传输成为了互联网应用的重要组成部分。然而,由于网络不稳定等因素的影响,大文件的传输经常会出现中断的情况,这时需要重新传输,导致传输效率低下。 为了解决这个问题ÿ…...
数位dp-- 数字游戏
题目 思路 也是一道比较典型的数位dp的问题,关键的思想跟我上一篇博客很像, 首先把区间值变成[1,Y]-[1,X-1]的值,然后单独计算得到结果。 总的来说就是把这个数的每一位都单独拿出来,然后根据选0-an-1和选**an**两种方案单独计算&…...
Linux脚本 启动、重启、停止、授权
在jar包所在目录 vim start.sh | reload.sh | stop.sh输入以下命令 然后保存,进行授权 1.启动 nohup java -jar -Dfile.encodingutf-8 IntegrationFrame-sso-1.0.0-SNAPSHOT.jar & echo "started"2.重启 pid$(ps -ef|grep IntegrationFrame-sso-1.…...
Pytorch深度学习实战3-8:详解数据可视化组件TensorBoard安装与使用
目录1 什么是Tensorboard?2 Tensorboard安装3 Tensorboard可视化流程4 Tensorboard可视化实例4.1 常量可视化4.2 特征图可视化1 什么是Tensorboard? 在深度学习领域,网络内部如同黑箱,其中包含大量的连接参数,这给人工…...
华为OD机试 - 旋转骰子(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:旋转骰子…...
如何做SpringBoot单元测试?
前言单元测试(unit testing),是指对项目中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试,对于Java来说或者是在SpringBoot项目中,最小的可测试单元就是一个方法。做单元测试就是为了证明某段代码的执⾏结果是否符…...
ZZULI训练: 数组和字符串专题
ZZULI训练:数组和字符串专题ZZULI训练: 数组和字符串专题ZZULI训练:数组和字符串专题 部分多实例没写循环多次是因为在main里面循环了, 你们写的时候要加上只提供大概思路和核心代码建议多尝试一下c, 并没有想象的那么难 7-1 个位数统计 可以开个数组来存一下每个数组出现的…...
ElasticSearch如何解决深分页问题?
文章目录 前言From/Size参数Query阶段Fetch阶段深度分页问题Scroll遍历数据基本使用遍历优缺点缺点:优点:」Scroll Scan基本使用Scroll Scan与Scroll的区别Sliced ScrollSearch After基本使用基本原理优缺点总结ES7版本变...
JDK8新特性宝典
JDK8新特性 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 了解Java发展史Lambda表达式…...
【C++】关于C++模板的分离编译问题
文章目录1.阐述模板的实例化和重复定义问题2.分离编译可能出现的问题3.解决方法将函数模板的定义放到头文件中模板定义的位置显式实例化模板总结1.阐述模板的实例化和重复定义问题 C模板是一种非常强大的工具,可以为我们提供通用的代码实现方式。然鹅,在…...
小应用记账本-第2章-数据库设计
小应用记账本-第2章-数据库设计 在上一章《小应用记账本-第1章-需求分析》已经罗列了我们需要的功能,因为很简单,所以这一章就来设计数据库吧。 Account表:账户表 字段名类型说明取值idint账户idaccount_namevarchar账户名称remaining_sumd…...
Spring Boot+Vue前后端分离项目练习06之网盘项目创建vue项目
1.安装环境 构建vue项目,需要提前安装相应的环境,这里主要就是node,npm和Vue CLl。 #1、安装nodejs brew install nodejs #2、再执行下面命令来安装npm(npm是开发nodejs时所用的依赖库) brew install npm #3、安装vue cli npm install -g v…...
Python - 单元测试
python-单元测试1 Unittest2 Pytest3 两者区别断言方面用例执行编写规则前后置操作setUp, setUpclass, setUpmodule 区别4 实战操作unittest:pytest:1 Unittest unittest属于python的内置框架,支持多种自动化测试用例的编写,以及支持用例前置条件和后置…...
特权级那些事儿-实模式下分段机制首次出现的原因
前言: 操作系统的特权级模块在整个操作系统的学习中应该算的上是最难啃的了,提到特权级就要绕不开保护模式下的分段机制;如果想要彻底弄明白就要对比实模式下的分段机制有什么缺陷。这就衍生出很多问题如:什么是实模式?…...
详解Vue安装与配置(2023)
文章目录一、官网下载node.js二、安装Node.js三、环境配置四、idea导入vue项目五、IDEA添加Vue.js插件一、官网下载node.js Vue是前端开发框架。搭建框架,首先要搭建环境。搭建Vue的环境工具:node.js(JavaScript的运行环境)&…...
TypeScript深度剖析:Vue项目中应用TypeScript?
一、前言 与link类似 在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator, 其是基于vue-class-component库而来,这个库vue官方推出的一个支持使用class方式来开发vue单文件组件的库 主要的功能如下: metho…...
linux面试高级篇
题目目录1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?2. Dockerfile中最常见的指令是什么?3.docker网络模式有哪些?4.Kubernetes有哪些核心组件这些组件负责什么工作?5. Pod是什么?6.描述一…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
