精华内容
下载资源
问答
  • oracle sqlplus命令行导出sql结果到文件

    千次阅读 2020-03-28 07:46:47
    导出sql结果 使用spool 即可。 spool ttt.txt; # select 1 from dual; # 查询语句 spool off; # 关闭缓冲,并导出内容到文件 小提示: spool ttt.txt; 文件不存在会新建,存在的话,直接清空。 执行sql并不会输出...

    导出sql结果

    使用spool 即可。

    spool ttt.txt;   # 
    select 1 from dual;  # 查询语句
    spool off;  # 关闭缓冲,并导出内容到文件
    

    小提示:
    spool ttt.txt; 文件不存在会新建,存在的话,直接清空。
    执行sql并不会输出内容到文件,spool off之后才会。 所以一定不要忘了spool off。

    生成的文件在哪里

    如果使用 spool /root/ttt.txt 一般会报错,因为没有权限。
    懒一点,直接 spool ttt.txt; 默认会在oracle的用户目录下生成,例如 /home/oralce;

    如何导出csv

    也是用spool命令,就是sql里面记得拼接逗号。 跟文件格式无关,没有必要命名为*.csv。

    select id || ',' || inv_num from t_scm_vat_main where rownum < 3 ;
    

    可以不用后缀么

    例如 spool ccc ;
    可以,但是不推荐,因为会默认生成ccc.lst文件。相当于还是加上了后缀,如果直接去找ccc文件,反而找不到。 不如直接指定个后缀名。

    其他

    sqlplus如何执行上条语句

    / 左斜杠即可

    展开全文
  • 通过命令行导出多张表: 一台服务器的数据库信息: IP:192.168.1.85 用户名:tom 密码:123 端口号:1521 实例名:orcl file表示导出的文件路径: C:\tab.dmp 根目录下必须加上”\”,否则提示能成功导出...

    前言:

    在本地电脑,通过命名行方式导出一台服务器上的表,再导入到另一台服务器。不管有没有安装PL/SQL,都可以快速导入导出表数据。

    一.通过命令行导出多张表:

    一台服务器的数据库信息:

    • IP:192.168.1.85
    • 用户名:tom
    • 密码:123
    • 端口号:1521
    • 实例名:orcl

    file表示导出的文件路径: C:\tab.dmp
    根目录下必须加上”\”,否则提示能成功导出,但是你在该路径下,看不到导出文件。

    导出命令:

    exp tom/123@192.168.1.85:1521/orcl file=C:\tab.dmp  tables=(table1,table2,table3)

    注意事项:
    1. 命令结尾千万不要写”;”,否则只能导出第一张表
    2. 多张表之间用英文逗号”,”隔开。
    3. 当前的用户,具有导出导出权限。

    二.通过命令行导入另一台远程服务器数据库

    另一台服务器的数据库信息:

    • IP:192.168.1.100
    • 用户名:jack
    • 密码:456
    • 端口号:1521
    • 实例名:testorcl

    导入命令:

    imp jack/456@192.168.1.100:1521/testorcl full=y file=C:tab.dmp

    注意:
    1. 导入的用户需要有导入导出权限。可以通过DBA授权给这个用户。如:以sys登陆Oracle,GRANT all privileges to jack
    2. 由于是导入导出是由两个不同用户操作的完成的,所以要加上full=y 。

    展开全文
  • 1. 目的:"命令行结果集导出至文件 或 打印" 2. 注意:spool 是 sql*plus 的命令 -- 不是标准 sql 语法 2 语法 spool[file_name [create | replace | append] off | out] 参数解释: 1. file_name: 保存...

    1 概述

    1. 目的:"命令行结果集导出至文件 或 打印"
    
    2. 注意:spool 是 sql*plus 的命令 -- 不是标准 sql 语法
    

    2 语法

    spool[file_name 
    	  	[create | replace | append] 
          off | out]
    

    参数解释:

    1. file_name: 保存查询结果集的 '路径 和 文件名'
       (1) 如:"D:\Oracle\a.txt"
       
    2. 创建文件 -- Oracle 10g、11g 新增的
       (1) create :若存在,则 '报错'
       (2) replace:若存在,则 '替换',默认
       (3) append :若存在,则 '追加内容'
    
    3. 结束
       (1) off: 完成 spool -- 自动生成文件
       (2) out: 停止 spool -- 将文件输出到终端设备,如:打印机。会提示你保存文件
    

    举例:查询 scott.emp 表的记录并保存

    Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 
    Connected as system@ORCL
    
    SQL> spool "C:\Users\YoYo\Desktop\1.sql"
    Started spooling to C:\Users\YoYo\Desktop\1.sql
    
    SQL> select * from scott.emp t;
    EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
     7369 SMITH      CLERK      7902 1980/12/17     800.00               20
     7499 ALLEN      SALESMAN   7698 1981/2/20     1600.00    300.00     30
     7521 WARD       SALESMAN   7698 1981/2/22     1250.00    500.00     30
     7566 JONES      MANAGER    7839 1981/4/2      2975.00               20
     7654 MARTIN     SALESMAN   7698 1981/9/28     1250.00   1400.00     30
     7698 BLAKE      MANAGER    7839 1981/5/1      2850.00               30
     7782 CLARK      MANAGER    7839 1981/6/9      2450.00               10
     7788 SCOTT      ANALYST    7566 1987/4/19     3000.00               20
     7839 KING       PRESIDENT       1981/11/17    5000.00               10
     7844 TURNER     SALESMAN   7698 1981/9/8      1500.00      0.00     30
     7876 ADAMS      CLERK      7788 1987/5/23     1100.00               20
     7900 JAMES      CLERK      7698 1981/12/3      950.00               30
     7902 FORD       ANALYST    7566 1981/12/3     3000.00               20
     7934 MILLER     CLERK      7782 1982/1/23     1300.00               10
    14 rows selected
    
    SQL> spool off
    Stopped spooling to C:\Users\YoYo\Desktop\1.sql
    
    SQL> 
    

    3 实例

    • 为了适应各种显示要求,也可以使用 set 命令
    • 可用的 set 命令有很多,整理中
    set feedback off -- 显示每次 sql 执行情况,默认 on
    set time on
    set echo on
    spool "C:\Users\YoYo\Desktop\1.sql"
    select * from scott.emp t;
    spool off
    
    展开全文
  • 运行windows命令行窗口然后输入一下代码。file是文件绝对路径,扩展名为.DMP exp [数据库账号]\[数据库密码]@[ip]/[数据库名] file="[文件路径]\文件名.DMP" exp cpdb/cpdb@172.16.8.139:1521/orcl file="d:20...

    业务需要创建多个数据库来分别存放不同的数据,再次整理一下数据ORCLE导入导出命令

    1、导出备份

    运行windows命令行窗口然后输入一下代码。file是文件绝对路径,扩展名为.DMP

    exp [数据库账号]\[数据库密码]@[ip]/[数据库名] file="[文件路径]\文件名.DMP" 

    exp cpdb/cpdb@172.16.8.139:1521/orcl file="d:20190413cpdb_backup.DMP"

    2、创建表空间及新账户相关命令命令

    使用有管理员权限的账号登录oracle(命令行登录或者使用plsql、DataGrip等oracle管理工具都行)执行以下sql来创建表空间和用户

    -- 查询现有表空间及所在目录,方便下边创建新表空间时选择存放路径保持统一
    select t1.name,t2.name from v$tablespace t1,v$datafile t2  where t1.ts# = t2.ts#;
    -- 1、创建固定大小表空间并指定目录及大小
    create tablespace cpdbd datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\cpdbd.dbf' size 2048M;
    -- 2、创建动态自增表空间
    create tablespace cpdbd datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\cpdbd.dbf'  size 500M autoextend on next 5M maxsize unlimited; 
      /*创建表空间*/
      create tablespace cpdbd
      /*表空间物理文件名称*/
      -- datafile 'cpdbd.dbf' 
      -- 这种方式指定表空间物理文件位置
      datafile 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\cpdbd.dbf' 
      -- 大小 500M,每次 5M 自动增大,最大不限制
      size 500M autoextend on next 5M maxsize unlimited; 
    
    -- 删除表空间(表空间文件可以手动到目录中删除)
    drop tablespace "NEWS_TABLESPACE";
    -- 创建用户并指定表空间(每个用户都需要绑定一个表空间)
    create user cpdbd identified by cpdbd default tablespace cpdbd;
    -- 给用户赋链接和使用权限
    grant connect,resource to cpdbd;
    -- 用户赋dba权限
    grant dba to cpdbd;
    
    -- 其他常用命令:
    
    -- 查看用户列表
    select username from dba_users;
    
    --修改密码
    alter user system identified by 123456;
    
    -- 删除用户 -级联(删除用户以及所有关联的数据库对象)
    drop user cpdba cascade;
    
    -- 删除表空间及文件
    drop tablespace cpdba including contents and datafiles cascade constraints ;

    3、新建数据库中导入数据库备份文件

    imp [数据库账号]\[数据库密码]@[ip]/[数据库名] file="[文件路径]\文件名.DMP" fromuser=[开发环境的数据库用户名]  touser=[本地的数据库用户名] commit=yes ignore=yes

    fromuser=user 指明来源用户(即需要导入备份文件中那个用户的数据,一般与touser配合使用更佳)
    touser=user  指明目的用户(就是把现在dmp文件中的数据导入到目标库指定user用户下的库)
    rows=y  是否上传表记录(确定导入的数据行)
    commit=y 上传数据缓存区中记录上载后立即执行提交(表示每个数据缓冲满了之后提交一次,而不是导完一张表提交一次。这样会大大减少对系统回滚段等资源的消耗,对顺利完成导入是有益的)
    freeback=10000  显示处理记录条数,缺省为0,即不显示
    buffer=10240000  上载数据缓存区,以字节为单位,缺省依赖操作系统

    导入有三种模式,分别为按照①full全部、②fromuser用户、③tables表三种模式导入。

    indexes=n 指如果上传时索引已建立,此举项即使为n也无效,imp自动更新索引数据

    ①不指定用户导入(不推荐使用,稳妥起见使用方法二,指定用户名

     Ⅰ 、备份时只备份的指定用户的数据(如本文中使用的导出语句)

    -- 向新建账号导入数据库文件
    -- 注意事项:1、192.168.1.145是数据库监听地址,如果你是本地导入,并且oracle监听了localhost时可以不写,直接写成cpdbd/cpdbd@orcl即可。
    --          2、不写端口号
    imp cpdbd/cpdbd@192.168.1.145/orcl  file=D:\oracledb_backup.dmp log=oradb.log full=y buffer=20480000 commit=y ignore=y feedback=10000

    只要不报错 就ok了 !

    ②指定用户导入(推荐

     Ⅰ 、备份时全数据库备份,导出时只需要导出指定用户的数据

     Ⅱ 、备份和还原时的用户名不同时

    -- 向新建账号导入数据库文件
    -- 注意事项:与方法Ⅰ 不同的是去掉了full=y 加上了fromuser=  touser= 指定来源和出处。
    --      导入有三种模式,分别为按照①full全部、②fromuser用户、③tables表三种模式导入。这里用的指定用户的方式。
    imp cpdbd/cpdbd@192.168.1.145/orcl  file=D:\oracledb_backup.dmp log=oradb.log fromuser=backdbuser touser=cpdbd buffer=20480000 commit=y ignore=y feedback=10000
    

     

    表空间用户相关其他sql示例

    1.查询  
    /*查询所有表空间物理位置*/
      select name from v$datafile;
      /*查询当前用户的表空间*/
      select username,default_tablespace from user_users;
      /*修改用户的默认表空间*/
      alter user 用户名 default tablespace 新表空间; 
      /*查询所有的表空间*/
      select * from user_tablespaces; 
     -- 查看所有表空间详细信息
     SELECT * FROM dba_data_files;
      
      /* 删除表空间*/
      alter tablespace QCJ_TABLESPACE offline;
      drop tablespace QCJ_TABLESPACE including contents and datafiles;
    
    
    2.查看各表空间分配情况。
    
    select tablespace_name, sum(bytes) / 1024 / 1024  from dba_data_files  
    
     group by tablespace_name;  
    
    3.查看各表空间空闲情况。
    
    select tablespace_name, sum(bytes) / 1024 / 1024  from dba_free_space  group by tablespace_name;  
    
    4.更改数据表大小(10G)
    
    alter database datafile '/ora/oradata/radius/undo.dbf' resize 10240m;
    
    5.设置表空间不足时自动增长
    
    5.1查看表空间是否自动增长
    
    SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;
    
    5.2 设置表空间自动增长
    
    ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON;//打开自动增长
    
    ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON NEXT 200M ;//每次自动增长200m
    
    ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自动增长200m,数据表最大不超过1G
    

     

     

     

     

     

     

    展开全文
  • 导出sql文件,是可以用文本编辑器查看的,虽说效率没有dmp的高,但数据量不大的情况下可以选择这个。 最近安装plsql的时候,配置方面没有配好,导致在导入数据的时候经常会一闪而过,失败,很有必要整理一个...
  • 后来上了官网,下了oracle 11g的客户端(下载地址:链接:https://pan.baidu.com/s/1f9ou6lIdEmX5AFNEWcsvAQ 密码:j7n0),完整安装后,可以用命令行导出: 导出语句如下:    exp username/password@i...
  • oracle导出使用sqldeveloper连接工具 mysql使用navicat即可 如果2个环境可以直接互相访问那么可以直接使用一些工具迁移有专门oracle导出数据到mysql的工具 需要保证迁移对象mysql的字符集以及时区是utf和东八区(看...
  • 在源数据库1.打开pl/sql界面,tools--->export user objects,选中你的表,...使用oracle exports导出的是dmp文件,包含表结构定义和数据.使用pl/sql developer导出的是pde文件.在目的数据库(windows)1.进入cmd命令行c:/>
  • oracle导入导出

    2013-09-25 11:00:18
    ①使用oracle导入导出: 在bin目录下使用命令行导入导出:  导出某用户的表: exp 用户名/密码@ora11g FILE=D:\test.dmp owner =用户 导入表: imp 用户/密码@TNS名 FILE=F:\test.dmp full=y ignore=Y ②使用...
  • Oracle Sql developer显示数据库数据 java显示mysql数据库 html编码   过滤器设置编码   jsp/java编码(IDE编辑器设置UTF-8)     连接mysql参数   ...
  • xx最新Oracle数据库导入导出命令总结 Oracle数据导入导出imp/exp就相当于oracle数据还原与备份exp命令可以把数据从远程数据库服务器导出到本地的dmp文件imp命令可以把dmp文件从本地导入到远处的数据库服务器中利用这...
  • oracle imp命令行的使用

    2010-05-30 16:10:00
    以前经常使用oracle的客户端工具toad来进行数据库的导入和导出,其实个人倒不喜欢用这个客户端工具,感觉功能很强大的一个工具,dba适用。开发还是用pl/sql比较好,简洁的界面。 C:/Users/Administrator>imp nwgis/...
  • Oracle数据库导出

    2017-11-14 20:08:00
    一、 pl/SQL方式 1、打开plsql,找到工具栏,导出表 2. 进入导出主页,选择文件夹,输入导出文件名称 ,点击保存 3、点击导出按钮,即可弹出导出数据概况 如果中途无报错想象,即可在你选定的路径下找到该dmp文件...
  • Oracle数据导出到文本文件的方法   Oracle数据直接导出到文本文件的方法. 利用Oracle中的Spool缓冲池技术可以实现Oracle数据导出到文本文件。 1、在Oracle PL/SQL中输入...3、在命令行中随便输入你的SQL查询: se
  • 在pl/sql中使用exp/imp工具实现oracle数据导出/导入2006年11月19日 星期日 10:59Oracle 数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以...
  • oracle导入导出数据库

    2019-07-06 16:08:50
    原生sql语句导入导出(在cmd命令行执行) 导出: exp username/password@sid file=d:\exp.dmp full=y username/password分别代表你的用户名和密码 sid表示你的数据库名 导入: imp username/password@sid file=d:...
  • oracle 导出

    2015-07-13 08:51:00
    一、导出csv文件 利用Oracle中的Spool缓冲池技术可以实现Oracle数据导出到文本文件。 1)、在Oracle PL/SQL中输入...2)、在命令行中随便输入你的SQL查询: select mobile from customer; select mobile from cl...
  • dmp 文件方式:使用 oracle 命令行工具 exp/imp 导出sql 脚本,不适合有二进制大字段 使用第三方工具,如:PL/SQL,可以导出二进制数据(pde),也可以导出 sql 脚本 【Java面试题与答案】整理推荐 基础与...
  • Oracle导入导出操作

    2020-07-16 09:56:47
    -- 导入:(在sql命令行执行) OPTIONS (errors=400000,rows=50000,bindsize=10485760,direct=true) LOAD DATA infile '/data/esbftp/tang/ceshi/COUPONS_SELLBACK.txt' append INTO TABLE COUPONS_SELLBACK FIELDS ...
  • 导出 一般导入的时候我用的是命令行 imp c##zs/111@orcl fromuser=c##zs touser=c##zs file=D:\java\950.dmp ignore=y c##zs 是创建的用户 111是密码 Oracle 不像Mysql 直接进行 主键进行自增 接下来有...
  • 使用命令行导出dmp文件 需要计算机安装的有oracle 否则导出数据的时候会不能指定盘符 导出的dmp文件会存在连接的服务器上 导出数据 exp kllogt/kllogt@192.168.3.5/orcl file=D:\kelu.dmp 导入数据 连接到system...
  • ORACLE10导出XML

    2009-12-27 16:48:19
    oracle服务器上,在命令行中切换到F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN目录,执行如下命令安装xmldom包。 sqlplus /nolog sql>connect sys/pwd@sid as sysdba; sql>@catq...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 221
精华内容 88
关键字:

oracle命令行导出sql