表空间

【ORACLE】 表空间信息

南笙酒味 提交于 2020-02-29 19:34:01
Linux 查看磁盘空间命令 格式: df -hl 显示格式为: 文件系统 容量 已用 可用 已用% 挂载点 [ root@localhost opt]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda3 416502068 103330280 313171788 25% / devtmpfs 1899236 0 1899236 0% /dev tmpfs 1907804 0 1907804 0% /dev/shm tmpfs 1907804 9056 1898748 1% /run tmpfs 1907804 0 1907804 0% /sys/fs/cgroup /dev/sda1 51175000 51164908 10092 100% /home tmpfs 381564 8 381556 1% /run/user/42 tmpfs 381564 0 381564 0% /run/user/1001 tmpfs 381564 0 381564 0% /run/user/0 其中 /dev/sda1 51175000 51164908 10092 100% /home 可见 /home 使用已经100% 表空间信息可以通过以下脚本查询: select a.tablespace_name 表空间,

mysql初识之数据文件及其他文件

跟風遠走 提交于 2020-02-29 06:23:12
在 mysql中数据文件存放于在my.cnf中datadir指定的路径,使用的表引擎不同产生的文件格式、表文件个数也会有所差异。mysql的表引擎有 多种,表的扩展名也不一样,如innodb用“ .ibd”,archive用“.arc ”,csv用“.csv”等。 myisam表引擎 myisam表会产生三个文件:MYI、MYD、frm文件 frm文件: 主要存放表的元数据(meta),包括表结构定义信息等。不论是哪个表引擎都会有一个frm文件,存放在数据库的数据目录下。 .MYI文件(索引文件): 主要存放myisam的索引信息可以被cache的内容主要源于 .MYI文件中,每个myisam表对应一个 .myi文件,存放的位置与 .frm 、MYI一样。 innodb引擎 使用innodb引擎时,需要理解独立表空间、共享表空间。 独立表空间:每个表都会生成以独立的文件方式来存储,每个表都一个.frm的描述文件,还有一个.ibd文件。其中这个文件包括了单独一个表的数据及索引内容,默认情况下它的存储在mysql指定的目录下。 独立表空间优缺点: 优点: 每个表都有 自己独立的表空间;每个表的数据和索引都会存储在各个独立的表空间中;可以实现 单表 在不同的数据进行迁移;表空间可以回收(除了drop table操作,表空不能自己回收);drop table 操作自动回收表空间

oracle基础学习

吃可爱长大的小学妹 提交于 2020-02-27 08:18:22
1.desc table_name 可以查询表的结构 2.怎么获取有哪些用户在使用数据库 select username from v$session; 3.如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ? select sys_context('userenv','ip_address') from dual; 如果是登陆本机数据库,只能返回127.0.0.1 4.如何给表、列加注释? SQL>comment on table 表 is '表注释'; 注释已创建 SQL>comment on column 表.列 is '列注释'; 注释已创建。 SQL> select * from user_tab_comments where comments is not null; 5.如何在ORACLE中取毫秒? select systimestamp from dual; 6.如何在字符串里加回车? 添加一个||chr(10) select 'Welcome to visit'||chr(10)||'www.CSDN.NET' from dual ; 7.怎样修改oracel数据库的默认日期? alter session set nls_date_format='yyyymmddhh24miss'; 8.怎么可以看到数据库有多少个tablespace? select

Oracle中用户的基本操作

a 夏天 提交于 2020-02-26 22:09:57
创建用户 1.首先登陆到系统用户sys(sys用户具有创建用户的权限)。 2.然后在代码编辑框写入创建用户的代码。   语法: CREATE USER user_name IDENTIFIED BY password      [ACCOUNT LOCK|UNLOCK]   lock:给用户上锁;unlock:解锁用户。(和connnect角色无关)      [DEFAULT TABLESPACE default_tablespace]  default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间      [TEMPORARY TABLESPACE temporary_tablespace];  temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间    示例:CREATE USER student IDENTIFIED BY 123456;创建了一个student用户,登陆密码为123456. 给用户分配权限 1.如果想让用户在数据库里完成一些任务,需要相应的给用户授予权限。如: 如果想让用户连接到数据库,必须授予用户CREATE SESSION的系统权限。 2.授权必须通过一些特殊用户授权(例如SYSTEM),通过GRANT语句来完成

oracle数据库迁移

穿精又带淫゛_ 提交于 2020-02-26 15:41:00
一、导出 导出用户对象: 1、plsql登录到数据库 2、查询当前用户的默认表空间(以DEMO1账户为例) 用DEMO1用户登陆plsql,在上图的窗口里的Users的分支下找到当前的用户名DEMO1,再点view,在右边的Default tablespace就可以查看该用户的默认表空间(TBS_DEMO1)。 3、导出DEMO1用户的所有用户对象(表结构): 在DEMO1用户下,点击tools,Export User Objects,在右侧弹出的窗口按如上设置进行设置,重点是Single file,然后在Output file选择路径,再点击export导出用户对象文件(文件为sql格式)。 注意:这个导出完成后可能没有什么成功或者完成一类的提示,只需要看到下条的进度条已经走完。再看一下生成出来的log文件最后有spoo off就说明导完了。 导出表数据: 在右侧窗口全选所有表对象,再点击下方的Output file选择输出路径,再点击Export生成数据文件(文件格式为dmp格式) 二、导入 在新的数据库服务器用sys账号登陆sql 1、新建用户表空间(表空间的名字要和导出的一致,这里以TBS_DEMO1为例) create tablespace TMS_DEMO1 datafile ‘D:\ORACLE11GR2\ORADATA\PCILAB\DATA.DBF’ size

