sqlplus 导出一张表数据
内网只让用sql developer 这软件搓的不行,数据加载到51行就黑了,没法法用sqlplus。
打开cmd,
sqlplus user/passwd@ip:port/库名
set colsep , //输出分隔符
set feedback off //回显本次sql命令处理的记录条数,缺省为on
set heading off //输出域标题,缺省为on
set trimout on
spool xxx.csv --这里指定导出csv文件的路径和文件名称
select '"' ||xxxx || '","' || xxxx || '","' || xxx || '"' from tmp; --这里指定导出表名和字段名
spool off
exit
Oracle里的set零零碎碎的,这里整理归纳一下
SQL> set timing on; //设置显示“已用时间:XXXX”
SQL> set autotrace on-; //设置允许对执行的sql进行分析
SQL> set trimout on; //去除标准输出每行的拖尾空格,缺省为off
SQL> set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL> set echo on //设置运行命令是是否显示语句
SQL> set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
SQL> set feedback on; //设置显示“已选择XX行”
SQL> set feedback off; //回显本次sql命令处理的记录条数,缺省为on
SQL> set colsep' '; //输出分隔符
SQL> set heading off; //输出域标题,缺省为on
SQL> set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。
SQL> set linesize 80; //输出一行字符个数,缺省为80
SQL> set numwidth 12; //输出number类型域长度,缺省为10
SQL> set termout off; //显示脚本中的命令的执行结果,缺省为on
SQL> set serveroutput on; //设置允许显示输出类似dbms_output
SQL> set verify off //可以关闭和打开提示确认信息old 1和new 1的显示.
数据库备份
1. create or replace directory data as '/oracle/dumpdata';
2. grant read, write on directory data to user;
3. expdp username/pwd@实例名 directory=data dumpfile=exp.DMP logfile=exp.log schemas=username
解读:
directory是第一步创建的目录
dumpfile是导出的文件,存放于directory目录里
schemas后面是数据库中的用户名,一定要指定