Oracle之SqlPlus的应用


用户登录 sqlplus user password 或者 sqlplus user/password   切换用户 conn username/password   查看当前模式下的所有表 select * from all_tables where owner = 'scheamname' 查看数据库所有用户 select * from dba_users 查看当前用户所有表 select * from user_tables; select * from v$database; 查看数据库所有表 select * from all_tables 查看某个模式下指定表 select * from SCOTT.TEST create user ts identified by ts 查看所有表空间 select * from dba_tablespaces 查询数据文件 select * from dba_data_files   set linesize 1000 设置每行显示的数据长度   set pagesize 50 设置每次显示的行数   set linesize 1000 每行有多少个字符   set pagesize 0 每页有多少行,设置为0,表示禁用分页   set echo off 用start命令执行sql脚本时,是否显示脚本中正在执行的SQL语句   set termout off 使用spool时,设置为off,那么输出的内容只会保存在输出文件中,不会显示在屏幕上,极大提高了spool的速度   set trimout on 去除标准输出每行的拖尾空格,缺省为off   set trimspool on 去除重定向(spool)输出每行的拖尾空格,缺省为off   set feedback off 一律不显示查询的行数   set heading off 每页的上面不显示列标题,而是以空白行代替   set pause off 禁止翻页   先创建文本文档,保存之后执行 @i:hello 或者 创建文本文档,保存后执行 ed txtname   账号锁定解锁步骤 具体操作步骤如下: C:> sqlplus 请输入用户名:sys 输入口令:sys as sysdba //注意:在口令这里输入 的密码后面必须要跟上 as sysdba 才可以。 SQL> alter user scott account unlock; 用户已更改. SQL> commit; 提交完成. SQL> conn scott/tiger 更改scott口令 新口令:tiger 重新键入新口令:tiger 口令已更改 已连接。 scott默认密码tiger system账户的默认密码:   数据导出 先创建test.sql文件 set linesize 4500 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off; spool d:\data\test10.txt select * from SCOTT.TEST; spool off; 保存退出 执行 @d:data/test       linux sqlplus脚本   编写.sh脚本 sqlplus user/password < sh /home/sqlplus/sh/test.sh EOF   编写导出数据.sql文件(.sh文件和.sql文件分开编写) 写法一: #set linesize 5000 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off; #spool d:\data\test10.txt #select * from SCOTT.TEST; #spool off;    写法二: #set pagesize 0 echo off termout off trimout on trimspool on feedback off pause off markup csv on; #spool d:\data\test8.csv #select * from SCOTT.TEST; #spool off;   写法三: #set linesize 2000 pagesize 5000 echo off termout off trimout on trimspool on feedback off heading on pause off colsep; #spool d:\data\test.txt #select * from WS_STATION; #spool off;   建议导出格式: set linesize 120 pagesize 500 echo off termout off trimout on trimspool on feedback off heading on; spool d:\data\testh.txt select STATIONID||','||STATIONNAME||','||ORDERNUM||','||STATUS||','||UPDATETIME||','||CREATETIME||','||DELETEFLAG from WS_STATION; spool off; 原因: 用sqlplus自己设定的分隔符 set colsep 参数导出的数据有很大的不确定性,这种方法导出的数据由sqldr导入容易大概出错,尤其对大批量数据,而且导出的数据文件很大。用以上的方法导出数据文件格式规整文件较小再导入时比较准确,因此建议用上面的方法手动控制spool文件格式     *每个.sql文件中可以有多个sql导出语句 例: set linesize 5000 pagesize 0 echo off termout off trimout on trimspool on feedback off heading off pause off; spool d:\data\test1.txt select * from SCOTT.TESTA; spool off;   spool d:\data\test2.txt select * from SCOTT.TESTB; spool off;   spool d:\data\test3.txt select * from SCOTT.TESTC; spool off;  这个.sql文件中写了三张表,执行该文件就会按顺序导出该三张表的数据