前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >日常工作中碰到的几个技术问题

日常工作中碰到的几个技术问题

作者头像
bisal
发布2021-01-06 11:23:15
7100
发布2021-01-06 11:23:15
举报
文章被收录于专栏:bisal的个人杂货铺

最近工作中,碰到了几个技术问题,记录于此。

问题1,PLSQL Developer中文显示问题

PLSQL Developer中写的SQL,例如列的别名包含了中文,就提示错误,如下所示,

很可能是系统不识别中文,认为是个非法的字符,所以提示这个错。

在系统环境变量增加,

代码语言:javascript
复制
NLS_LANG=SIMPLIFIED_CHINESE_CHINA.ZHS16GBK

重启PLSQL。

问题2,Windows 10安装PLSQL Developer

实测在Windows 10上,可以选择PLSQL Developer 9.0.6版本,下载链接,

https://www.allroundautomations.com/registered-plsqldev/

Oracle Client可以选择32位的Oracle 11g Client,下载链接,如下所示,

https://www.oracle.com/database/technologies/instant-client/microsoft-windows-32-downloads.html

实测这个组合,是可以使用的,其他组合,我没尝试,如果有朋友试过,可以提醒一下。

问题3,PLSQL Developer登录报错ORA-12504

Oracle Client下载包解压缩,默认当前路径,没有tnsnames.ora,自己创建一个,增加数据库配置,但是登录PLSQL Developer,提示ORA-12504,远程数据库启动,监听正常,

实测,tnsnames.ora放在Clinet当前路径下,不能生效,需要在Client当前路径下创建network/admin,tnsnames.ora放到network/admin文件夹中,才可以生效。

问题4,Windows 10的PLSQL Developer字体显示很小

如下图所示,PLSQL Developer字体显示很小,

PLSQL Developer图标右键“属性”,选择“更改高DPI设置”,

勾选“替代高DPI缩放行为。缩放执行”,选择“系统”,

重启生效,

问题5,包含特殊字符的Oracle用户名创建

用户名中包含特殊字符,例如@、%、&、¥、#,直接create user报错,

代码语言:javascript
复制
SQL> create user  wang-wl identified by a;
create user  wang-wl identified by a
                    *
ERROR at line 1:
ORA-00922: missing or invalid option

需要使用双引号,将特殊字符括住,

代码语言:javascript
复制
SQL> create user "wang-wl" identified by a; 
User created.


SQL> select username from dba_users;
USERNAME
----------------------------
wang-wl

登陆的时候,用户名和密码用'单引号括起来,包含特殊字符的用户名,使用"双引号括起来,

代码语言:javascript
复制
[oracle@vm-app ~]$ sqlplus '"wang-wl"/a'
SQL*Plus: Release 11.2.0.4.0 Production on Thu Dec 3 17:04:07 2020
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>

同理,如果在密码中,包含特殊字符,操作同上。

问题6,执行10053未生成trace

有时候执行SQL的10053,但是未生成trace文件,原因就是这次执行的SQL并未经历硬解析,不能覆盖整个编译的过程。

10053事件可以创建优化器的trace,因此又叫优化器跟踪文件(Optimizer trace file),这个文件能告诉我们Oracle为什么选择这种,而不是另一种执行计划,相应的成本值等一系列信息,让我们更加了解CBO的选择。得到10053的trace前提就是必须真正执行这条SQL。因此,语句中加个空格,或者执行其他可以让他硬解析的操作,就可以得到trace了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档