工作中遇到问题 & TIPS(持续更新)

这篇博客记录了作者在工作中遇到的Oracle数据库问题及其解决方案,包括表名列名处理、密码过期问题、PL/SQL Developer的使用、多表连接优化、存储过程与索引管理等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2017年3月14日
PLSQL developer中的美化器 对DCL无语无效!


2016年10月9日
表名列明有关键字的
使用双引号 把关键字扩起来!!
comment on column WBJK_JCJC_ER.”table” is ‘表名’;


2016年5月20日 11:14:54
有关密码过期问题

alter profile default limit PASSWORD_LIFE_TIME unlimited;

select username,profile,expiry_date,account_status
from dba_users
where username=’WSSB_TEST’;

可以看到如果用户已经进入EXPIRED(GRACE)期, 再修改profile 此用户的 EXPIRY_DATE 不再影响(延长). 我遇到的案件应该就是这种。
Summary:
修改profile 前需要验证当前profile所有用户是否有EXPIRED(GRACE),EXPIRED状态,这些状态下修改的profile不会对当前已过期用户做延期更新,这种情况下修改profile后需要再
做 alter user identified by 更新
在11r1及之前版本有时会因为PROFILE.PASSWORD_VERIFY_FUNCTION不为NULL,同样在ULIMITED情况遇ora-28002.


2016年5月18日 17:44:15
新增表结构一定要写在脚本开头!!!!
要不刷脚本的时候会无限杯具!!!


2016年5月10日 13:59:51
PLSQL DEVELOPER查询关键字模糊匹配之前先看看字符严格匹配打没打勾
查找下一个关键字 快捷键是 CTRL + L


2016年5月8日
掉用过程之前一定先清空临时表(要删全!!!)
计数器一定要number类型,不要用varchar2或char类型的变量计数


2016年4月27日 16:00:18
多表连接 使用on子句 最好加上小括号,里面再用and连接


2016年4月25日 17:13:41
not in 不走索引
用 in + minus !!!!


2016年4月15日 16:06:45
刷存储过程 最后一定加 “/” !!!


2016年4月1日 09:40:02
SQL>定义的变量不要用单行函数 upper(to_char(..)) 容易造成取的字符不对


2016年4月7日
tnsnames.ora
连接串名需要顶头书写,数据库连接串定义中除首尾括号外不允许其他内容顶头书写!


2016年4月7日
PLS-00323: subprogram or cursor ‘string’ is declared in a package specification and must be defined in the package body
注意在包头和包体中名字和参数列表都必须一样,否则会报PLS-00323


2016年4月13日
重命名字段
SQL> alter table employees rename column a to aaa;

删除字段
SQL> alter table employees drop ( aaa,bbb);

如果要删除的列中含有大量数据
SQL> alter table employees set unused (aaa,bbb);
SQL> alter table employees drop unused columns;


2016年4月13日 10:46:33
用MOVE命令创建一个表的快速方法:从一个表空间移动到另一个表空间
SQL> alter table employees move new_tablespace; —可以利用MOVE操作更改任何存储参数
注∵表空间改变了
∴表中所有rowid都改变了
∴索引内容全改变了
∴索引不能使用了,要rebuild索引


2016年4月13日 10:48:45
如何查询SCN >=10g
1.数据库SCN
SQL> select current_scn from v$database;

2.通过时间戳查询
SQL> select scn_to_tiemstamp(3814379) from dual;

SCN_TO_TIMESTAMP(3814379)

13-JAN-12 04.05.57.000000000 PM

SQL> select timestamp_to_scn(to_timestamp(‘13-JAN-12 04.05.57’,’dd-mm-yy hh24.mi.ss’)) SCN_num from dual;

SCN_num

3782419


2016年4月13日 10:50:23
例如:※ 如果字符串全由数字组成 那么他可以直接参加加减运算
select ‘00’+1 from dual;
结果为1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值