表空间

oracle数据库备份(整理笔记)

六眼飞鱼酱① 提交于 2019-11-29 08:06:48
快到新一年了 ,复习一下oracle为以后做多准备 一、Oracle备份方式分类: Oracle有两类备份方式: (1)物理备份:将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,就是冷备份、热备份; (2)逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程,逻辑备份需要使用导入导出工具: EXPDP/IMPDP或EXP/IMP; 两种方式有什么优缺点: oracle备份 概述 优点 缺点 冷备份 数据库可以暂时处于关闭状态时,我们需要将它在这一稳定时刻的数据相关文件转移到安全的区域,当数据库遭到破坏,再从安全区域将备份的数据库相关文件拷贝回原来的位置,这样,就完成了一次快捷安全等数据转移。由于是在数据库不提供服务的关闭状态,所以称为冷备份。 备份安全迅速,容易维护 必须关闭数据库,不能随意在任意时间点上备份数据库 热备份 热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作 不需要关闭数据库 ,时间点精确. 过程复杂,操作不可恢复,数据量较小的时候 逻辑备份 是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。 逻辑备份使用导入导出工具:EXPDP/IMPDP或EXP/IMP; 不可关闭,跨平台操作和迁移数据 下面来详细冷热备份的简单操作,逻辑备份需要使用工具

MySQL 的架构与组件

喜欢而已 提交于 2019-11-29 06:52:05
MySQL 的逻辑架构图设计图 连接/线程处理: 管理客户端连接/会话[mysql threads] 解析器: 通过检查SQL查询中的每个字符来检查SQL语法,并 为每个SQL查询 生成 SQL_ID 。 此外,身份验证检查(用户凭据)将在此阶段发生。 优化程序: 根据存储引擎创建有效的查询执行计划。 它将重写一个查询。 示例:InnoDB具有共享缓冲区,因此优化器将从中获取预缓存的数据。 使用表统计信息优化器将为SQL查询生成执行计划。 授权检查(用户访问权限)将在此阶段发生。 元数据缓存: 缓存对象元数据信息和统计信息。 查询缓存: 来自内存的共享相同查询。如果在查询缓存中找到来自客户端的相同查询,则MySQL服务器从查询缓存中检索结果,而不是再次解析和执行该查询。 它是会话的共享缓存,因此可以发送一个客户端生成的结果集以响应另一个客户端发出的相同查询。 查询缓存基于 SQL_ID .SELECT数据进入视图是使用查询缓存预缓存数据的最佳示例。 密钥缓存: 缓存表索引。在 MySQL 中密钥是索引(在oracle密钥是约束),如果索引大小小,那么它将缓存索引结构和数据叶。如果索引很大,那么它将只缓存索引结构。由MyISAM 使用存储引擎。 存储引擎: 管理物理数据(文件管理)和位置的MySQL组件。 存储引擎负责执行SQL语句并从数据文件中获取数据。 用作插件

5 mysql底层解析——b+ tree和每个page存储结构,包括连接、解析、缓存、引擎、存储等

北城以北 提交于 2019-11-29 06:23:40
上一篇 ,我们学习了innodb文件系统内部大的存储结构,包括段(segment),簇(extent),页(page)各自的含义。 简单回顾一下,段是组成表空间的最大结构,当创建一个表时,会同时创建两个段(内节点段,叶子段),分别管理非叶子节点数据和叶子节点数据。其实还有一个段(回滚段),是存放回滚数据的,只不过回滚段不是放在每个表的表空间,而是放在共享表空间的,希望还能记得共享表空间是什么。 簇,是段的下一级,每个簇固定大小是64个page,共64*16K=1M。为了保证数据存储时,页能尽量保持物理磁盘上的连续性,innodb会一次性申请4-5个簇。 页,最小的存储单位。常见的页类型有数据页、undo页、系统页、事务数据页、插入缓冲位图页、插入缓冲空闲列表页、未压缩的二进制大对象页、压缩的二进制大对象页。 OK,回到B+ tree这里。 B+ tree是如何构成的,里面的数据是怎么存放的呢。 以一个简单的2层b+ tree为例 这个树只有2层,首先每个page都有自己的唯一编号,将来就要通过编号来找对应的page。根页做为一个第一层的索引页,里面是不存在叶子数据(行数据)的,只存放Key,同时还包含了pageNo信息,用来将来去找对应的页。 所有的记录节点都是按键值的大小顺序存放在同一层的叶子节点上,由各叶子节点指针进行连接(双向指针)。 所以查询时,无论正序倒序

