oracle表空间

Oracle体系架构和导入/导出

丶灬走出姿态 提交于 2020-03-03 13:34:12
1. Oracle的体系架构 Oracle的体系结构是数据库的组成,工作过程,以及数据库中数据的组织与管理机制,要了解oracle数据库的体系结构,就必须要理解oracle的主要组件和重要的概念。Oracle体系结构包含一系列组件,包括实例、用户进程、服务进程、数据文件及其他文件,如参数文件、口令文件和归档日志文件等 2. 表空间的含义 表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。 Oracle 数据库中至少存在一个表空间,即 SYSTEM 的表空间。 SQL Server 数据库与 Oracle 数据库之间最大的区别要属表空间设计。 Oracle 数据库开创性地提出了表空间的设计理念,这为 Oracle 数据库的高性能做出了不可磨灭的贡献。可以这么说, Oracle 中很多优化都是基于表空间的设计理念而实现的。 3. 用户和权限之间的关系 1 、用户:应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于 0 ~ n 个角色,可属于 0 ~ n 个组。他的权限集是自身具有的权限、所属的各角色具有的权限、所属的各组具有的权限的合集。它与权限、角色、组之间的关系都是 n 对 n 的关系。 2 、权限:系统的所有权限信息具有上下级关系,是一个树状的结构。对于每个权限,又存在两种情况

Oracle数据库管理——表数据库高水位及shrink操作

老子叫甜甜 提交于 2020-03-03 11:53:55
在Oracle数据的存储中,可以把存储空间想象为一个水库,数据想象为水库中的水。水库中的水的位置有一条线叫做水位线,在Oracle中,这条线被称为高水位线(High-warter mark, HWM)。在数据库表刚建立的时候,由于没有任何数据,所以这个时候水位线是空的,也就是说HWM为最低值。当插入了数据以后,高水位线就会上涨,但是这里也有一个特性,就是如果你采用delete语句删除数据的话,数据虽然被删除了,但是高水位线却没有降低,还是你刚才删除数据以前那么高的水位。也就是说,这条高水位线在日常的增删操作中只会上涨,不会下跌。 下面我们来谈一下Oracle中Select语句的特性。Select语句会对表中的数据进行一次扫描,但是究竟扫描多少数据存储块呢,这个并不是说数据库中有多少数据,Oracle就扫描这么大的数据块,而是Oracle会扫描高水位线以下的数据块。现在来想象一下,如果刚才是一张刚刚建立的空表,你进行了一次Select操作,那么由于高水位线HWM在最低的0位置上,所以没有数据块需要被扫描,扫描时间会极短。而如果这个时候你首先插入了一千万条数据,然后再用delete语句删除这一千万条数据。由于插入了一千万条数据,所以这个时候的高水位线就在一千万条数据这里。后来删除这一千万条数据的时候,由于delete语句不影响高水位线,所以高水位线依然在一千万条数据这里

Oracle 常用命令

為{幸葍}努か 提交于 2020-03-03 11:41:50
Oracle 常用命令 --连接数据库: sqlplus / as sysdba sqlplus 用户名/密码@数据库名 as sysdba --连远程主机的数据库: sqlplus 用户名/密码@IP地址/数据库名称 as sysdba --改行宽度 set linesize 2000; --改行数 set pagesize 1000; --1、查看表空间的名称及大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; --6、查看表空间的使用情况 SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name FROM dba_free_space GROUP BY tablespace_name; SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free, (b.bytes * 100) / a.bytes "% USED

Oracle数据库高水位释放——LOB字段空间释放

半城伤御伤魂 提交于 2020-03-03 11:28:28
在Oracle数据库中表随着数据增长,所占磁盘容量也会增长,当表中数据不再需要时,对表进行delete操作,表中代表所占空间的标志-高水位,不会随着数据删除而下降,高水位没有变化,即使删除了数据库,表所占空间大小仍然不变,因此,如果要释放空间,就需要对表进行如下处理: 一、如果表所在的表空间是段空间自动管理(即ASSM),可对表进行shink操作,来释放空闲数据块,降低高水位,shink操作可不用暂停所有业务: 查看表空间是否是段空间自动管理(ASSM)可以通过视图dba_tablespaces查看。 命令: select tablespace_name , segment_space_manegement from dba_tablespaces ; 如果segment_space_manegement的值不是AUTO,表示表空间不是ASSM,则不能进行shink操作,只能对表进行move的操作。 具体对表进行shrink操作方法,可参考:https://blog.csdn.net/qq_32838955/article/details/104625220 二、释放高水位也可以对表进行move操作,进行move操作时需要停止一切业务。但是对表进行move操作后,表上的索引和约束会全部失效,需要进行rebuild重建。 move操作的命令: alter table table

