PLSQL Developer使用技巧
本文由liuyk80贡献
·PL/SQL Developer 使用技巧
1、PL/SQL Developer 记住登陆密码
在使用 PL/SQL Developer 时,为了工作方便希望 PL/SQL Developer 记住登录 Oracle 的用户名和密码; 设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是默认勾选的, 勾上"Store with password" 即可, 重新登录在输入一次密码则记住了。
2、执行单条 SQL 语句
在使用 PL/SQL Developer 的 SQL Window 时,按 F8 键,PL/SQL Developer 默认 是执行该窗口的所有 SQL 语句,需要设置为鼠标所在的那条 SQL 语句,即执行当 前 SQL 语句; 设置方法: PL/SQL Developer 7.1.2 -->tools->Preferences-->Window types , 勾上"AutoSelect Statement" 即可。
3、格式化 SQL 语句
在使用 PL/SQL Developer 的 SQL Window 时, 有时候输入的 SQL 语句太长或太乱, 希望能用比较通用的写法格式话一下,这样看起来会好看些,也好分析; 使用方法:选中需要格式化的 SQL 语句,然后点击工具栏的 PL/SQL beautifier 按钮即可.
4、查看执行计划
在使用 PL/SQL Developer 的 SQL Window 时, 有时候输入的 SQL 语句执行的效率, 分析下表结构,如何可以提高查询的效率,可以通过查看 Oracle 提供的执行计 划; 使用方法: 选中需要分析的 SQL 语句, 然后点击工具栏的 Explain plan 按钮 (即 执行计划),或者直接按 F5 即可。
5、调试存储过程
在使用 PL/SQL Developer 操作 Oracle 时,有时候调用某些存储过程,或者调试 存储过程; 调用存储过程的方法:首先,在 PL/SQL Developer 左边的 Browser 中选择 Procedures, 查找需要调用的存储过程; 然后, 选中调试的存储过程, 点击右键, 选择 Test,在弹出来的 Test scrīpt 窗口中,对于定义为 in 类型的参数,需要 给该参数的 Value 输入值;最后点击上面的条数按钮:Start debugger 或者按 F9;最后点击:RUN 或者 Ctrl+R
学习手册: ·Oracle 学习手册:新手常见错误小集
没有人会否认 ORACLE 是全球最有影响的数据库产品之一;不过好的东西似乎总 不是那么好用(初看起来如此),甚至有些无情--总会给 layman 们一个个无情的 错误号。下面是我个人的总结,条条有用,希望能给初学者一点启示。 关于"好的东西似乎总不是那么好用(初看起来如此)"的一个笑话:在参加 IBM DB2 512、513 培训前,在校园网上下载到了安装程序,不过任凭我们几个 同学研究个半天,也不知哪个文件是安装文件,竟没有安装成功。最后,一致认 为:看来这个培训真是太有必要了!事后,才知道--我们下载的是 4linux 的! [以 8.1.6 为例]:
1、ORA-12541:TNS:没有监听器 ORA-12541:TNS:没有监听器
原因:没有启动监听器或者监听器损坏。如果是前者,使用命令 net start OracleOraHome81TNSListener(名字可
能有出入)即可;如果是后者, 则使用"Net8 Configuration Assistant"工具向导之"监听程序配置"增加一个监听器即可(基 本不用写任何信息,一路 OK。在添加之前可能需要把所有的监听器先删除!)
2、ORA-12500:TNS:监听程序无法启动专用服务器进程 ORA-12500:TNS:监听程序无法启动专用服务器进程
或 ORA-12560:TNS:协议适配器错误 原因:ORACLE 的数据库服务没有启动。使用命令 net start ORACLESERVICEORADB(ORADB 为数据库名字)即可。如果仍没有解决,请继续向下 看。
3、如果数据库服务启动失败,则很有可能是其注册表项值损坏, 如果数据库服务启动失败,则很有可能是其注册表项值损坏, 最好的做法是以下两步: 最好的做法是以下两步:
1)ORADIM -DELETE -SID oradb 删除数据库服务项 2)ORADIM -NEW -SID oradb 新增数据库服务项 注:这个过程中如果出错,就重启计算机!
4、ORA-12154:TNS:能解析服务名 ORA-12154:TNS:能解析服务名
原因:ORACLE 的网络服务名没有正确配置。请使用"Net8 Configuration Assistant"工具向导之"本地网络服务名配置"配置 TNS 即可。如果仍没有解决, 请继续向下看。
5、ORA-1034 :TNS:ORACLE 不可用 ORA原因:ORACLE 的数据库服务正确启动,但是数据库没有打开! 使用命令: 1)svrmgrl 启动服务管理器 2)connect internal 以 internal 身份登陆 3)startup 打开数据库
6、ORA-12560:TNS:协议适配器错误(顽固性的) ORA-12560:TNS:协议适配器错误(顽固性的) 协议适配器错误
原因:未知。 解决:必杀技--打开"Windows 任务管理器", 杀死 ORACLE.exe 及 ORADIM.exe 进程,书写自己的 ora_startup.bat,执行之! PS: 1、我的 ora_startup.bat: net start OracleOraHome81TNSListener net start ORACLESERVICEORADB svrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第 5 步。 2、我的 ora_shutdown.bat: net stop OracleOraHome81TNSListener net stop ORACLESERVICEORADB 3、ORACLE 相关服务名请参见"管理工具"之"服务"中以 ORACLE 开头的服务 名。
Developer·Oracle 10g 绿色客户端 plus PL/SQL Developer搭建方便的 Oracle 客户端使用环境
整个一个暑假都在做基于 Oracle 的一个数据处理程序。但是一直没有找到合适 的人工访问实验室的数据库的方便的方法。 最酷的时候我的做法是自己写个程序用 JDBC 连接数据库自己扒下想要的表 格…… 后来发现实验室里边有很多机器是装过 Oracle 客户端的, 但是 ms 都是当时实验 室搭建数据库时用正版的安装光盘装的, 我对这样臃肿的客户端有一种生理上的 恐惧,于是还是用原始的方法进行自己的开发。 直到有一天,看到 Oracle 的官方网站上边有 10g 的绿色版的简易客户端…… http://www.oracle.com/technology/tech/oci/instantclient/index.html Oracle 的官方网站下载软件是要帐户
的,这个申请一个就是了,本人没有网上 的空间存放相关的软件,即使有也没有官网上的可靠和持久,所以就只给一个链 接了。 http://www.allroundautomations.nl/plsqldev.html PL/SQL Developer 是一个开发与数据库相关工程的软件,ms 是 Free 的,不大了 解,只不过看到很多开发 Oracle 相关数据库的人都在用,我一般只用来当作与 数据库服务器交互用的 Client 界面……,最多的时候主要是开一个窗口敲 SQL 语句,(杀鸡用牛刀了……) 下边是安装的过程,由于是免安装的,所以要自己配置一些环境变量和文件,比 较麻烦…… 首先将下载的 Oracle 客户端的压缩包解压到一个路径,在本机上解压到了 E:\OracleClient 下边,所以,实际上 Oracle 客户端的路径是 E:\OracleClient\instantclient_10_2 然后进入 instantclient_10_2 文件夹, 新建一个 network 文件夹, 并在 network 文件夹下新建 admin 文件夹,在 admin 文件夹中新建名为 tnsnames.ora 文件, 这个文件是用来配置连接远程数据库的登录信息的 (客户端软件都会从这个相对 路径下的文件中获取连接数据库的信息),内容如下: databasename = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ip address)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = database name) )
) 例如我链接实验室数据库的对应文件内容是: TCM = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = *.*.*.*)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = TCM) ) ) IP 我就不写出来了,我所用的数据库名为 TCM,so…… 然后安装 PL/SQL Developer,过程是傻瓜式的。进入 PL/SQL 后(开始进入时会 要求登录数据库,但是现在 PL/SQL 现在还找不到你的 Oracle 客户端,所以登录 是不会成功的, 但是可以进入软件) 选择 Tools->Preferences, Oracle Home , 在 OCI Library 两栏中分别填入 Oracle 客户端的路径和 OCI 文件的路径(oci.dll 文件直接在 instantclient_10_2 文件夹下),所以我在这两个选项中填写的内 容是"E:\OracleClient\instantclient_10_2"和"E:\OracleClient \instantclient_10_2\oci.dll"。这时再登录就可以登录成功了。如若还不行就 重启一下 PL/SQL。 绿色版的客户端可能会出现对于中文支持的问题, 这主要是因为服务器端指定的 字符集和客户端所默认的字符集是不相同的导致的, 只要找到服务器端的字符集 设置,然后将客户端的字符集设置与服务器端保持一致就好了。修改客户端字符 集设置的方法有好几种,可以修改注册表,也可以用环境变量的方法解决。不过 我这里介绍的客户端是绿色版的,只是解压到某一个路径而已,所以注册表的方 法在这里不是很适用,所以我写了一个启动脚本,在启动 PL/SQL 之前,先建一 个临时环境变量 nl
s_lang,并给变量赋值,再启动软件。(我曾经做过实验, 通过建立系统环境变量的方法在这里是行不通的,具体的原因我说不清楚><) 我的脚本 plsql.bat 的内容如下: set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK cd "c:\Program Files\PLSQL Developer" PLSQLDev.exe 其中第二行进入的路径是 PL/SQL Developer 安装到的路径。
我这里的实际情况是服务器端的字符集设置为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK,所以我将这个值赋给 nls_lang。通过运行 plsql.bat 脚本就可以正常的访问服务器数据库了。