zoukankan      html  css  js  c++  java
  • 数据库的导入 导出

    Oracle  学习笔记 

    一、创建 oracle 数据库 

    利用 已经创建完了数据库 car1 ,

    二、利用 语句创建一个新的用户,赋予用户新的权限。

    (创建一个用户,对应的给这个用户创建一个方案,里面存储着这个用户的东西)

    创建用户  create   user  ,一般是具有dba权限的用户才可以进行创建

    Create user  admin  identified by  wqhadmin;

    (密码要以字母开头,用数字开头是不允许的)

    但是创建完后,用户没有任何权限

    Grant  connect  to  admin;

    二、对数据库数据进行导入、导出

    导出分为三种:导出数,导出方案(把一个用户的所有东西都导出),导出数据库

    使用exp命令来完成。该命令的常用的选项有:

    导出、导出的时候,使用的不是在SQL 中直接进行导入导出,而是在CMD打开的DOS窗口下进行

    而是要在   oracle目录的  bin  目录下 (使用的是bin文件夹里的exp.exe)

    (具体过程:

    Cmd,打开命令行,

    d: 切换到d盘下,

    cd oracle,切换到oracle目录下,

    d:oracle>cd  product

    一直到

    D:oracleproduct10.1.0Db_1BIN>emp  ……… 

    使用的是该目录下系统自带的导出工具。

    导出表:

    (1)导出自己的表

    Exp  userid=scott/tiger@myoral  tables=(emp)  file=d:e1.dmp

    (不一定非用dmp的后缀名,可以用别的后缀名,要导出多个表,则在tables=(emp,。。。,。。。))

    (2)导出其他方案的表

    如果用户要导出其他方案的表,则需要dba的权限或是exp_full_database的权限,比如system就可以导出scott的表:exp userid=system/manager@myoral  tables=(scott.emp)  file=d:e2.dmp

    (3)导出表的结构

    Exp userid=scott/tiger@accp tables=(emp)  file=d:e3.dmp rows=n

    (4)使用知道导出方式

    Exp userid=scott/tiger@accp  tables=(emp)  file=d:e3.dmp  direct=y

    这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法。这时需要数据库的字符集要与客户端字符集完全一致,否则会报错。

    导出方案:

    导出方案使用export工具导出一个方案或是多个方案中的所有对象(表,索引,约束。。。)和数据,并存放到文件中。

    (1)导出自己的方案

    Exp  scott/tiger@myoral  owner=scott  file=d:scott.emp

    (2)导出其他方案

    如果用户要导出其他方案,则需要dba的权限或是exp_full_database的权限,例如用system用户就可以导出任何方案

    Exp  system/manager@myorcl  owner=(system,scott)  file=d:system.dmp

    这个是同时导出了两个方案,system,scott的

    导出数据库:

    导出数据库是之利用export导出所有数据库中的对象及数据。

    要求该用户具有dba的权限或是exp_full_database权限,

    Exp  userid=system/manager@myor  full=y  inctype=complete file=d:e6.dmp

    (如果不写,盘符,就会导出到bin目录下,)

    Inctype:增量备份,第二次备份的时候要快一些,检查有没有新的数据,速度要快一些,但是具体怎么样,不知道

    导入:

    导入就是使用import将文件中的对象和数据导入到数据库中,但是导入要使用的文件必须是export所导出的文件,与导出相似,导入也分为导入表,导入方案,导入数据库三种方式:

    Imp常用的选项有:

    Userid:用于指定知道导入操作的用户名,口令,链接字符串,

    Tables:用于指定执行导入操作的表

    Fromuser:用于指定源用户

    Touser:用于制定目标用户

    File:用于指定导入文件名

    Full=y:用于指定执行导入整个文件

    Inctype:用于指定执行导入操作的增量类型

    Rows:指定是否要导入表行(数据)

    Ignore:如果表存在,则只导入数据

    导入表:

    (1)导入自己的表

    Imp userid=scott/tyger@myor   tables=(emp)  file=d:xx.dmp

    导出的一是导出全部,二是导出表结构,导入的时候一定要注意

    Drop table emp

    这张表是scott 自己的表,而且这张表和别的表有主外键的关系,所以如果这个语句换成了

    Imp  userid=system/manager@myor  talbes=(emp)  file=d:e6.dmp

    是不能成功的,但是如果emp单单就是一张数据表格,不存在主外键的关系,是可以成功的,因为它就是一张数据表,,

    换了另外一张dept,就把它导入到了system,

    但是在登陆查询的时候,如果是登陆system as sysdba,这时候其实进入的是sys的账户,是查不到这张表的,只有登陆  system  ,(as  normal),才能查到这张表。

    (2)导入表到其他用户

    要求该用户具有dba的权限,或是imp_full_database

    Imp userid=system/manager@myor tables=(emp) file=d:xx.dmp  touser=scott

    (3)导入表结构

    之导入表的结构而不导入数据

    Imp  userid=scott/tiger@myor  tables=(emp)  file=d:xxx.dmp  rows=n

    (4)导入数据

    如果对象(如此表)已经存在可以只导入表的数据

    Imp  userid=scott/tiger@myor  tables=(emp)  file=d:xxx.dmp  ignore=y

    导入方案:

    导入方案是指使用import工具将文件中的对象和数据导入到一个或是多个方案中。如果要导入其他方案,要求该用户具有dba的权限,或是  imp_full_database

    (1)导入自身的方案

    Imp  userid=scott/tiger@myor   file=d:xxx.dmp

    (2)导入其他方案,

    要求该用户具有dba的权限

    Imp  userid=system/manger@myor  file=d:xx.dmp  fromuser=system  touser=scott

    把system的方案 导入到 scott中去

    导入数据库

    在默认情况下,当导入数据库,会导入所有对象结构和数据,案例如下

    Imp   userid=system/manager   full=y  file=d:xxx.dmp

    数据库实例@myor 都不要写了,系统会自动创建一个实例

     

  • 相关阅读:
    Java JMX 监管
    Spring Boot REST(一)核心接口
    JSR 规范目录
    【平衡树】宠物收养所 HNOI 2004
    【树型DP】叶子的颜色 OUROJ 1698
    【匈牙利匹配】无题II HDU2236
    【贪心】Communication System POJ 1018
    【贪心】Moving Tables POJ 1083
    Calling Extraterrestrial Intelligence Again POJ 1411
    【贪心】Allowance POJ 3040
  • 原文地址:https://www.cnblogs.com/gongyu/p/4096413.html
Copyright © 2011-2022 走看看