ORACLE
文章平均质量分 55
ZenPower
This is a place for redemption.
展开
-
Oracle关于date类型的查询方式及效率浅析
背景:数仓ETL环节通过sqoop抽取某个Oracle业务表时,突然在某天提示sqoop导出错误,重试仍然失败。经过查询源库发现当前增量抽取sql耗时特别久,涉及oracle数据库date类型比较时的查询效率问题。原始增量查询sqlselect * from ora_table where to_char(update_time,'yyyymmdd') = '20220222';注:在Oracle源库update_time字段为date类型,上述sql意为取2022-02-22一天的记录问题原创 2022-03-24 10:44:49 · 8314 阅读 · 0 评论 -
ORACLE存储过程RECORD数据类型的使用
RECORD记录数据类型是将多个基本数据类型组合成一个整体,作为一个复合数据类型使用原创 2020-11-18 19:37:32 · 3775 阅读 · 0 评论 -
ORACLE存储过程的异常处理
默认异常捕获create or replace procedure p_excepisbegin --存储过程执行... exception when others then --异常发生时执行(如输出异常信息、插入日志,数据库回滚等) dbms_output.put_line(sqlcode); dbms_output.put_line(sqlerrm); --sqlcode和sqlerrm是oracle内置函数,用于返回错误代码及描述原创 2020-11-16 16:12:16 · 4071 阅读 · 0 评论 -
ORACLE存储过程使用execute immediate执行动态SQL
使用execute immediate动态sql拼接a.intorgcode = '''||para_intorg1(l)||'''a.item = '||para_item(j)||' max(x.'||para_sub_item(k)||')其他使用动态游标参考:https://www.cnblogs.com/hanruyue/p/5974036.html...原创 2020-11-16 15:36:14 · 1646 阅读 · 0 评论 -
ORACLE数据库连接进程批量KILL
应用场景当ORACLE数据库有打补丁等涉及启停操作时,往往需要先关停前端应用服务,然后在数据库服务器端检查是否还存在远程连接进程,如果有则需要KILL掉,然后才能启停数据库操作命令ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9其他...原创 2020-08-05 11:36:29 · 661 阅读 · 0 评论 -
ORACLE批量导出/入表结构
导出表结构PL/SQL→工具→导出用户对象选择要导出对象的用户,这里“包括存储”和“包括所有者”如果勾选,则导出内容将分别包含表空间信息及表名前所有者信息,点导出即可导入表结构PL/SQL→工具→导入表选择“导入文件”为上步导出的sql文件,点导入即可,导入完成后会在当前导入文件路径生成导入日志...原创 2020-07-31 19:55:44 · 2431 阅读 · 0 评论 -
ORACLE数据库通过数据泵(expdp/impdp)迁移数据
业务场景公司ORACLE数据库要上线云服务,云端ORACLE数据库配置完成后,涉及本地数据库数据导出,并在云服务器导入操作,表空间数据容量800G左右准备工作查看本地数据库的非系统用户信息,用于配置导出用户 查看本地和云端数据库服务器磁盘容量,以确保数据导出和导入有足够空间存储(导出启用压缩可有效减少转储文件大小) 查看本地和云端数据库服务器字符编码是否一致,如果不一致可能会导致表字段导入报长度错误(需要在导入完成后,调整新库报错表字段长度后再单独导入相关表数据) 具体操作EXPDP导出.原创 2020-06-30 15:35:57 · 3101 阅读 · 0 评论 -
ORACLE使用to_char()查询月份不带零
oracle使用 to_char(sysdate, 'yyyy-mm-dd') 函数查询出来的日期格式,其中个位数的月份默认是带0的,如select to_char(sysdate,'yyyy-mm-dd') from dual;2020-05-19如果希望查询出来的日期,个位数月份不带零,则需要在月份格式化参数前加 fmselect to_char(sysdate,'yyyy-fmmm-dd') from dual;2020-5-19...原创 2020-05-19 10:37:42 · 2500 阅读 · 0 评论 -
ORACLE创建dblink,实现跨库查询
PL/SQL客户端PL/SQL客户端,对象窗口,Database links,右键→新建填写链接名称,远程数据库用户名、密码、数据库IP/SID信息,然后应用SQL命令create public database link 数据库链接名称connect to 远程数据库用户名 identified by 远程数据库密码 using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 远程数据库IP).原创 2020-05-09 09:44:26 · 2954 阅读 · 1 评论 -
ORACLE数据库状态
oracle数据库4种状态|状态| ||–|--|| | |其他原创 2020-01-13 18:12:18 · 312 阅读 · 0 评论 -
ORACLE账户锁定及解锁(the account is locked)
查看账户状态及锁定时间select username,account_status,lock_date from dba_users where username='READER';注:oracle数据库默认尝试10次后锁定用户查询结果如下:得知,READER用户当前状态为LOCKED,锁定时间是2019-12-04 12:53:33解锁当前账户alter user REA...原创 2019-12-05 16:27:11 · 8508 阅读 · 0 评论 -
ORACLE查询、删除数据库重复记录
假设我们有一个mytable表,且该表id字段有重复值,需要仅保留重复记录中的一条记录即可通过rowid(根据max或min函数判断当前表某些字段重复但rowid不重复的记录)--查询select * from mytable a where a.rowid != (select max(rowid) from mytable b where b.id = a.id);--删除de...原创 2019-05-24 10:47:15 · 1044 阅读 · 2 评论 -
通过PL/SQL创建序列和触发器实现表自增字段
创建序列创建触发器原创 2017-06-28 15:13:28 · 23461 阅读 · 1 评论