Oracle数据库学习笔记

本秂侑毒 提交于 2019-11-29 04:42:54
Oracle数据库基础   orcale属于关系型数据库,适用于各类大,中,小,微机环境,是一种高效率、可靠性好的、适应高吞吐量的数据库方案。学习,实验完全免费,商用需要支付相应费用。   Oracle 数据库包括数据库实例,和数据库,二者脱离谁都没有存在的价值。实例是用来操作数据库的对象,数据库是用来存储数据使用的。   Oracle主要组件包含实例组件,数据库组件。SGA(System Global Area)是Oracle Instance的基本组成部分,PGA(Process Global Area)是为每个连接到Oracle database的用户进程保留的内存。每个实例只有一个SGA,所有的进程都能访SGA。PGA是程序全局区,每个一个进程都一个PGA,PGA是私有的,只有对应进程才能访问对应的PGA。数据库中包含:参数文件,口令文件,数据库文件,控制文件,日志文件以及归档日志文件。Oracle实例进场包含用户进程,服务器进程和后台进程。   SGA:系统全局区   系统全局区包含共享池,数据缓冲区,日志缓冲区。“共享池”:是对SQL,PL/SQL程序进行语法分析,编译,执行的内存区;由库缓存和数据字典缓存组成;其大小直接影响数据库性能。“数据缓冲区”:临时存储从数据库读入的数据,所有用户共享,数据缓存区的目的是加快数据读写。“日志缓冲区”:日志记录数据库所有修改信息

oracle数据库备份、还原命令及常见问题(待补充)

旧时模样 提交于 2019-11-29 04:17:29
1、oracle数据库的备份: 先查空表——将结果全选复制为insert语句——将语句执行后导出 先select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;把空表查出来,再执行 备份命令(在cmd中运行):EXP 用户名1/密码@实例名 OWNER=用户名1 file=D:/orcldata/xxxx.dmp 2、oracle数据库的还原: 1.打开cmd 2.执行语句,执行语句后,下面的3、4、5、6步骤在sqlplus中执行 sqlplus sys/zfsqa as sysdba; 或sqlplus / as sysdba; 3.如果有表空间了删除以前的数据表空间 DROP TABLESPACE 表空间名 INCLUDING CONTENTS AND DATAFILES; 如果没有就创建表空间 create tablespace 表空间名 datafile 'E:\orcldata\表空间.dbf' size 2000m; 4.创建新的数据表空间用户 create user 用户2 identified by 密码 default tablespace 表空间名; 如果用户已存在: DROP USER C##WEB_CHENZHOU CASCADE;

Oracle如何备份还原DMP数据库(导入导出DMP)

[亡魂溺海] 提交于 2019-11-29 01:14:29
一.Oracle导入备份文件步骤: 1.把数据库的备份文件:123.DMP 拷贝到oracle安装目录下的dpdump文件夹中, 比如我的路径是: D:\app\administrator\admin\orcl\dpdump 在你的PLSQL Developer中 或者直接在cmd下登录sqlplus, 作如下操作 2.创建表空间 db123.dbf create tablespace db123 datafile 'D:\app\administrator\admin\orcl\dpdump\db123.dbf' size 500m reuse autoextend on next 10m maxsize unlimited extent management local autoallocate permanent online; -- 指定表空间初始大小为500M,并且指定表空间满后每次增加的大小为10M。 3.创建用户 create user +用户名+ identified by +密码+ default tablespace +表空间名; --用户、密码指定表空间 4.给用户授权 grant connect,resource,dba to user_name; -- 给用户user_name 授权。 connect和resource是两个系统内置的角色

MySQL设置undo为独立表空间