oracle11g rac RMAN备份恢复至单机

帅比萌擦擦* 提交于 2020-03-03 00:25:01
在一节点上进行全备 确定备份路径,并赋予属组 mkdir /rmanbackup chown oracle:oinsatll /rmanbackup 进入rman进行全备 rman target / run { allocate channel d1 type disk; backup incremental level 0 format '/rmanbackup/orcl_full_%U' database include current controlfile; delete noprompt obsolete; sql 'alter system archive log current'; backup format '/rmanbackup/orcl_arch_full_%U' archivelog all not backed up delete input; crosscheck backup; delete noprompt expired backup; release channel d1; } 将生成的备份传到单机环境 cd /rmanbackup scp * oracle@192.168.100.199:/rmanbackup/ (单机上已备好此路径) 创建pfile文件并修改传送到单机环境对应目录下 SQL> create pfile='

查看 Oracle 是32位还是64位的方法

蹲街弑〆低调 提交于 2020-03-02 08:24:44
方法一:使用sqlplus 64位: [oracle@qs-wg-db2 ~]$ sqlplus / as sysdba; SQL*Plus: Release 10.2.0.5.0 - Productionon Sun Sep 25 08:57:22 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - 64bit Production With the Partitioning, OLAP, Data Miningand Real Application Testing options SQL> 如果是64位,用sqlplus 连上之后会显示具体的位数信息,32位则不会显示。 32位: C:\Users\Administrator.DavidDai>sqlplus/ as sysdba; SQL*Plus: Release 11.2.0.1.0 Production onSun Sep 25 08:55:48 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle

查看 Oracle 是32位还是64位的方法

拈花ヽ惹草 提交于 2020-03-02 08:24:22
方法一:使用sqlplus 64位: [oracle@qs-wg-db2 ~]$ sqlplus / as sysdba; SQL*Plus: Release 10.2.0.5.0 - Productionon Sun Sep 25 08:57:22 2011 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise EditionRelease 10.2.0.5.0 - 64bit Production With the Partitioning, OLAP, Data Miningand Real Application Testing options SQL> 如果是64位,用sqlplus 连上之后会显示具体的位数信息,32位则不会显示。 32位: C:\Users\Administrator.DavidDai>sqlplus/ as sysdba; SQL*Plus: Release 11.2.0.1.0 Production onSun Sep 25 08:55:48 2011 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle

oracle导入导出,自动备份

安稳与你 提交于 2020-02-29 21:52:06
一Oracle导入导出操作 删除用户: drop user userlms cascade exp help=y 导出数据(cmd中) exp lmsdata/Jxht1234@202.31.125.51/LMSDEV file=d:\DataBase\lmsdev_xzw_20110510.dmp full=y --lmsdata是表空间 exp lmsdata/Jxht1234@202.31.125.51/LMSDEV file=d:\DataBase\lmsdev_xzw_20110510.dmp owner=(lmsdata) 将.dmp文件变成为压缩文件 compress=y 删除: drop tablespace lmsdata including contents and datafiles; 当有多个sid(数据库时) 一定要指定sid. dos命令:set oracle_sid=abc 然后再创建表空间或用户名。 打开sqlplus 窗口并连接超级用户 ( sqlplus /nolog >>>> conn /as sysdba ) 1.----------创建表空间---------------- create tablespace lmsdata logging datafile 'E:\app\11111\oradata\orcl\lmsdata.dbf'

Oracle 课程一之Oracle体系结构

十年热恋 提交于 2020-02-28 07:16:34
课程目标 •理解ORACLE数据库体系架构—内存结构和进程 •理解SQL在数据库中的运作流程 •理解UNDO&REDO原理 •理解commit原理 1.Oracle数据库概述 •数据库:物理操作系统文件或磁盘的集合。 •实例:一组Oracle后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享。 2. Oracle体系结构 任何硬件平台或操作系统下的ORACLE体系结构都是相同的, 包括如下四个方面: •物理结构 数据文件,日志文件,控制文件,参数文件。 •逻辑结构 表空间、段、区间、数据块。 •内存结 共享池,数据缓冲区,日志缓冲区,PGA。 •进程 用户进程、服务器进程、后台进程。 数据文件:select name from v$datafile; 控制文件:select name from v$controlfile; 日志文件:select member from v$logfile; 参数文件:$oracle_home/dbs/initSID.ora(从spfile转换,create pfile from spfile;) 归档日志文件:show parameter log_archive_dest 查看归档模式:archive log list SGA: show sga/show parameter sga/v$sgastat PGA:

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