zoukankan      html  css  js  c++  java
  • 整理:Oracle表空间、用户、授权和数据导入导出等操作

    </pre>一、查询<p></p><p>--1.查看表空间和表空间剩余大小select tablespace_name ,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;     --表空间剩余大小select tablespace_name ,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;</p><p>--2.查看表空间是否自动增长SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM DBA_DATA_FILES order by file_id desc;select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files  order by file_id desc;</p><p>--3.更新表空间自动增长ALTER DATABASE  DATAFILE [数据文件] AUTOEXTEND   ON NEXT 200M MAXSIZE UNLIMITED   --UNLIMITED表示无限大小,可以手动设置最大值,如:1000M</p><p>  例子:ALTER DATABASE  DATAFILE '<span style="color:rgb(0,0,255); font-family:Consolas,'Courier New',Courier,mono,serif; line-height:18px">F:	ablespacedemo</span>' AUTOEXTEND   ON NEXT 200M MAXSIZE 2000M</p><p>二、创建表空间</p><p>1、创建表空间</p><p></p><pre name="code" class="sql">create tablespace ncz
    datafile 'd:/data/oracledata/tablespace/ncz' size 500m
    uniform segment space management auto;

    说明:磁盘扩展管理方法:
    ◆SEGMENT SPACE MANAGEMENT: 使用该选项时区大小由系统自动确定。由于 Oracle 可确定各区的最佳大小,所以区大小是可变的。
    ◆UNIFORM SEGMENT SPACE MANAGEMENT:指定区大小,也可使用默认值 (1 MB)。
    第六: 段空间的管理方式:
    ◆AUTO: 只能使用在本地管理的表空间中。 使用LOCAL管理Oracle表空间时,数据块中的空闲空间增加或减少后,其新状态都会在位图中反映出来。位图使 Oracle 管理空闲空间的行为更加自动化,并为管理空闲空间提供了更好的性,但对含有LOB字段的表不能自动管理。

    说明:AUTO只是段的扩展管理而不是数据文件的自动扩展。验证,可以根据一、查询中的查询表空间是否自动增长,看出此表空间为NO;

    2、设置自动增长

     alter database datafile 'd:/data/oracledata/tablespace/ncz' autoextend
     on next 50m maxsize 2000m;

    设置后,可以查询表空间自动增长方式,已变为YES;

    3、删除表空间

    drop tablespace ncz including contents and datafiles

    三、创建用户、授权

    建立表空间和用户的步骤:
    用户
    建立:create user 用户名 identified by "密码"; 例子:create user ncz4 identified by ncz4;
    授权://给用户授予权限
    grant connect,resource to ncz4; 

    如果用到DBA权限,例如导入其他DBA用户导出的.dmp数据文件,你在导入此数据时,就需要DBA权限(自己测试用,下面授权DBA给用户)

    grant DBA to ncz4;

    四、数据导入

    数据的导入
    1 将D:daochu.dmp 中的数据导入 TEST数据库中。
       imp system/manager@TEST file=d:daochu.dmp
       imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
       上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
       在后面加上 ignore=y 就可以了。
    2 将d:daochu.dmp中的表table1 导入
    imp system/manager@TEST file=d:daochu.dmp tables=(table1)
    例子:(以下是别人备份的.dmp数据文件,对方用户名NCZ,且为DBA),在将本地NCZ4用户授权DBA后,直接在cmd下执行下面语句(如果你刚登录了管理员用户需先退出连接Oracle,可按Ctrl+C退出,在cmd当前执行导入语句)。

    例子:

    imp userid='ncz4/ncz4' file='d:/datancz/ncz2015-5-18.dmp' full=y

    执行后,开始导入,如下面例子:

    C:UsersAdministrator>imp userid='ncz4/ncz4' file='d:/datancz/ncz2015-5-18.dmp' full=y
    
    Import: Release 10.2.0.1.0 - Production on 星期二 5月 19 01:16:18 2015
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    
    经由常规路径由 EXPORT:V10.02.01 创建的导出文件
    
    警告: 这些对象由 NCZ 导出, 而不是当前用户
    
    已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
    . 正在将 NCZ 的对象导入到 NCZ4
    . 正在将 NCZ 的对象导入到 NCZ4
    . . 正在导入表                          "AREA"导入了       53920 行
    . . 正在导入表                          "DATA"导入了     5771954 行
    . . 正在导入表                        "DCESYS"导入了         181 行
    . . 正在导入表                          "EXAM"导入了      240468 行
    . . 正在导入表                        "FAMILY"导入了       62643 行
    . . 正在导入表                         "GEXXB"导入了        9841 行
    . . 正在导入表                           "GRB"导入了         561 行
    . . 正在导入表                        "JKDADR"导入了        1445 行
    . . 正在导入表                            "JT"导入了         365 行
    . . 正在导入表                           "JTB"导入了         720 行
    . . 正在导入表                        "MEMBER"导入了       87406 行
    . . 正在导入表                           "ORG"导入了          74 行
    . . 正在导入表                         "USERS"导入了         131 行
    成功终止导入, 没有出现警告。
    
    C:UsersAdministrator>

    注意:
    操作者要有足够的权限,权限不够它会提示,例如导入导出权限。

    五、数据导出

    数据导出:
    1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
       exp system/manager@TEST file=d:daochu.dmp full=y
    2 将数据库中system用户与sys用户的表导出
       exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
    3 将数据库中的表inner_notify、notify_staff_relat导出
        exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
    4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
       exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"

    上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
    也可以在上面命令后面 加上 compress=y 来实现。

    六、其他导出、导入方式(转)

    --导入导出命令   
    ip导出方式: exp demo/demo@127.0.0.1:1521/orcl file=f:/f.dmp full=y
    exp demo/demo@orcl file=f:/f.dmp full=y
    imp demo/demo@orcl file=f:/f.dmp full=y ignore=y


    总结,以前操作数据导入和导出都会遇到创建用户、空间等,从网上搜索的方法,也能完成操作,主要用途还是操作数据;

    这次当是一个巩固,其实这部分操作,也很多介绍,也有很多细节的地方,暂不做过多描述。整理的比较乱,等有时间可对以上介绍规范一下。

    遇到新的问题时,可再做总结。

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

  • 相关阅读:
    无限维
    黎曼流形
    why we need virtual key word
    TOJ 4119 Split Equally
    TOJ 4003 Next Permutation
    TOJ 4002 Palindrome Generator
    TOJ 2749 Absent Substrings
    TOJ 2641 Gene
    TOJ 2861 Octal Fractions
    TOJ 4394 Rebuild Road
  • 原文地址:https://www.cnblogs.com/zzfon/p/4868368.html
Copyright © 2011-2022 走看看