一.登录oracle
sqlplus user_name/passwd
or
sqlplus /nolog conn / as sysdba startup conn user_name/passwd
查看当前登录用户:show user
当oracle下没有权限时直接级联赋权:chmod -R 777 路径
二.shell脚本
1.静默登录/安全登录
静默登录:意思是不弹出无用的信息用参数 -S 来选择
示例1:编写shell以静默登陆的方式连接数据库

2.分隔查询
示例2:编写shell输出dept表的内容,要求字段与字段间用','隔开

检测:
注意:需要添加set serveroutput 来让dbms生效
set有很多,主要就用这个
其他的需要的时候自己查
需要添加/让结果打印在命令行窗口
需要<<EOF EOF来让代码运行
3.查询plsql
示例3:根据传入的部门编号查询员工信息

测试:

4.安全登录
示例:写脚本安全登录数据库

测试:
正常登录
注意:``的使用会带来方便
5.传入部门编号,将员工信息数据导出到文件

测试:
注意事项:在登陆后<file_name.txt即可导入
注意用<还是<<
三.Spool 使用方法
spool常用的设置
set colsep ' '; //域输出分隔符
set echo {ON|OFF}; //显示start启动的脚本中的每个sql命令,缺省为on
set feedback {ON|OFF}; //回显本次sql命令处理的记录条数,缺省为on
set heading {ON|OFF}; //输出域标题,缺省为on
set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。
set linesize 120 //设置输出一行所能容纳的字符数
set termout {ON|OFF}; //显示脚本中的命令的执行结果,缺省为on
set trimout {ON|OFF}; //去除标准输出每行的拖尾空格,缺省为off
set trimspool {ON|OFF}; //去除重定向(spool)输出每行的拖尾空格,缺省为off
set term {ON|OFF}; //是否在屏幕上显示输出的内容
set num 18; //输出number类型域长度,缺省为10
set newpage {1|n|none} //--默认为1,设置页与页之间的分隔
当set newpage 0 时,会在每页的开头有一个小的黑方框。
当set newpage n 时,会在页和页之间隔着n个空行。
当set newpage none 时,会在页和页之间没有任何间隔。
注:LINESIZE要稍微设置大些,免得数据被截断,它应和相应的TRIMSPOOL结合使用防止导出的文本有太多的尾部空格。
但是如果LINESIZE设置太大,会大大降低导出的速度,另外在WINDOWS下导出最好不要用PLSQL导出,速度比较慢,直接用COMMEND下的SQLPLUS命令最小化窗口执行。
说明:spool不但可以把数据导出到txt,也可以导出到csv等;不但可以导数据,也可以导出字符,拼装成sql文件等
本文档详细介绍了如何使用SQL*Plus登录Oracle数据库,包括静默登录、查询操作及权限设置。同时,讲解了Shell脚本在数据库操作中的应用,如分隔查询、接收参数查询员工信息,并确保安全登录。此外,还阐述了SPOOL的使用方法及其相关设置,以实现高效的数据导出和文件操作。
33万+

被折叠的 条评论
为什么被折叠?



