Oracle创建删除导入导出命令行总结


    注明:
    在 缔造数据库时输入的密码,是 批改系统默许的密码,以system和sysman等系统默许身份登录时要输入的密码便是 批改后的密码( 缔造数据库时输入的密码)
    假如要 缔造新的消费者就必须以system或者sysman(这二者的权限最大)的身份登录后才可 缔造
    缔造消费者 格局:create user 消费者名 identified by 密码(例如:create user cht identified by cht;)
    缔造 实现后,必须 调配权限,不然连不上数据库和sqlplus 。
    因此要做:grant connect,resource,dba to cht;这样数据库就 可以通过cht/cht连上了 。那些select,update,delete,insert的权限就 毋庸 调配了,由于每个消费者默许都有这些 根本权限 。
    命令行 模式衔接数据库的 步骤:
    开始==》运行==》cmd
    模式一:
    输入sqlplus,回车
    输入消费者名: system,回车
    输入密码:       orcl,回车
    模式二:
    输入sqlplus system/orcl@orcl,回车(system是消费者名,orcl是密码,@后面的orcl是库的名字)
    (数据库安装 实现后,有两个系统级的消费者 :
    1) system 默许密码为 :manager
    2) sys 默许密码为 :change_on_install)
    缔造消费者前必须要先建好暂时表空间和数据表空间两个表空间,不然用系统默许的表空间不好 。
    // 缔造暂时表空间
    create temporary tablespace zfmi_temp tempfile 'D:oracleoradatazfmizfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
    注明:
    1、zfmi_temp 表空间的名字
    2、D:oracleoradatazfmi 存放数据库文件的地方,普通是安装数据库后有操纵文件,数据文件和日志文件的文件夹,再外加要 缔造表空间的名字+dbf(数据文件)
    3、100M 表空间的初始大小
    4、32M 表空间自动增进的大小
    5、2048M 表空间最大的大小
    // 缔造数据表空间
    create tablespace zfmi logging datafile 'D:oracleoradatazfmizfmi.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
    // 缔造消费者并指定表空间
    create user zfmi identified by zfmi default tablespace zfmi temporary tablespace zfmi_temp;
    //给消费者授予权限
    grant connect,resource dba to zfmi; (dba:指定全部权限)
    到这一步新建一个消费者的工作就 实现了 。
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //删除消费者以及消费者全部的对象
    drop user zfmi cascade;
    //cascade参数是级联删除该消费者全部对象, 时常遇到如消费者有对象而未加此参数则消费者删不了的问题,所以习惯性的加此参数
    //删除表空间
    前提:删除表空间之前要确认该表空间没有被 其余消费者 使用之后再做删除
    drop tablespace zfmi including contents and datafiles cascade onstraints;
    //including contents 删除表空间中的内容,假如删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
    //including datafiles 删除表空间中的数据文件
    //cascade constraints 同时删除tablespace中表的外键参照
    假如删除表空间之前删除了表空间文件,解决 步骤:
    假如在 革除表空间之前,先删除了表空间对应的数据文件,会造成数据库 无奈 畸形启动和关闭 。
    可 使用如下 步骤 复原(此 步骤已经在oracle9i中验证通过):
    下面的过程中,filename是已经被删除的数据文件,假如有多个,则需求 频繁执行;tablespace_name是相应的表空间的名称 。
    $ sqlplus /nolog
    SQL> conn / as sysdba;
    假如数据库已经启动,则需求先执行下面这行:
    SQL> shutdown abort
    SQL> startup mount
    SQL> alter database datafile 'filename' offline drop;
    SQL> alter database open;
    SQL> drop tablespace tablespace_name including contents;
    导入导出命令:

    Oracle数据导入导出imp/exp就相当于oracle数据还原与备份 。exp命令 可以把数据从远程数据库服务器导出到当地的dmp文件, imp命令 可以把dmp文件从当地导入到远处的数据库服务器中 。 利用这个 性能 可以构建两个 雷同的数据库,一个用来测试,一个用来正式 使用 。
    下面介绍的是导入导出的实例 。( 留神:不用衔接到SQL/plus,直接在DOS下就 可以导出 。)
    数据导出:
    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 来实现 。
    数据的导入
    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)
    根本上上面的导入导出够用了 。不少状况要先是将表彻底删除, 而后导入 。
    留神:
    操作者要有足够的权限,权限不够它会 揭示 。
    数据库时 可以连上的 。 可以用tnsping TEST 来 获得数据库TEST 是不是连上 。
    附录一:
    给消费者添加导入数据权限的操作
    第一,启动sql*puls
    第二,以system/manager登陆
    第三,create user 消费者名 IDENTIFIED BY 密码 (假如已经 缔造过消费者,这步 可以省略)
    第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
    DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
    DBA,CONNECT,RESOURCE,CREATE SESSION TO 消费者名字
    第五, 运行-cmd-进入dmp文件所在的目录,
    imp userid=system/manager full=y file=*.dmp
    或者 imp userid=system/manager full=y file=filename.dmp
    执行示例:
    F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp
    屏幕显示
    Import: Release 8.1.7.0.0 - Production on 礼拜四 2月 16 16:50:05 2006
    (c) Copyright 2000 Oracle Corporation. All rights reserved.
    衔接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.7.0.0 - Production
    经由 通例路径导出由EXPORT:V08.01.07 缔造的文件
    已经 实现ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导入
    导出服务器 使用UTF8 NCHAR 字符集 (可能的ncharset转换)
    . 正在将AICHANNEL的对象导入到 AICHANNEL
    . . 正在导入表                  "INNER_NOTIFY"          4行被导入
    预备启用 束缚条件…
    顺利终止导入,但浮现 忠告 。
    附录二:
    Oracle 不同意直接转变表的 占有者, 利用Export/Import 可以达到这一 目标 。
    先 构建import9.par,
    而后, 使用时命令如下:imp parfile=/filepath/import9.par
    例 import9.par 内容如下:
    FROMUSER=TGPMS
    TOUSER=TGPMS2     (注:把表的 占有者由FROMUSER改为TOUSER,FROMUSER和TOUSER的消费者 可以不同)
    ROWS=Y
    INDEXES=Y
    GRANTS=Y
    CONSTRAINTS=Y
    BUFFER=409600
    file==/backup/ctgpc_20030623.dmp
    log==/backup/import_20030623.log