zoukankan      html  css  js  c++  java
  • oracle 创建表空间及oracle 11g表空间之最大最小

    /*分为四步 */
    /*第1步:创建临时表空间 */
    create temporary tablespace emaoyi_temp 
    tempfile 'D:appAdministratorproduct11.2.0dbhome_1databaseemaoyi_temp.dbf' 
    size 10m 
    autoextend on 
    next 10m maxsize 20480m 
    extent management local; 

    /*第2步:创建数据表空间 */
    create tablespace emaoyi 
    logging 
    datafile 'D:appAdministratorproduct11.2.0dbhome_1databaseemaoyi.dbf' 
    size 10m 
    autoextend on 
    next 10m maxsize 20480m 
    extent management local; 

    /*第3步:创建用户并指定表空间 */
    create user emaoyi identified by emaoyi 
    default tablespace emaoyi
    temporary tablespace emaoyi_temp; 

    /*第4步:给用户授予权限 */
    grant connect,resource,dba to emaoyi;


    --查询当前表空间
    select tablespace_name,file_id,file_name,bytes
    from dba_data_files
    order by file_id

    where tablespace_name='emaoyi'

    --删除表空间
    drop tablespace em;
    --删除用户
    drop user e [CASCADE];

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    oracle支持的文件大小和他的db_block_size和db_block的数量决定的。在oracle 9i以前,oracle 的db_block的数量最大只能为2的22次方个,而我们通过oracle默认的模板建的数据库实例的db_block_size是8K。所以oracle 9i以前支持的单个文件的默认大小是32GB。虽然在oracle 11g没有这个限制,但是它默认的能力也是这么多。所以我在前面讲如果你遇到这个问题,说明你不是一般人,你在创建一个单个文件超过32GB的表空间。


    那么怎么解决这个问题呢,我这里提供三个参考方案,你使用选择其中对你合适的,呵呵:


    一)不要创建单个文件超过32GB的表空间


    如果你创建的表空间超过32GB,请把这个表空间存储为多个数据文件,每个文件不大于32GB。这样,就可以成功的创建表空间。

    二)扩大db_block_size


    根据oracle的算法,我们很容易想到这个解决方法。数目衡定,但是db_block_size可以更改(db_block_size的最大大小为32KB)。如果把db_block_size扩大到32KB(32位系统好像是16KB,我在Red Hat 企业版的操作系统创建32KB的block_size失败。),那么我们的系统就可以支持单个数据文件最大128GB。


    这个方案听起来好像很迷人,但是实际上并不是那么回事。因为要修改db_block_size并不是很容易的事。因为这个db_block_size在创建实例的时候就要指定。而且不能通过简单修改参数来指定db_block_size。创建更大的db_block_size的数据库实例我会在以后讲。


    三)创建bigfile表空间


    在oracle11g中引进了bigfile表空间,他充分利用了64位CPU的寻址能力,使oracle可以管理的数据文件总量达到8EB。单个数据文件的大小达到128TB,即使默认8K的db_block_size也达到了32TB。

    创建bigfile的表空间使用的sql语句也很简单。


    create bigfile tablespace...


    后面的语句和普通的语句完全一样。


    需要注意的是使用bigfile表空间,他只能支持一个数据文件。也就是说这个文件的最大大小就是表空间最大大小,你不可能通过增加数据文件来扩大该表空间的大小。所以oracle说,如果你的这个文件没有剩余空间的话,你还是不要使用bigfile表空间了,这个表空间你没有扩展的余地了,呵呵。


    oracle也同样告诉你了,建议你使用lvm或者别的软件管理磁盘,以使你的空间可以动态扩大。

  • 相关阅读:
    【洛谷P4318】完全平方数
    【洛谷P2257】YY的GCD
    【洛谷P1403】约数研究
    【洛谷P3455】ZAP-Queries
    【CF600E】Lomsat gelral
    【BZOJ3289】Mato的文件管理 莫队+树状数组
    【洛谷P2585】三色二叉树
    【CF242E】Xor Segment
    【洛谷P4144】大河的序列
    hdu 1547(BFS)
  • 原文地址:https://www.cnblogs.com/nsw2018/p/9838242.html
Copyright © 2011-2022 走看看