精华内容
下载资源
问答
  • 表空间
    千次阅读
    2021-05-08 04:40:28

    用户有默认表空间,但是只能指定一个,但是你有其它表空间的限额的话,可以将表建到其它表空间中。 语法 create table xxx(xxxx xx) tablespace xxxxx

    1.查看当前用户的缺省表空间

    SQL>select username,default_tablespace from user_users;

    2.查看所有用户的表空间

    需要有dba的权限

    1、查看用户使用的缺省表空间名称

    你一定知道你登陆的用户名是吧,

    以sysdba登陆。

    sqlplus / as sysdba

    select username,default_tablespace from dba_users;

    2、查看表空间总大小,及其已使用大小

    select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",

    round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"

    from

    (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,

    (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b

    where a.tablespace_name=b.tablespace_name

    order by ((a.bytes-b.bytes)/a.bytes) desc;

    Oracle 导入导出SQL 查看登录用户表个数

    导出 : --注意结尾不能加分号; 导入 IMP HLMARKET/HLMARKET@192.168.1.22:1521/orcl file=e:/db/HLMARKET_20150729.dmp f ...

    oracle 如何查看当前用户的表空间名称

    如何查询当前用户的表空间名称?因为oracle建立索引,需要知道当前用户的表空间,查找了一下资料 --查询语法-- select default_tablespace from dba_users w ...

    Oracle 11g常用管理命令(用户、表空间、权限)

    PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle ...

    Oracle记录(三) Scott用户的表结构

    在Oracle的学习之中,重点使用的是SQL语句,而所有的SQL语句都要在scott用户下完成,这个用户下一共有四张表,可以使用: SELECT * FROM tab; 查看所有的数据表的名称,如果现 ...

    Oracle笔记(三) Scott用户的表结构

    在Oracle的学习之中,重点使用的是SQL语句,而所有的SQL语句都要在scott用户下完成,这个用户下一共有四张表,可以使用: SELECT * FROM tab; 查看所有的数据表的名称,如果现 ...

    oracle 备份和还原还有创建用户、表空间、授权

    --找到存放dbf文件的路径--E:\oracle\product\10.2.0\oradata\orcl--可以通过此语句进行查询select * from v$datafile; --创建表空间c ...

    Oracle数据库(实例)删除用户和表空间

    删除用户drop user IMPLOCAL cascade; 删除表空间drop tablespace IMPLOCAL including contents and datafiles casca ...

    4.windows和Linux下创建oracleusername表空间,表,插入数据,用户管理表等操作

    进入超级管理员,运行下面命令 Window下创建数据库.表空间,用户,插入数据等操作 -- 01 创建表空间 -- 注意表空间的路径 依据实际安装环境进行调整 CREATE TABLESPACE ts ...

    Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称)

    显示Oracle sga相关信息: SQL> show sga Total System Global Area 105978600 bytes Fixed Size 453352 bytes ...

    随机推荐

    Eclipse自动补全设置

    如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望. 但是eclipse其实是非常强大的,eclipse的自动补全没有VS那么好是因为ecl ...

    各种类型转换为字符串类型(ToString())

    更详细请参考:http://blog.csdn.net/wanzhuan2010/article/details/8478904 // C 货币 2.5.ToString("C") ...

    如何让oracle的select强制走索引

    大多数情况下,oracle数据库内置的查询优化策略还是很成功的,但偶尔也有犯2的时候,即使有索引,也会做全表扫描,可以参考以下语句的写法,强制让select语句使用索引 CREATE OR REPLA ...

    FreeMarker标签介绍

    转自:http://www.blogjava.net/kxbin/articles/366505.html FreeMarker标签使用 一.FreeMarker模板文件主要有4个部分组成  1.文本 ...

    linux 常用查找命令 小技巧

    wc -l `find . -name "*.css"`|tail -n1 指定目录下 在指定后缀文件 查找关键字 find ./ -name "*" -exe ...

    operation 多线程

    2.Cocoa Operation 优点:不需要关心线程管理,数据同步的事情.Cocoa Operation 相关的类是 NSOperation ,NSOperationQueue.NSOperati ...

    Android开源--MenuDrawer

    开放的源地址:https://github.com/SimonVT/android-menudrawer 简单介绍:menudrawer是跟sliderMenu差点儿相同的一种框架,常被应用做设置界面 ...

    C#的HttpWebRequest编程,支持带ViewState的网页POST请求

    staticprivatestring SearchURL(string id) { try { //Get the ViewState and EventValidation HttpWebRequ ...

    php访问mysql数据库的步骤

    官方说5.5开始就废弃mysql_query()这块东西很多,当然常用的就几个还是看手册吧. 这里简单记录一下.在我失忆之后可以找回一点记忆.最近一直用框架原生的都快忘了. 1.打开mysql连接 $ ...

    PWA-清单文件

    应用清单 介绍 Web 应用清单文件是简单的 JSON 文件,提供了应用的相关信息 (比如应用的名称.作者.图标和描述).可使用户将 Web 应用安装到设备的主屏幕上,并允许开发者自定义启动画面.模板 ...

    更多相关内容
  • ORACLE修改表空间方法

    千次阅读 2021-05-02 01:38:01
    先导出源库,再建立新库把表空间建立好,而后再导入。(听说这样能够,前提是新的库里面不能有与源库相同名字的表空间。有待验证!)2、使用脚本进行修改。据目前所了解,正长状况下须要修改表的空间和表的索引的空间...

    1、使用imp/exp。先导出源库,再建立新库把表空间建立好,而后再导入。(听说这样能够,前提是新的库里面不能有与源库相同名字的表空间。有待验证!)

    2、使用脚本进行修改。据目前所了解,正长状况下须要修改表的空间和表的索引的空间,若是涉及到BOLB字段的表,修改的方式又不同了!

    正常状况下的修改脚本:

    1.修改表的空间

    alter table TABLE_NAME move tablespace TABLESPACENAME

    查询当前用户下的全部表

    select 'alter table  '|| table_name ||'  move tablespace tablespacename;'  from user_all_tables;

    2.修改表的索引的空间

    alter index INDEX_NAME rebuild tablespace TABLESPACENAME

    查询当前用户下的全部索引

    select 'alter index '|| index_name ||' rebuild tablespace tablespacename;' from user_indexes;

    可使用脚本执行查询的结果,这样就能够批量处理!

    不正常状况即含有BLOB字段的表:

    参考下面的文档

    本人已经执行过,是可行的,可是不知道有没有漏掉数据库中其它对象。是否还存在有对象的表空间须要修改,须要进一步发现或有数据库高手帮忙讲解则不胜感激!目前的修改在项目中尚未出现问题!

    在移植看注意研究了下ORACLE ALTER TABLE MOVE 的语法:

    ALTER TABLE table_name MOVE [ONLINE] tablespace_name;

    经过上面的语句能够移植表到新表空间,

    若是要移植LOB字典须要参考如下语法:

    ALTER TABLE table_name LOB (lob_item) STORE AS [lob_segment]

    (

    TABLESPACE tablespace_name

    (STORAGE.....)

    ENABLE|DISABLE STORAGE IN ROW

    CHUNK integer

    PCTVERSION integer

    RETENTION

    FREEPOOLS integer

    CACHE|NOCACHE|CACHE READS

    INDEX lobindexname

    (TABLESPACE tablesapce_name

    ((STORAGE.....))

    )

    ....

    注解:

    LOB (lob_item):表中的lob字段

    STORE AS [lob_segment]:每一个lob字段在表建立后系统都会自动单首创建一个段,能够经过这个参数手动指定一个段名

    tablespace_name:LOB字段新的存储表空间

    (STORAGE.....):指定tablespace_name的存储属性

    ENABLE STORAGE IN ROW:若是设置了enable storage in row 那么oracle会自动将小于4000bytes的数据存储在行内, 这是ORACLE的默认值,对于大于4000字节的lob字段保存在lob段(同disable storage in row),在表段将保留36-84字节的控制信息。对于disable storage in row,Oracle将lob字段分开保存在lob段中,而仅仅在行位置保留20字节的指针。对于至关于disable storage in row的这部分(也就是单独保存在LOB段的这部分数据),UNDO仅仅是记录指针与相关lob索引改变,若是发生更新操做等DML操做,原始数据将保留在LOB段。

    DISABLE STORAGE IN ROW:若是DISABLE这个属性,那么lob数据会在行外存储,行内只存储该lob值得指针,并且这个属性在表

    建立后只能在MOVE表时才能够被改变

    CHUNK:是一个很特别的属性,对一次LOB数据的操做(插入或更新),因该分配多少存储空间,指定的值最好是数据库块的倍数,并且指定的值不能大于表空间区间中NEXT的值, 要否则ORACLE会return一个错误,若是之前已经设置这个值了,那么在后期指定的值是不能被改变的。

    storage as ( CHUNK bytes )表示对于disable storage in row的这部分,最小的LOB块的大小,必须是数据库块(DB_BLOCK_SIZE)的整数倍。一个chunk最多只保留一行LOB数据,也就是说,若是你设置了32K的CHUNK,可是若是LOB字段大小只有4K,也将占用32K的空间

    storage as(cache|nocahce)表示是否容许lob段通过buffer cache并缓存。默认是nocache,表示直接读与直接写,不通过数据库的data buffer。因此,默认状况下,对于单独保存在LOB段的这部分数据,在发生物理读的时候,是直接读,如direct path read (lob)

    storage as(nocache logging |nocache nologging),logging/nologging属性只对nocache方式生效,默认是logging,若是是nologging方式,对于 保存在行外的log部分,在update等DML操做时将不记录redo日志。

    PCTVERSION integer、RETENTION:都是ORACLE用来管理LOB字段镜像数据的。在LOB 数据的更新过程当中,

    ORACLE没有用UNDO TABLESPACE空间,而是从LOB字段所在的表空间里划分一段空间来作镜像空间的,

    这个空间的大小由PCTVERSION参数控制,默认值为10,表明划分表空间的10%做为镜像空间,

    每一个镜像空间的单元大小由CHUNK参数指定,pctversion可使用在manual undo mode和automatic undo mode 环境中.

    retention应用了automatic undo mode中的undo_retention经过时间来管理lob镜像空间.

    pctversion和retention不能同时被指定.建议数据库在automatic undo mode下使用retention参数。

    FREEPOOLS integer:给LOG segment指定free list.RAC环境下integer为实例的个数.单实例环境下为1.在automatic undo mode下oracle默认采用

    FREEPOOLS来管理空闲块列表。除非咱们在表的storage配置中指定了freelist groups参数.

    CACHE|NOCACHE|CACHE READS:指定lob块是否在database buffer中缓存.

    INDEX lobindexname (TABLESPACE tablesapce_name ((STORAGE.....):给lob列指定索引存储参数

    举例:

    SQL> show parameter db_create_file_dest

    SQL> create tablespace test datafile size 100M autoextend off;

    SQL> create table test(a varchar2(100), b clob, d blob) pctfree 10 tablespace test;

    SQL> desc test

    SQL> SELECT segment_name,tablespace_name,segment_type FROM dba_segments WHERE tablespace_name='TEST';

    咱们发现每一个LOB字段单独有一个LOGSEGMENT和LOBINDEX;

    SQL> set linesize 200

    col table_name format a5

    col column_name format a5

    SELECT b.table_name,

    a.segment_name,

    b.index_name,

    a.segment_type,

    b.column_name,

    a.tablespace_name,

    b.chunk,

    b.cache,

    b.freepools,

    b.pctversion,

    b.retention

    FROM dba_segments a,dba_lobs b

    WHERE a.segment_name = b.segment_name

    AND a.tablespace_name = 'TEST'

    /

    SQL>

    从上面的结果咱们能够观察到LOB字段的各个属性.

    下面咱们对LOB字段move到另外一个表空间

    SQL> create tablespace lob_test datafile size 100M autoextend off;

    SQL> ALTER TABLE TEST MOVE LOB(B) STORE AS TEST_B (

    TABLESPACE lob_test

    DISABLE STORAGE IN ROW

    CHUNK 16384

    RETENTION

    FREEPOOLS 1

    NOCACHE);

    SQL> ALTER TABLE TEST MOVE LOB(D) STORE AS TEST_D (

    TABLESPACE lob_test

    DISABLE STORAGE IN ROW

    CHUNK 16384

    RETENTION

    FREEPOOLS 1

    NOCACHE);

    SQL> SELECT segment_name,tablespace_name,segment_type FROM dba_segments WHERE tablespace_name='TEST';

    SQL> set linesize 200

    col table_name format a5

    col column_name format a5

    SELECT b.table_name,

    a.segment_name,

    b.index_name,

    a.segment_type,

    b.column_name,

    a.tablespace_name,

    b.chunk,

    b.cache,

    b.freepools,

    b.pctversion,

    b.retention

    FROM dba_segments a,dba_lobs b

    WHERE a.segment_name = b.segment_name

    AND a.tablespace_name = 'LOB_TEST'

    /SQL>

    在一些复杂状况下可能须要连表一块儿移植

    alter table table_name move [tablespace_name] lob (lob_item) store as [lobsegmentname] (tablespace tablespace_name.....);

    移植分区中lob

    alter table table_name move partition [partition_name] lob (lob_item) store as [logsegmentname] (tablespace_name.....);

    移植分区表

    alter table table_name move partition [partition_name] tablespace_name lob (lob_item) store as [logsegmentname] (tablespace_name.....);

    若是不须要修改lobsegmentname,能够同时移植多个列

    alter table table_name move lob (lob_item1,lob_item2,lob_item3...) store as [lobsegmentname] (tablespace tablespace_name.....);

    LOB段也能够利用move来重整数据,如下的语句会将表与lob字段move到指定的表空间:

    alter table table_name move [tablespace tbs_name]

    lob(lob_field1,lob_field2) store as (tablespace new_tbs_name);

    若是LOB字段在分区表中,则增长partition关键字,如

    alter table table_name move [partition partname] [tablespace tbs_name]

    lob(field) store as (tablespace new_tbs_name);

    在数据库中合理的存储LOB列,不只能够提高性能,并且还能够有效的管理存储空间.程序员

    程序员的基础教程:菜鸟程序员数据库

    展开全文
  • oracle创建表空间

    千次阅读 2021-01-27 09:10:12
    不同于mysql有多个数据库, oracle新增了表空间和用户的概念,表空间是虚拟的,并且只有一个数据库,为了方便维护,一般一个表空间上只创建一个用户; 这里的用户名类似于mysql的数据库名,oracle的用户名.表名等价...

    转至:https://liujianshiwo.iteye.com/blog/1988094

    不同于mysql有多个数据库, oracle新增了表空间和用户的概念,表空间是虚拟的,并且只有一个数据库,为了方便维护,一般一个表空间上只创建一个用户;

    这里的用户名类似于mysql的数据库名,oracle的用户名.表名等价于mysql的数据库名.表名;因此在写兼容mysql和oracle的语句时可以用到。

    oracle安装完数据库的一般流程:先建表空间(分区)–>再建用户(分配相应的表空间和用户权限)–>登陆用户,建表

    1. 创建表空间
      create tablespace xin_datafile
      datafile ‘C:\kingstar\orcltb\xin_tb1.dbf’ size 500M --存储地址 初始大小500M
      autoextend on next 10M maxsize 200M --每次扩展10M,无限制扩展 unlimited
      extent management local autoallocate
      segment space management auto;

    –创建临时表空间
    create temporary tablespace user_temp
    tempfile ‘D:\oracle\oradata\Oracle9i\user_temp.dbf’ size 50m
    autoextend on next 50m maxsize 20480m
    extent management local;

    –删除表空间
    DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

    –表空间属性

    每块的字节大小:8192

    表空间自增量:increment_by8192 byte ; 换算: increment_by8192/1024/1024 M 或者 increment_by/128M

    注意*:若表空间初始化大小为500M,阀值为1G,自增量为300M,自增一次后的表空间大小为800M,不会受自动扩展容量的限制,最终会扩展为与阀值相等。

    –查询表空间信息

    select * from dba_data_files t order by tablespace_name;

    –建立UNDO表空间

    CREATE UNDO TABLESPACE UNDOTBS02
    DATAFILE ‘/oracle/oradata/db/UNDOTBS02.dbf’ SIZE 50M
    #注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
    ALTER SYSTEM SET undo_tablespace=UNDOTBS02;

    –改变表空间状态

    1.使表空间脱机
    ALTER TABLESPACE game OFFLINE;

    如果是意外删除了数据文件,则必须带有RECOVER选项
    ALTER TABLESPACE game OFFLINE FOR RECOVER;

    2.使表空间联机
    ALTER TABLESPACE game ONLINE;

    3.使数据文件脱机
    ALTER DATABASE DATAFILE 3 OFFLINE;

    4.使数据文件联机
    ALTER DATABASE DATAFILE 3 ONLINE;

    5.使表空间只读
    ALTER TABLESPACE game READ ONLY;

    6.使表空间可读写
    ALTER TABLESPACE game READ WRITE;

    –扩展表空间

    首先查看表空间的名字和所属文件
    select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name;

    1.增加数据文件
    ALTER TABLESPACE game ADD DATAFILE ‘/oracle/oradata/db/GAME02.dbf’ SIZE 1000M;

    2.手动增加数据文件尺寸
    ALTER DATABASE DATAFILE ‘/oracle/oradata/db/GAME.dbf’ RESIZE 4000M;

    3.设定数据文件自动扩展
    ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;

    设定后查看表空间信息
    SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, (B.BYTES100)/A.BYTES “% USED”,(C.BYTES100)/A.BYTES “% FREE”
    FROM SYS.SM T S A V A I L A , S Y S . S M TS_AVAIL A,SYS.SM TSAVAILA,SYS.SMTS_USED B,SYS.SM$TS_FREE C WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE

    2.创建用户

    create user test identified by test

    default tablespace SIRM2

    temporary tablespace TEMP
    profile DEFAULT;

    –创建用户并指定表空间
    create user username identified by password
    default tablespace user_data
    temporary tablespace user_temp;

    –删除用户命令
    drop user user_name cascade;

    3.授权

    grant dba to test;
    grant connect to test;
    grant resource to test;

    –给用户授予权限
    grant connect,resource to username;
    撤权:
    revoke 权限… from 用户名;

    1. SYS用户在CMD下以DBA身份登陆:
      在CMD中打sqlplus /nolog
      然后再 conn / as sysdba

    附加1:

    oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间。(https://www.cnblogs.com/fnng/archive/2012/08/12/2634485.html)

    表空间属性:

    一个数据库可以包含多个表空间,一个表空间只能属于一个数据库

    一个表空间包含多个数据文件,一个数据文件只能属于一个表空间

    表这空间可以划分成更细的逻辑存储单元

    Oracle数据库的存储结构:

    从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment )。 一个段(segment)由多个 区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。

    那么从物理的角度上看,一个表空间由多个数据文件组成,数据文件是实实在在存在的磁盘上的文件。这些文件是由oracle数据库操作系统的block 组成的。

    Segment(段) :段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

    Extent (区间):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.

    附加2:oracle 表空间创建 格式及属性说明:http://blog.sina.com.cn/s/blog_3cae66560102w0vk.html

    一、创建表空间完整的格式

    CREATE [UNDO|TEMPORARY] TABLESPACE tablespace_name

     DATAFILE 'path/filename' [SIZE INTEGER[K| M]]  [REUSE] 
    
     [AUTOEXTEND [OFF | ON ] ]
    
     [NEXT INTEGER[K | M]]
    
     [MAXSIZE [UNLIMITED | INTEGER[K | M]]]
    
     [MINIMUM EXTENT INTEGER[K | M]]
    
     [BLOCKSIZE integer [k]]
    
     [DEFAULT STORAGE storage_clause]
    
     [ONLINE | OFFLINE]
    
     [LOGGING | NOLOGGING]
    
     [FORCE LOGGING]
    
     [EXTENT MANAGEMENT [DICTIONARY | LOCAL]]
    
     [AUTOALLOCATE | UNIFORM [SIZE INTEGER[K | M]]]
    
     [SEGMENT SPACE MANAGEMENT [AUTO | MANUAL]]
    

    二、表空间格式说明

    1、UNDO

      说明系统将创建一个回滚表空间。
    
       在9i中数据库管理员可以不必管理回滚段,只有建立了undo表空间,系统就会自动管理回滚段的分配,回收的工作。当然,也可以创建一般的表空间,在上         面创建回滚段.不过对于用户来说,系统管理比自己管理要好很多.如果需要自己管理,请参见回滚段管理的命令详解.
    
       当没有为系统指定回滚表空间时,系统将使用system系统回滚段来进行事务管理。
    

    2、tablespace_name表空间名满足oracle的命名规范即可。

    3、DATAFILE ‘path/filename’ [SIZE INTEGER[K| M]] [REUSE]

      指定一个或多个数据文件路径和文件名,[SIZE INTEGER[K| M]]用来指定表空间在数据文件中所占的空间大小,K|M是说大小的单位是K还是M。
    
      [REUSE] 如果创建表空间指定的数据文件已经存在,则需要使用reuse注明,否则会报错。
    
      ERROR at line 1:
    

    ORA-01537: cannot add data file ‘E:\oracle\oradata\10.1.0\ZRPTEST\TB_TEST1.dbf’

    • file already part of database

    4、[AUTOEXTEND [OFF | ON ] ]

      禁止或允许自动扩展数据文件,默认情况下为OFF
    

    5、[NEXT INTEGER[K | M]]

      指定当需要更多盘区时分配给数据文件的磁盘空间,以K或M为单位。
    

    6、[MAXSIZE [UNLIMITED | INTEGER[K | M]]]

      指定允许分配给数据文件的最大磁盘空间,当为UNLIMITED时表示只有当磁盘空间满时,才不允许再扩展数据文件。
    

    7、[MINMUM EXTENT INTEGER[K | M]]

      指定盘区大小是指定大小的整数倍。即initial和next盘区大小应为minimum extent的整数倍,这个参数可以减小空间碎片,保证表空间的范围是这个值的整数倍。
    
      【注:minextents 用于指定在创建时分配给段的盘区总数。使用这个参数,即使可用空间是不连续的,在创建对象时也能分配很大的空间。默认                    值和最小值都是1。如果minextents>1,盘区大小以next和pctincrease为基础计算。】
    

    8、[BLOCKSIZE integer [k]]

        这个参数可以设定一个不标准的块的大小。如果要设置这个参数,必须设置db_block_size,至少一个db_nk_block_size,
    
        并且声明的integer的值必须等于db_nk_block_size.
    
       注意:在临时表空间不能设置这个参数。
    

    9、 [DEFAULT STORAGE storage_clause]

       表示为在该表空间创建的全部对象指定缺省的存储参数,没有指定时oracle将会为所有对象指定一些系统默认的存储参数。
    
       storage_clause的语法格式如下:
    
       STORAGE(
    
            INITIAL integer[K|M]       --为段分配第一个区的大小
    
            NEXT     integer[K|M]       --为第一个扩展分区的大小
    
            MINEXTENTS integer|UMLIMITED      --创建段时分配的最小总区间数
    
            MAXEXTENTS integer|UMLIMITED     --创建段时分配的最大总区间数
    
            PCTINCREASE integer                           --每次扩展增量的大小
    
            FREELISTS integer                                  --模式对象中每一个自由列表组中自由列表的数量,表、族或索引的每个空闲列表组中的列表数量。
    
            FREELISTS GROUPS integer                  --指定表、族或索引的每个空闲列表组数量。
    
         )
    

    10、[ONLINE | OFFLINE]

      ONLINE是指在创建表空间之后使该表空间立即对授权访问该表空间的用户可用。
    
      OFFLINE是指offline以后,未完成的事物可以提交或回滚,但不能发起新的事物,也不能进行查询。OFFLINE的四种模式
    
       (1)NORMAL:做检查点 
    
                 alter tablespace users  offline;           alter tablespace users online;
    
       (2)TEMPORARY:可以在数据文件损坏的情况下offline tablespace
    
                 alter tablespace users offline temporary;   alter tablespace users online;
    
       (3)IMMEDIATE:不做检查点,只有在归档模式下才可以offline tablespace,online时需要recover
    
                 alter tablespace users offline immediate;    recover tablespace users;       alter tablespace users online;
    
        (4)FOR RECOVER:在归档模式下才可以offonline,在基
    

    11、[LOGGING | NOLOGGING]

      指定日志属性,它表示将来的表、索引等是否需要进行日志处理。默认值为LOGGING
    

    12、[FORCE LOGGING]

       使用这个子句指出表空间进入强制日志模式。此时,系统将记录表空间上对象的所有改变,除了临时段的改变。这个参数高于对象的nologging选项。
    
       注意:设置这个参数指数据库不可以open并且进入读写模式。而且,在临时表空间和回滚表空间中不能使用这个选项。
    

    13、[PERMANENT | TEMPORARY]

       指出表空间的属性,是永久表空间还是临时表空间。永久表空间存放的是永久对象,临时表空间存放的是session生命期中存在的临时对象。
    
       这个参数生成的临时表空间创建后一直都是字典管理,不能使用extent management local选项。
    
       如果要创建本地管理表空间,必须使用create temporary tablespace
    
       注意,声明了这个参数后,不能声明block size
    

    14、[EXTENT MANAGEMENT [DICTIONARY | LOCAL]]

        [AUTOALLOCATE | UNIFORM [SIZE INTEGER[K | M]]]
    
        这是最重要的子句,说明了表空间如何管理范围。一旦你声明了这个子句,只能通过移植的方式改变这些参数。
    
        如果希望表空间本地管理的话,声明local选项。本地管理表空间是通过位图管理的。autoallocate说明表空间自动分配范围,用户不能指定范围的大小。
    
        只有9.0以上的版本具有这个功能。uniform说明表空间的范围的固定大小,缺省是1m。
    
         不能将本地管理的数据库的system表空间设置成字典管理。oracle公司推荐使用本地管理表空间。
    
         如果没有设置extent_management_clause,oracle会给他设置一个默认值。如果初始化参数compatible小于9.0.0,那么系统创建字典管理表空间。
    
          如果大于9.0.0,那么按照如下设置:如果没有指定default storage_clause,oracle创建一个自动分配的本地管理表空间。
    
         否则,如果指定了mininum extent,那么oracle判断mininum extent 、initial、next是否相等,以及pctincrease是否=0.如果满足以上的条件,oracle创建一个本地管理
    
          表空间,extent size是initial.如果不满足以上条件,那么oracle将创建一个自动分配的本地管理表空间。
    
          如果没有指定mininum extent。initial、那么oracle判断next是否相等,以及pctincrease是否=0。表示满足oracle创建一个本地管理表空间并指定uniform。
    
           否则oracle将创建一个自动分配的本地管理表空间。
    
          注意:本地管理表空间只能存储永久对象。如果你声明了local,将不能声明default storage_clause,mininum extent、temporary.
    

    15、[SEGMENT SPACE MANAGEMENT [AUTO | MANUAL]]

       指定 表空间段的管理方式,AUTO为系统自动管理,MANUAL为手工管理。默认为AUTO。
    

    附加3:Oracle中分区表中表空间属性:https://blog.51cto.com/hbxztc/1929585

    展开全文
  • Oracle 删除用户和表空间

    千次阅读 2021-05-08 04:17:11
    Oracle 创建表空间、临时表空间、创建用户并指定表空间、授权,删除用户及表空间 /* 说明:若已经存在相应的用户和表空间,则需要先删除相应的用户和表空间 然后再全部重新建立 */ --删除用户 drop user USERNAME ...

    版权声明:本文为博主原创文章,未经博主允许不得转载。

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下

    对于单个user和tablespace 来说, 可以使用如下命令来完成。

    步骤一:  删除user

    drop user ×× cascade

    说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。

    步骤二: 删除tablespace

    DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

    但是,因为是供开发环境来使用的db, 需要清理的user 和 table space 很多。

    思路:

    Export出DB中所有的user和tablespace, 筛选出系统的和有用的tablespace,把有用的信息load到一张表中去。

    然后写例程循环,把不在有用表的tablespace删掉

    1. select username,default_tablespace from dba_users;

    2.

    create table MTUSEFULSPACE

    (

    ID Number(4) NOT NULL PRIMARY KEY,

    USERNAME varchar2(30),

    TABLESPACENAME varchar2(60),

    OWNERNAME varchar2(30)

    );

    3.

    declare icount number(2);

    tempspace varchar2(60);

    begin

    for curTable in (select username as allusr,default_tablespace as alltblspace from dba_users)

    loop

    tempspace :=curTable.alltblspace;

    dbms_output.put_line(tempspace);

    select count(TABLESPACENAME) into icount from MTUSEFULSPACE where TABLESPACENAME = tempspace;

    if icount=0 then

    DROP TABLESPACE tempspace INCLUDING CONTENTS AND DATAFILES;

    end if;

    commit;

    end loop;

    end;

    执行后会报如下错误

    ORA-06550: 第 10 行, 第 5 列:

    PLS-00103: 出现符号 "DROP"在需要下列之一时:

    begin case declare exit

    for goto if loop mod null pragma raise return select update

    while with

    <<

    close current delete fetch lock insert open rollback

    savepoint set sql execute commit forall merge pipe

    06550. 00000 -  "line %s, column %s:\n%s"

    *Cause:    Usually a PL/SQL compilation error.

    *Action:

    好像是被锁了。。

    没办法,例程不能写,就只能组出语句执行了。

    把需要删除的user, tablespace 导出到Excel. 使用CONCATENATE 组出SQL.

    贴到SQLdevelop 批量执行。

    整个删除会比较耗时间, 100多个user.  用了12个小时左右。

    如要找datafile的具体位置,可以使用

    select t1.name,t2.name from v$tablespace t1, v$datafile t2 where t1.ts# = t2.ts#;

    SQL code

    --删除空的表空间,但是不包含物理文件

    drop tablespace tablespace_name;

    --删除非空表空间,但是不包含物理文件

    drop tablespace tablespace_name including contents;

    --删除空表空间,包含物理文件

    drop tablespace tablespace_name including datafiles;

    --删除非空表空间,包含物理文件

    drop tablespace tablespace_name including contents and datafiles;

    --如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS

    drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;

    oracle删除用户及其表空间

    oracle删除用户及其表空间 删除表空间:可以先将其offlinealter tablespace xx offline;将磁盘上的数据文件一同删除drop tablespace xxx inclu ...

    Oracle删除用户和表空间

    对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schem ...

    Oracle 删除用户和表空间------创建表空间和用户

    步骤一:  删除user drop user ×× cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的. 步骤二: 删 ...

    oracle 删除用户,表空间;循环删除表

    select * from dba_tablespaces 说明:查看所有表空间 ----------------------------------------------------------- ...

    oracle删除用户及表空间,导入用户和数据

    drop user xxx cascade; drop tablespace xxx including contents and datafiles; create tablespace xxx d ...

    Oracle创建,删除用户与表空间

    1.创建表空间与用户 a:创建数据表空间 create tablespace user_data logging datafile 'D:\oracle\product\10.2.0\oradata\ ...

    oracle创建&sol;删除 用户,表空间-九五小庞

    以下红色标示的都是可以修改的字段 可以按照如下顺序来创建表空间,创建用户,以及删除表空间,删除用户 查看oracle数据库已有的表空间路径 select name from v$datafile; 1 ...

    Oracle 创建表空间、临时表空间、创建用户并指定表空间、授权,删除用户及表空间

    /* 说明:若已经存在相应的用户和表空间,则需要先删除相应的用户和表空间 然后再全部重新建立 */ --删除用户 drop user USERNAME cascade; --删除表空间 drop ta ...

    随机推荐

    web storage和cookie的区别

    Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的.Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外co ...

    &amp&semi;11,散列表

    #1,是什么? 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度.这个 ...

    一致性Hash算法在Redis分布式中的使用

    由于redis是单点,但是项目中不可避免的会使用多台Redis缓存服务器,那么怎么把缓存的Key均匀的映射到多台Redis服务器上,且随着缓存服务器的增加或减少时做到最小化的减少缓存Key的命中率呢? ...

    uGUI练习&lpar;九&rpar; Toggle Button

    练习目标 练习单选框,多选框 Toggle Group:Toggle容器 Toggle:单一的选项 练习步骤 1.创建一个Panel,命名TogglePanel,添加Toggle Group组件,可以 ...

    Java基础之处理事件——选项按钮的鼠标监听器(Lottery 2 with mouse listener)

    控制台程序. 定义监听器类有许多方式.下面把监听器类定义为单独的类MouseHandler: // Mouse event handler for a selection button import ...

    HDU 4496 D-City&lpar;并查集,逆思维&rpar;

    题目 熟能生巧...常做这类题,就不会忘记他的思路了... //可以反过来用并查集,还是逐个加边,但是反过来输出...我是白痴.....又没想到 //G++能过,C++却wa,这个也好奇怪呀... # ...

    select count的优化

    select count的优化 2011-08-02 12:01:36 分类: Oracle 一般情况下,select count语句很难避免走全表扫描,对于上百万行的表这个语句使用起来就比较吃力了, ...

    有趣的Node爬虫,数据导出成Excel

    最近一直没更新了诶,因为学习Backbone好头痛,别问我为什么不继续AngularJs~因为2.0要出来了啊,妈蛋!好,言归正传,最近帮我的好基友扒数据,他说要一些股票债券的数据.我一听,那不就是要 ...

    用php理解指针--写给刚刚学习编程的人

    在刚刚学习编程时,可能for循环什么的还是可以理解,但是当学习到指针的时候,课上估计很多人就睡觉去了. 现在用两端php程序说明指针 先写一个简单的,大家都理解下 <?php class tex ...

    Linux 系统文件夹结构

    登录后,在当前的命令窗口中输入命令: ls / 你的终端上会出现例如以下的代码: ...

    展开全文
  • 解决oracle临时表空间的报错

    千次阅读 2021-05-02 00:49:42
    报错信息:[HY000](1652) [Oracle][ODBC][Ora]ORA-01652:无法通过128 (在表空间TEMP中)扩展temp段原因分析:oracle临时表空间不足,事务执行一般将会报ora-01652无法扩展临时段的错误。因为oracle总是尽量分配连续...
  • oracle查看表空间及增加表空间方法

    千次阅读 2022-02-15 13:21:58
    1. 查看所有表空间大小 select tablespace_name,(sum(bytes)/1024/1024) tablespace_size from dba_data_files group by tablespace_name; 2. 未使用的表空间大小 select tablespace_name,(sum(bytes)/1024/1024...
  • 教你查询Oracle中的表空间

    千次阅读 2021-05-03 03:25:32
    教你查询Oracle中的表空间提到表空间大家可能都不会陌生,它是数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。表空间在物理上体现为磁盘数据文件,每一个表空间由一个或多个数据...
  • -- 创建表空间--语法: create tablespace 表空间名 datafile '路径' size 100M [aotuextend to];create tablespace ytj_datadatafile 'D:/app/Administrator/oradata/ytj_data.DBF'size 1000Mautoextend on;--给...
  • Oracle查看表空间使用率及爆满解决方案,有时候数据库无法建立新连接可能由于系统表没有空间引起的
  • oracle操作临时表空间

    千次阅读 2021-05-02 04:43:13
    1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)selectt ablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;selectstatus,enabled, name, bytes/1024/1024 file_...
  • oracle删除表空间

    千次阅读 2021-06-02 16:17:11
    oracle删除表空间,一般是将表空间及其对应的数据文件一并删除,有时为了避免误删数据,可以先将表空间删除,数据文件保留一段时间,确认无误在进行删除。 1、删除非空表空间,包含物理文件 drop tablespace ...
  • 文章目录Oracle数据库查询表空间使用情况、扩容表空间命令脚本(dba、ETL必备)前言一、查看数据库每个表空间的大小二、查看数据库剩余表空间大小三、检查系统中所有表空间总体空间四、查询oracle表空间使用情况(重点...
  • PG表空间

    千次阅读 2021-12-26 18:58:41
    Tablespace:表空间,是一个目录,可以存在多个, 里面存储的是它所包含的数据库的各种物理文件。每 个表空间可以对应多个Database。
  • 一、问题描述: 输入条件,点击查询后,页面一直在加载中,后台未出现error日志,经过多次操作发现有错误日志:ora-01652无法通过128(在temp表空间中)扩展temp段 二、原因分析: 1.分析此统计sql,百度ora-01652的...
  • 引用 :http://blog.csdn.net/cosio/article/details/3978747 , https://zhidao.baidu.com/question/628524115699308364.htmlblock 块extent 区segment 段--增加USERS表空间500M空间alter tablespace USERS add data...
  • Oracle 表空间详解

    万次阅读 2018-12-20 14:46:45
    表空间概述 表空间的分类 默认表空间 查看默认的永久表空间 查看默认的TEMP表空间 查看默认的表空间类型 逻辑结构到物理结构的映射 对表空间的操作 查看表空间使用情况 查看数据库拥有的表空间 查看表空间中的数据...
  • oracle增加表空间大小

    千次阅读 2022-02-11 09:56:02
    oracle增加表空间大小 第一步:查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name 第二步:...
  • 1、如果临时表空间不是默认临时表空间以及默认临时表空间组成员,直接执行如下语句 drop tablespace temp1 including contents and datafiles cascade constraint; -- including contents 删除包含内容 and data...
  • 1、查询表空间占用情况: SELECT a.tablespace_name as '表空间名' ,total as '表空间大小' ,free '表空间剩余大小', ,(total - free) '表空间使用大小' ,total / (1024 * 1024 * 1024) '表空间大小(G)' ,free ...
  • 一、创建表空间 db2 “CREATE REGULAR TABLESPACE DMS_DBDATA IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32K MANAGED BY DATABASE USING (file ‘/data/DBDATA/rlvidx’ 500M) EXTENTSIZE 32 ...
  • Oracle 创建表空间

    千次阅读 2022-02-11 10:30:47
    --删除表空间 drop tablespace nacos including contents and datafiles ----创建表空间并定义路径 create tablespace nacos --表空间名 datafile 'D:/app/Administrator/oradata/nacos/nacos.dbf' size 500m --...
  • MySQL表空间简介

    万次阅读 2018-11-13 11:02:47
    本文主要介绍一下MySQL中的几种表空间概念及相关操作。 基础材料: CentOS7.5 MySQL 5.7.24 ############################################### system tablespace(系统表空间) 相关定义 : 一般用来存放mysql...
  • MySQL(九):InnoDB 表空间(Tables)

    千次阅读 2020-03-21 21:51:30
    本节着重分析一下表空间,通过本节我们将清楚以下几个问题: 1、什么是表空间(Tablespace)? 2、InnoDB 存储引擎有哪些表空间(Tablespace)? 3、InnoDB 存储引擎中的表空间(Tablespace)有什么用? 4、表空间...
  • oracle查看所有表空间表空间大小

    千次阅读 2021-11-03 16:55:42
    SQL> select tablespace_name ,sum(bytes) / 1024 / 1024 / 1024 as GB from dba_data_files group by tablespace_name; 查看GB的 select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files ...
  • oracle查看索引、表空间

    千次阅读 2021-05-01 10:50:12
    1.查看表空间使用情况:select sum(bytes)/(1024*1024) as free_space,tablespace_name from dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES...
  • oracle解决表空间不足问题

    千次阅读 2020-07-04 16:37:59
    这种情况是表空间不够需要查看表空间的容量,和表空间所对应的数据文件 连上数据查看表空间情况: SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_...
  • 创建表空间

    千次阅读 2018-04-15 11:15:23
     创建表空间要考虑的因素创建数据库完毕~ 创建所需的 非system表空间 ~创建表空间 ~ 空间数量 、对应数据文件大小 ~ 表空间存储管理方式、默认存储参数、块大小oracle本身 ~ 不限制表空间数目~ 限制于数据库...
  • 1.查询用户所属的表空间 -- 1.查询所有用户所属的表空间 SELECT * FROM dba_tablespaces; -- 2.查询用户和默认表空间的关系。 SELECT username,default_tablespace FROM dba_users; -- 3.查询当前用户的表 SELECT ...
  • 1.查看所有表空间 select * from Dba_Tablespaces; 呈现的信息表空间名称以及表空间的大小等。 2.查看表空间下所有的表 select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME=‘表空间名’; 3....
  • oracle 表空间各种查询

    千次阅读 2021-04-26 11:17:28
    –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....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,010,913
精华内容 804,365
关键字:

表空间

友情链接: PV_buck_boost_mppt.zip