今天给大家分享的是PLSQL Developer软件使用大全。
这是个有争议的功能,因为记住密码会给带来数据安全的问题。但假如是开发用的库,密码甚至可以和用户名相同,每次输入密码实在没什么意义,可以考虑让PLSQL Developer记住密码。
设置方法:菜单Tools --> Preferences --> Oracle --> Logon History --> Store With Password
重新登录再输入一次密码则记住了。
上述方法若不好用,使用下面的方式:
在上面所说的界面中的"Fixed Users"中,
添加需要直接选择后就可登录的用户名/密码@ORACLE_SID,
如:
cbsdb/cbsdb@cbsdb
重新登录的时候,从Oracle Logon的登录界面的Username后面的...按钮处,
选择需要登录的用户即可。
信息系统的核心是数据库,系统出问题时最先要查的就是SQL语句,怎样在浩瀚的日志中快速找到那条SQL语句是件比较痛苦的事情。 SQL语句全部大写并不能彻底解决这一问题,但在一堆代码中间找一行全部大写的字符相对容易些。设置方法:菜单Tools --> Preferences --> Editor --> Keyword Case --> Uppercase
在SQL Window里写好的SQL语句通常需要放到Java或者别的语言内,就需要转成字符串并加上相应的连字符,这一个事不需要再重复做了,在写好的SQL 上点右键,使用特殊Copy即可!
设置方法:鼠标右键 --> Special Copy
PLSQL Developer里预留了很多键让用户自定义,通常情况下,打开PLSQL Developer后,最常用的就是打开SQL Window和Command Window,就可以给这两个操作定义快捷键ALT+S和ALT+ C。
设置方法:菜单Tools --> Preferences --> Key Configuration
Shortcut:
============================================================================
Edit/UndoCtrl+Z
Edit/RedoShift+Ctrl+Z
Edit/PL/SQL BeautifierCtrl+W(自定义)
Shift+Home选择光标位置到行首
Shift+End选择光标位置到行尾
Ctrl+Shift+Home选择光标位置到首行行首
Ctrl+Shift+End选择光标位置到尾行行尾
Object:ViewShift+Ctrl+V查看(自定义)
Object:DescribeShift+Ctrl+D结构(自定义)
Object:PropertiesShift+Ctrl+P属性(自定义)
Object:BrowseShift+Ctrl+B浏览(自定义)
Object:Edit DataShift+Ctrl+E编辑数据(自定义)
Object:Standard QueryShift+Ctrl+S标准查询(自定义)
Edit/Find ReplaceCtrl+F
Edit/Find NextCtrl+L
Edit/Find PreviousShift+Ctrl+L
Edit/Replace NextCtrl+P
EDIT/Full ScreenCtrl+F11
Edit/Go to LineCtrl+G
Edit/Next Tab PageCtrl+H
Edit/Previous Tab PageShift+Ctrl+H
Session/ExecuteF8
Session/BreakShift+Esc
Session/CommitF10
Session/RollbackShift+F10
Debug/Toggle BreakpointCtrl+B
Debug/StartF9
Debug/RunCtrl+R
Debug/Step IntoCtrl+N
Debug/Step OverCtrl+O
Debug/Step OutCtrl+T
Tools/Explain PlanF5
Tools/Code AssistantF6
Editor: Start of DocumentCtrl+PgUpORCtrl+Home
Editor:End of DocumentCtrl+PgDnORCtrl+End
Editor:Delete LineCtrl+Y
Editor:Navigate BackAlt+Left
Editor:Navigate ForwardAlt+Right
SQL Window:Previous SQLCtrl+Up
SQL Window:Next SQLCtrl+Down
在使用PL/SQL Developer的SQL Window时,按F8键,PL/SQL Developer默认是执行该窗口的所有SQL语句,需要设置为鼠标所在的那条SQL语句,即执行当前SQL语句;
设置方法:PL/SQL Developer -->tools->Preferences-->Window types ,勾上“AutoSelect Statement” 即可。注意,每条语句后面要加分号。
快捷输入SQL语句,例如输入s,按下空格,自动替换成SELECT;再例如,输入sf,按下空格,自动替换成SELECT * FROM,非常方便,节省了大量的时间去编写重复的SQL语句。
设置方法:菜单Tools --> Preferences --> Editor --> AutoReplace. --> Edit
下面定义了一些规则作为参考
s=SELECT
f=FROM
w=WHERE
o=ORDER BY
d=DELETE
sf=SELECT * FROM
df=DELETE FROM
sc=SELECT COUNT(*) FROM
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句太长或太乱,希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析;
使用方法:选中需要格式化的SQL语句,然后点击工具栏的PL/SQL beautifier按钮即可.
点击菜单 tools -> window list, 将弹出的小窗口拖到左下角合适位置,然后点击菜单 window->save layout
tools->Preferences-->Oracle->Connection 选择 "check connection"
tools->Preferences->Files->backup,页面中backup files中选择 disabled
在PL/SQL Developer(下面简称PLD)中的每一个文本编辑窗口,
如SQL Window,Command Window和Porgram Window,
右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单。
对象类型可以是表,视图,同义词,存储过程和函数等。
根据对象类型的不同,弹出的菜单也有区别。
表和视图有View, Edit, Rename, Drop, Query data 和Edit data等功能。
View和Edit分别是查看和修改表的结构信息,如字段,主键,索引和约束等。
Query data相当于新打开一个窗口,并执行select * from 表。
Edit data相当于新打开一个窗口,并执行select * from 表 for update。
存储过程和函数有Test功能,选中后可以进入调试状态。
有时由于PLD识别错误,右键点击对象并不能出来正确的菜单,
可以在对象所在的DDL或DML语句的前面,加上分号,这样PLD就能正确的判断出对象的类型
菜单Help->Support Info->TNS Names,可以查看Oracle的tnsnames.ora。
在SQL Window中执行Select语句,在结果出来以后,右键点击下面的数据区,
选择Copy to Excel,可以把数据区的记录原样拷贝到Excel中。
但有两点需要注意:
(1)field中不能以=开始,否则Excel会误认为是函数;
(2)数字不要超过17位,否则后面的位数将会置为0,
但可以通过在数字前加'来使Excel认为该field是文本,
同时对于数据库中Numbe类型的字段,最好用to_char输出,不然可能会显示不正常;
重新进入PL/SQL Developer时,Window List能打开上次退出时的文档:
(1)将菜单Tools->Window list选项勾上;
(2)Tools->Perferences->User Interface->Options的右边,
将"Autosave desktop"勾选.
(3)退出PL/SQL Developer重新进入.
在Tools菜单中,勾选上Object Browser,将对象浏览器打开,
双击对象浏览器中的某个对象所处的文件夹,
比如表都是在Tables文件夹中,
然后以尽快的速度输入表名,即可找到以你输入的几个字母开头的对象了.
按住Shift键,左键点击需要关闭的文档窗口.
plsql 9.0及以上版本的多连接模式在实际的开发过程中容易连接错误的库导致生产事故,可以关闭这个功能,如图:
这样在窗口的最下边就不会出现这个了,
如下图设置后的外观就有所改变:
如果连接上有所显示:
由于结果集中的空值和空格难以区分,所以可以进行设置颜色来区分null值。
效果:
当你键入数据库对象的名字时,代码助手将自动地显示关于它们的信息,这个首选项页允许你定义这个特性的行为。
自动激活
在某一个延迟之后,代码助手能自动地被调用(请看下面)。你还可以通过功能键选择手工激活代码助手。
延迟
编辑器在显示代码助手列表之前将等待的毫秒数。
代码风格
控制了当你选择了已选的项目时它们将怎样被插入到编辑器里:
? Smart - 代码助手将考虑被描述的对象来决定风格。
? Init Caps - 每个词(用下划线分隔)的首字符大写。
? Lowercase - 所有字符都转换到小写。
? Uppercase –所有字符都转换到大写。
如果可能使用原来的大小写
这个选项被允许时,如果可能的话,代码助手将确定来自于存储于Oracle 词典的源里的标识符的大小写。这将应用到所有的程序单元和它们的元素(参数、类型等等)以及应用到查看列,并且越过了上面描述的代码风格首选项。如果原始的大小写不能被确定,代码风格将被应用。你可以因执行的原因要求禁止这个特性。
描述用户
确定了当你键入一个后面跟随着句点的用户名时被用户拥有的对象是否被列出来。如果这个选项被允许,你还可以定义哪些对象类型你要包括在里表里。
描述前后关系确定了代码助手是否应该描述当前用户、编辑器和程序单元的前后关系。
最少字符数
确定了在前后关系描述能自动地被调用之前有多少个字符的词需要被键入。注意,你始终可以手工调用代码助手,即使字符数没有被键入也是这样。
描述标准函数
在默认的情况下,代码助手将描述标准的函数诸如to_char 、add_months 等等。如果你很熟悉这些函数,你可以禁止这个选项。
进入到Tools—Preferences—Editor下进行相关设置,步骤如下图:
点击“Editor”项进行设置,如下图:
本次设置,为了实现长代码自动换行,勾选“wrap lines”即可。
长代码自动换行了,更易于显示阅读了,如下所示:
补充上图SQL是错误的,只为演示长SQL换行,正常书写应该为:
SQL> create table cool ("1" number(4),"2" varchar2(10),"3" varchar2(9),"4" number(4),"5" date,"6" number(7,2),"7" number(7,2),"8" number(2));
Table created
Dynamic Performance Tables not accessible,
Automatic Statistics Disabled for this session
You can disable statistics in the preference menu,or obtanin select
priviliges on the v$session,v$sesstat and v$statname tables
这个报错信息在不同的PL/SQL Developer版本都会出现,从上面详细的报错提示信息中我们可以判断得到,报错原因不在工具本身。
产生该提示原因:
plsql dev在用户运行过程中,要收集用户统计信息,但是由于你现在登录的用户没有访问v$session,v$sesstat and v$statname视图的权限,所以不能收集当前用户的统计信息,和plsql dev工具中配置的Automatic Statistics相冲突,所以就出现了这个提示
在此,详细记录一下这个小问题的三种处理方法。
就是在报错的Error对话框中将“Don't show this message again”选项选中,下次就不在提示这个错误了。
这种方法应该可以叫做“鸵鸟方式”的处理方法。没有从根本上解决这个问题。
报错信息中描述的非常详细,原因是动态性能表没有权利被访问导致的问题,因此,我们通过把所需访问权限赋予给具体用户的方法来解决这个问题。
这里给出我能想到的三种具体处理方法。大家可以继续补充。
1)如果只是某一具体用户有权限查询这三个动态性能视图,可以如下进行操作
这里注意一下:我们授权的视图是V_$session不是V$session,因为V$session是同名不是具体的视图。否则您会收到下面这个错误。
sys@ora10g> grant select on V$session to user_sec;
grant select on V$session to user_sec
*
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
正确的授权方法如下:
SQL> grant select on V_$session to user_sec;
SQL> grant select on V_$sesstat to user_sec;
SQL> grant select on V_$statname to user_sec;
2)可以使用下面这个“简单粗暴”的方法处理之。
SQL> grant SELECT ANY DICTIONARY to user_sec;
3)以上两种方法是针对特定用户的处理方法,如果想让所有用户(不局限在上面的user_sec用户)都能够查询这三个动态性能视图,可以通过将查询权限授权给public方法来实现,操作如下。这样就可以保证所有开发人员都不会再出现上述的报错信息了。
SQL> grant select on V_$session to public;
SQL> grant select on V_$sesstat to public;
SQL> grant select on V_$statname to public;
彻底禁掉PL/SQL Developer的这个功能。
方法如下:
导航到Tools --> Preferences --> Options
找到“Automatic Statistics”选项,将其前面的小对勾去掉,然后点击“Apply”和“OK”保存退出
在使用PL/SQL Developer的SQL Window时,有时候输入的SQL语句执行的效率,分析下表结构,如何可以提高查询的效率,可以通过查看Oracle提供的执行计划;
使用方法:选中需要分析的SQL语句,然后点击工具栏的Explain plan按钮(即执行计划),或者直接按F5即可。
这个里边点击下一步下一步就可以看到执行计划的过程。
另外,对于plsql 11中还可以看到html格式,Plan Hash Value或SQL PROFILE,非常实用:
在使用PL/SQL Developer操作Oracle时,有时候调用某些存储过程,或者调试存储过程;
调用存储过程的方法:首先,在PL/SQL Developer左边的Browser中选择Procedures,查找需要调用的存储过程;然后,选中调试的存储过程,点击右键,选择Test,在弹 出来的Test scrīpt窗口中,对于定义为in类型的参数,需要给该参数的Value输入值;最后点击上面的条数按钮:Start debugger 或者按F9;最后点击:RUN 或者Ctrl+R
C:\Users\Administrator\AppData\Local\Temp
如图:
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
右键点击要调试的触发器,选择编辑,在行号位置上点击一下设置断点。
在菜单的新建中选择“测试窗口”,打开一个如下块,在begin和end中间添加能触发触发器的语句
按F9或者点击调试菜单中的开始菜单,进入运行调试状态
点击运行图标跳到触发器中断点位置
鼠标放到变量上可以显示变量值。
右击我的电脑--电脑属性--高级系统设置--环境变量。
找到变量名:NLS_LANG(没有的话新建一个,有的话点击--编辑)。
将它的变量值改为:SIMPLIFIED CHINESE.ZHS16GBK
然后点击--确定,重启PLSQL就OK了
去除PL/SQL Developer打开时烦人的logon窗口
新版本的PL/SQL Developer打开时总会出现如下logon窗口
解决方法:
1.首先如果你的PL/SQL Developer有修改过配置,先备份你的PLSQL配置和你的连接配置
2.删除C:\Users\登陆用户\AppData\Roaming\PLSQL Developer下的Preferences文件夹
3.重新打开后就会发现烦人的logon窗口就会消失了,但是连接配置也被清除了,所以切记
保存之前的连接配置
4.将你之前备份的配置重新导入即可
C:\Users\Administrator\AppData\Roaming
还有一部分的的配置文件在安装文件夹中,如图:
11版本的plsql支持把配置文件导出后再导入了,这个功能很好。
在如下窗口中如果找不到对应的字体可以手动进行设置,前提是系统里必须有这个字体,
收到设置的方法是找到安装路径,然后找到配置文件夹
进入后找到
进行收到配置即可。
现有功能简要说明:
主菜单功能所有主菜单可在PL/SQL中设置工具栏按钮,以方便调用
CnPlugin / Comment /&Commnet Lines 以“--”注释当前选中的代码
CnPlugin / Comment /&Uncommnet Lines 去除当前选中以“--”注释的代码
CnPlugin / &ReConnect 重连中断的数据库连接
CnPlugin / &ExPaste 对当前选中或剪贴板内空格式化为IN 字符串,如格式化字符串AA,BB,CC为('AA','BB',CC')
CnPlugin / &ExCreate 建表时插入COMMENT的字段说明,如CREATE TABLE tt(ID NUMBER --编号);语句,除执行当前建表语句外,会自动生成comment on column TT.ID is '编号'注释语句
CnPlugin / Script / Load From MDB 以列表窗口形式读取已保存在Access数据库中的SQL语句
CnPlugin / Script / Save To MDB 保存当前SQL语句至Access数据库
CnPlugin / Script / Save As To MDB 另存为当前SQL语句至Access数据库
CnPlugin / Toggle Read Only 设置/取消设置当前SQL窗口为直读。
CnPlugin / Find All... 对当前窗口容空查找指定的字符串,列出全部匹配内容,支持正则表达式查找
CnPlugin / &Preferences CnPlugin插件属性设置窗口
CnPlugin / &About' CnPlugin关于窗口右键菜单功能
Query data using alias 以字段注释字符作为字段名拼出查询SQL语句(选中表名出现)
Open in new SQL Window 复制当前窗口选中的SQL语句到新窗口中(选中字符串是出现)
Execute in new SQL Window 复制当前窗口选中的SQL语句到新窗口中并执行语句(选中字符串是出现)
Generate Word Documentation 导出当前表结构内容至Word文档(选中表名出现)
无菜单功能
快捷键输入功能:如输入s空格,带出'select * from ',支持光标定位登录时打开或执行指定SQL文件
我常用的功能是Expaste功能,这个功能能把复制的文本自动添加单引号,这个功能非常实用。
复制如下数字:
1
2
3
4
执行expaste粘贴后:
PL/SQL Developer启动时报错:
"Control 'dxDockBrowserPanel' has no parent window"
出现原因:某次刚打开PL/SQL Developer 8.0.4,界面还没有加载的时候,机器死机了,然后强行重启,再打开PL/SQL Developer就报错.
尝试过的办法:
1.重装PL/SQL Developer7.1.5/8.0.2/8.0.4/9.0.2等多个版本均出现该问题;
2.系统还原也无效.
3.删除C:\Users\用户名\AppData\Roaming\PLSQL Developer的配置文件无效.
解决办法:
删除注册表中的
HKEY_CURRENT_USER\Software\Allround Automations\PL/SQL Developer\Docking
也有可能是Docking1、Docking2、Docking3......
这种东西全删掉就好了,然后打开OK
PLSQL Developer连接不上Win7 64位系统下安装的Oracle11g64位的解决办法
由于在本机Win7X64上安装了64位的Oracle,结果试图使用PLSQL Developer去访问它的时候,报告说无法加载oci.dll文件。原来oci.dll是64位的,32位应用程序PLSQL Developer自然无法加载了。
这个问题目前有3种解决办法
1)安装Oracle 11g 64位
2)安装32位的Oracle客户端( instantclient-basic-nt-11.2.0.2.0)
下载instantclient-basic-nt-11.2.0.2.0.zip (一定得是32位的,不要下错了版本,Oracle官网有下载),将其解压至Oracle安装目录的Product下(里面默认的文件夹名为:instantclient_11_2):D:\app\yeohcooller\product\instantclient_11_2。
拷贝数据库安装根目录下的一个目录D:\app\yeohcooller\product\11.2.0\dbhome_1\NETWORK到Oracle客户端目录下D:\app\yeohcooller\product\instantclient_11_2(其实只需要NETWORK\ADMIN\tnsnames.ora)
3)安装PL/SQL Developer
安装 PL/SQL Developer,在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home :D:\app\yeohcooller\product\instantclient_11_2
OCI Library :D:\app\yeohcooller\product\instantclient_11_2\oci.dll
接下来这步可选。
设置环境变量(修改PATH和TNS_ADMIN环境变量)
对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:
SQL> select userenv('language') nls_lang from dual;
NLS_LANG
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
1>.选择"Path" - 点击"编辑", 把 "D:\app\yeohcooller\product\instantclient_11_2;" 加入;
2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"D:\app\yeohcooller\product\instantclient_11_2;", 点击"确定";
3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";
最后点击"确定"退出.
这里需要注意oracle 的安装目录中不能包含空格
我自己解决的时候其实没有这么麻烦:
1.下载instantclient-basic-nt-11.2.0.2.0(高版本也行,但是必须是32位的)到任意目录,目录不能含有空格
2.在客户端目录中新建一个批处理文件,文件内容如下代码所示,这里要把plsqldev的快捷方式加载到该目录下,或者把该批处理文件加载到plsql developer 目录中也行,以后直接运行该批处理文件就可以了
@echo off
set path=D:\instantclient_12_1
set ORACLE_HOME=D:\instantclient_12_1
set TNS_ADMIN=C:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
start D:\instantclient_12_1\plsqldev
Windows 环境下有的时候需要设置ORACLE_HOME 的变量
在小麦苗云盘里下载PLSQL Developer_all_lhr_new.zip文件,解压文件后,设置环境变量后即可使用(设置方法在里边已经提供),无需安装,绿色版。
注意:不需要单独下载instantclient文件,小麦苗的定制版里边已经包含了客户端工具,包含sqlplus、sqlldr、exp、tnsping等工具,非常实用。
下载64位的 PL/SQL Developer。
小麦苗的云盘有下载。http://blog.itpub.net/26736162/viewspace-1624453/
如下,如果角色不能选择的话,可能是OCI配置的问题:
正确界面:
配置里边是否合适?如下是我的配置:
D:\Program files\app\oracle\product\11.2.0.1\dbhome_1
D:\Program files\app\oracle\product\11.2.0.1\dbhome_1\bin\oci.dll
该问题虽然不影响登录,但是始终觉得欠缺点什么东西:
错误登录界面:
正确界面:
解决办法:
设置TNS_ADMIN,查看系统环境变量是不是设置了TNS_ADMIN变量,且变量的值是到目录名:
TNS_ADMIN=D:\Programfiles\app\oracle\product\11.2.0.1\dbhome_1\NETWORK\ADMIN
如下,正常的有错误窗口:
而下边的存储过程没有错误窗口:
原因:其实很明显了,就是存储过程的名称后边的小括号应该使用英文的,而不应该使用中文括号。