巧了我就是萌 提交于 2019-11-29 00:34:16
MySQL5.6中开始支持把undo log分离到独立的表空间,并放到单独的文件目录下;采用独立undo表空间,再也不用担心undo会把 ibdata1 文件搞大; 也给我们部署不同IO类型的文件位置带来便利,对于并发写入型负载,我们可以把undo文件部署到单独的高速存储设备上. 在数据库初始化的时候就使用如下三个参数 innodb_undo_tablespaces=3 #设置为3个 innodb_undo_logs=128 #默认128个 innodb_undo_directory =/dbfiles/mysql_home/undologs 就可以分离出单独的undo表空间 root@localhost [(none)]> show variables like '%undo%'; +-------------------------+--------------------------------+ | Variable_name | Value | +-------------------------+--------------------------------+ | innodb_undo_directory | /data/mysql/mysql3306/undologs | | innodb_undo_logs | 2 | | innodb_undo

达梦数据库的表空间管理

大憨熊 提交于 2019-11-28 23:32:23
达梦数据库的表空间管理 前面达梦数据库的安装是在centos服务器完成并记录的。后续的数据库相关操作将在本机的达梦数据库来操作方便。 表空间有分用户表空间、系统表空间(SYSTEM)、回滚表空间(ROLL)、临时文件表空间(TEMP)和数据库默认的表空间(MAIN)等等,我们这次的操作主要就对正常使用的用户表空间增加、删除、修改。 1、查看所有表空间 以下几个是达梦数据库默认有哪些表空间: 1.SYSTEM:系统表空间,存放数据字典信息和全局的系统数据 2.ROLL:回滚表空间,存放了数据库运行过程中产生的回滚记录 3.TEMP:临时表空间,存放临时数据,临时表默认都存放在临时表空间上 4.MAIN:数据库默认的表空间,创建数据对象时,如果不指定存储位置,默认存放到该表空间 select id,name,max_size,total_size from v$tablespace; 2、创建表空间 创建最普通的表空间,初始数据文件大小 create tablespace tbs1 datafile 'tbs1.dbf' size 50; 以下是创建自动扩展的表空间,初始大小50M,最大100M create tablespace tbs2 datafile 'tbs2.dbf' size 50 autoextend on maxsize 100; 以下是创建自动扩展的表空间

达梦数据库的用户管理

十年热恋 提交于 2019-11-28 23:29:15
达梦数据库的用户管理 安装完达成梦数据库,系统默认会自带有一些系统级的用户: 1、sys -----达梦数据库内置管理用户,不能登录数据库,数据库使用的大部分的数据字典和动态性能视图sys。 2、Sysdba -----数据库的管理员 3、Sysauditor---审计用户 4、Syssso---安全用户 在达梦数据库里每一个用户都有一个默认的表空间,对于 SYS、SYSSSO、SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。 1、查看所有用户 select username,user_id,default_tablespace,profile from dba_users; 2、创建用户 create user test1 identified by test123456 default tablespace tbs1; 创建完用户我们来测试下连接 创建用户设置密码注意: DM7.6之前版本默认密码是转为大写存储的,登录时要注意。比如用户设置test1/test123456,那么登录的时候用test1/TEST123456和TEST1/TEST123456可以登录,用test1/test123456和TEST1

MySQL表空间结构

本秂侑毒 提交于 2019-11-28 22:17:16
在Innodb中,我们可以指定一张表的数据是保存在独立表空间还是系统表空间,这个参数是:innodb_file_per_table 如果我们设置这个参数的值为0,那么一个表将使用系统表空间来保存表的数据,如果设置为1,则使用独立表空间来存储数据。 除此之外,我们可以使用 alter table tbl_name tablespace innodb_file_per_table; 的方法来把系统表空间中的表转移到独立表空间,反之,我们可以使用: alter table tbl_name tablespace innodb_system 的方法来将独立表空间的表转移到系统表空间。 系统表空间(ibdata1、ibdata2文件) 系统表空间是指data目录下面的ibdata1文件和ibdata2文件,文件个数可以指定,这里的表空间文件默认大小是12M,当然,我们也可以手动设置,配置的方法如下: # InnoDB Directory Variables innodb_data_home_dir = /data/mysql_4306/data innodb_data_file_path = ibdata1:1000M;ibdata2:100M:autoextend innodb_file_per_table = 1 在配置文件my.cnf里面写上以上参数,注意看