Oracle数据库的逻辑备份工具-expdp数据泵

[亡魂溺海] 提交于 2020-02-26 14:03:54
Oracle数据库可以通过数据泵expdp工具进行数据的导出、导入。在介绍工具使用之前,先说个注意事项,在Oracle11g之后新创建的表在没有插入数据时,是不会分配segment的,也就是说不会分配空间,而使用expdp导出时,这类空表就不会被导出,导致数据库结构不完整(此情况不包含原先有数据后来被清空的表)。因此为了不会遗漏数据,在导出时先对空表进行一次处理(手动分配空间): 1.通过user_tables查询那些表时没有数据的(注意:为了提高准确性,可以先对用户下的所有表进行一次表分析analysis table),然后通过下面语句直接生成手动分配segment的语句: select 'alter table ' || table_name || ' allocate extent;' from user_tables where num_rows = 0 ; PS:当然以上语句会把原先有数据后被清空的表也查询出来,但为了一个一个排除麻烦,就直接再从新分配一次segment。 2.批量执行生成的语句即可。 一、以上处理完成后,下面说一下expdp导出工具的使用: 1.expdp工具导出的文件只能存放在数据库服务器本地,是无法远程导出到其他服务器的(exp工具导出通过本地远程到数据库服务器,将导出文件直接放到本地:),只能导出存放到数据库服务器本地

达梦数据库备份和还原

谁说我不能喝 提交于 2020-02-25 23:32:15
1、概述: 备份方式:物理备份,逻辑备份 物理备份: 冷备:(DmAPService服务打开的状态下,数据库是关闭的) 热备:(DmAPService服务一定是打开的,数据库是打开的,数据库建议开启归档) 逻辑备份: 导入导出:dexp dimp 2、库备份 2.1 离线备份 离线备份(冷备)是指DmAPService服务启动的状态下,数据库实例服务是关闭。 [root@dm1 ~]# service DmServicelveve stop [root@dm1 ~]#su dmdba [dmdba@dm1 bin]$ cd /dm7/bin [dmdba@dm1 bin]$ ./dmrman dmrman V7.6.0.96-Build(2018.09.19-97292)ENT RMAN> backup database '/dm7/data/test/dm.ini' full;(完整备份) RMAN> backup database '/dm7/data/test/dm.ini' increment;(增量备份) 2.2 在线备份 在线备份(热备)是指DmAPService服务启动的状态下,数据库是打开的,数据库建议开启归档。 [root@dm1 ~]# mkdir /dm7/backup SQL>select arch_mode from v$database;

MySQL InnoDB特性:Double Write

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-24 22:06:32
MySQL InnoDB特性:Double Write 一、经典Partial page write问题? 介绍double write之前我们有必要了解partial page write(部分页失效)问题。 InnoDB的Page Size一般是16KB,其数据校验也是针对这16KB来计算的,将数据写入到磁盘是以Page为单位进行操作的。我们知道,由于文件系统对一次大数据页(例如InnoDB的16KB)大多数情况下不是原子操作,这意味着如果服务器宕机了,可能只做了部分写入。16K的数据,写入4K时,发生了系统断电/os crash ,只有一部分写是成功的,这种情况下就是partial page write问题。 有经验的DBA可能会想到,如果发生写失效,MySQL可以根据redo log进行恢复。这是一个办法,但是必须清楚地认识到,redo log中记录的是对页的物理修改,如偏移量800,写’aaaa’记录。如果这个页本身已经发生了损坏,再对其进行重做是没有意义的。MySQL在恢复的过程中检查page的checksum,checksum就是检查page的最后事务号,发生partial page write问题时,page已经损坏,找不到该page中的事务号。在InnoDB看来,这样的数据页是无法通过checksum验证的,就无法恢复。即时我们强制让其通过验证,也无法从崩溃中恢复

Oracle常用系统表和视图归纳

落爺英雄遲暮 提交于 2020-02-24 10:47:20
目录 常用系统表或者视图 重要字段说明 常用系统表或者视图 NAME TYPE OWNER Description DBA_OBJECTS 当前数据库里的所有对象 USER_OBJECTS VIEW 当前用户拥有的所有对象(不显示OWNER字段) ALL_OBJECTS 当前用户能够访问的所有对象,注意object_type 和 owner字段 DBA_TABLES 当前数据库里所有的关系表 ALL_TABLES 当前用户可访问的关系表 USER_TABLES 当前用户拥有的关系表 ALL_TAB_COLUMNS 系统视图,存放表信息(数据库名 表名,表字段名,字段类型,字段长度,默认值等) DBA_TABLESPACES 数据库中的所有表空间 USER_TABLESPACES 当前用户可访问的表空间 ALL_SOURCE VIEW SYS 记录了该用户可访问的所有数据库对象的脚本信息(DDL) 重要字段说明 名字 字段 说明 ALL_SOURCE TYPE 对象类型,如FUNCTION, JAVA SOURCE, PACKAGE, PACKAGE BODY, PROCEDURE, TRIGGER, TYPE, TYPE BODY等 来源: CSDN 作者: Trust-The-Process 链接: https://blog.csdn.net/weixin_44728363