zoukankan      html  css  js  c++  java
  • Oracle 数据库简单操作

    现在大型企业一般都用Oracle数据库,Oracle数据库在一般采用expdp,impdp 导出导入数据,但是在操作中经常会遇到一些问题。下面来浅析这些问题。

    1. 导出数据

    一般导出数据的时候需要建立一个目录地址

    select * from dba_directories; --查询所有目录地址
    create or replace directory winqt_dump as '/home/front/dmpfile'; --创建目录地址
    grant read,write on directory winqt_dump to qtdb; --给目录地址赋读写权限

    drop directory dumpwinqt; --删除目录地址

    select username,default_tablespace from dba_users; -- 查询用户下面的表空间
    select * from user_indexes; --查询用户下所有索引

    select table_name from user_tables where NUM_ROWS > 0; --查询有数据的表

    注意在 数据库赋值权限的时候需要用oracle用户登录。

    expdp qtdb/qtdb dumpfile=20150907test.dmp directory=dumpwinqt schemas=qtdb logfile=export.log; --导出数据库

    expdp winqtdb/winqtdb directory=dumpwinqt compression=ALL dumpfile=20160321qtdb.dmp logfile=export.log reuse_dumpfiles=y;

    impdp hsqtdb/hsqtdb  dumpfile=20160321qtdb.dmp DIRECTORY=dumpwinqt remap_schema=winqtdb:hsqtdb TABLE_EXISTS_ACTION=REPLACE;

    select 'alter system kill session '''||sid||','||serial#||''';' from v$session where username = 'db'; -- 查询所有的数据库连接
    如果有连接 先查询,后再oracle 中查询 复制,在环境sqlplus中删除。
    删除数据库必须用oracle权限, 先根据root —》 oracle .
    sqlplus / as sysdba
    drop user db cascade;
    create user db identified by c3front default tablespace USERS temporary tablespace TEMP ;
    grant connect , resource , dba to db ;

    touch export.log ; --导出日志路径

    chomd 777 export.log; --给日志赋权限

    注意给目录dmpfile赋权限;

    chmod 777 dmpfile;

    如下图所有

    问题1:

    上图这个问题是用于环境下的空间不足引起的。

    2. 导入数据

    impdp hsqtdb/hsqtdb dumpfile=20150217qtdb.dmp directory=dumpwinqt remap_schema=hnqtdb:hsqtdb nologfile=true; --导入数据

    导出用expdp 对应的导入就用impdp 否则会报如下错误:

    如果用空表存在 最好用expdp 导出 因为oracle11g中有个新特性,当表无数据时,不分配segment,以节省空间,所以exp导不出空表。解决的办法是用expdp

    3. 创建数据库实例

    sqlplus / as sysdba
    drop user qtdb cascade;
    create user qtdb identified by qtdb default tablespace USERS temporary tablespace TEMP ;
    grant connect , resource , dba to qtdb;

     总结

    在操作数据库的时候,经常会遇到一些疑难问题,后续如果遇到新问题,再讨论。

  • 相关阅读:
    仿12306客户端
    object-c开发中混合使用或不使用ARC
    Objective-c 的 @property 详解
    iPhone的Push(推送通知)功能原理浅析
    Objective-C内存管理教程和原理剖析3
    IDEA 创建JAVA Maven Web 工程
    Linux CenOS 7 安装Redis
    Linux CenOS 7 安装Tomcat
    Linux CentOS 7 安装wordpress
    Linux CenOS 7 安装JDK
  • 原文地址:https://www.cnblogs.com/baoyi/p/Oracle.html
Copyright © 2011-2022 走看看