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

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

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

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

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

在系统环境变量增加,

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报错,

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

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

SQL> create user "wang-wl" identified by a; 
User created.


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


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

[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了。

关于10053,可以参考,

PL/SQL中SQL语句10053创建方法

有关10053事件,你知道这两个知识点么?

探索索引的奥秘 - 10053事件

近期更新的文章:

了解一下sqlhc

Oracle的MD5函数介绍

Oracle 19c的examples静默安装

sqlplus登录缓慢的解决

VMWare 11安装RedHat Linux 7过程中碰到的坑

COST值相同?是真是假?

Oracle 11g的examples静默安装

同名的同义词和视图解惑

v$和v_$的一些玄机

文章分类和索引:

公众号700篇文章分类和索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值