oracle数据库
文章平均质量分 53
小落0117
学习这种事,当然要每天做啦,因为学习使我快乐,我人生的目标就是快乐~
展开
-
Oracle表的连接
自连接自己和自己连接例如,查询30号部门下的员工的领导是谁 select worker.ename,manager.ename from emp worker,emp manager where worker.mgr=manager.empno and worker.deptno=30;解释:worker和manager是表emp的别名,worker.mgr=manager原创 2017-05-30 12:15:47 · 213 阅读 · 0 评论 -
数据存储方式之历史拉链
取最新的数据:V_DATA_DATE = '99991231'取当天的全量:V_DATA_DATE BETWEEN SDATE AND EDATE取当天的增量:SDATE = V_DATA_DATE流程:1.判断是否重跑,如果重跑,将不应该存在的日期的数据删掉,当日的也要删,将闭链的数据重新开链2.如果不是重跑,用目标表MINUS源表,得到上游系统删除了的数据并将其闭链,再用源...原创 2018-09-13 20:08:22 · 1575 阅读 · 0 评论 -
手动卸数+传输文件+入库
sh maindownload.sh 日期 sql名不加.sql后缀 系统名这样就在data目录下生成卸数文件了然后sftp传到exchr对应目录下先cd到要传输文件的那个目录下,然后sftp登陆,命令是 sftp 用户名@id,然后不免密的输入密码,免密的直接就进去了,然后cd到你想把文件放到哪个目录的那个目录,然后put 文件名,就搞定了如果发现报错文件不存在,就lpwd一下看...原创 2018-09-17 16:42:29 · 1846 阅读 · 0 评论 -
COMM包笔记
PR_LOAD_DATAALL_TAB_PARTITION记录了当前用户可访问的所有分区表信息,PARTITION_POSITION=1是默认分区,调用PR_ADD_PARTITION为历史表增加分区,然后拿到当前表的PARTITION_POSITION=1的表空间名,这个是建表时的默认分区,然后看当前表是否存在表名_TMP的临时表,如果存在,将其删除,DROP TABLE TABLE_N...原创 2018-09-10 20:33:12 · 260 阅读 · 0 评论 -
DBLINK
A库想查B库的东西可以在A库上建一个DBLINK,单向,不需要在B上建,除非B也想查A的东西然后只要SELECT * FROM TABLE_NAME@DBLINK_NAME就可以了建DBLINK语句:CREATE [SHARED] [PUBLIC] database link link_name [CONNECT TO [user] [current_user] IDENTIFIE...原创 2018-10-08 19:34:23 · 7050 阅读 · 0 评论 -
Oracle高级编程读书笔记
2.12fetch调用是什么鬼???2.13列的大小,会影响逻辑读取逻辑读是什么鬼???优化器:COST-BASES ORACLE FUNDAMENTALS 乔纳森.刘易斯3.1全扫描访问方法全表扫描会将全部的数据块读到内存中获得数据块内的行,所以全表扫描要考虑:1.有多少数据块。2.有多少行被舍弃truncrpad如果数据是有序存储,就会大多数存在同一个块内,如果是零散的存在...原创 2018-12-12 21:22:41 · 251 阅读 · 0 评论 -
Oracle系统表
系统表一般分为3种,DBA前缀的,ALL前缀的,USER前缀的,DBA前缀的为所有的,ALL前缀的为,USER前缀为当前用户下的表,字段,表注释,字段注释相关系统表:DBA_TABLESDBA_TAB_COMMENTSDBA_TAB_COLUMNDBA_COL_COMMENTSDBA_TABLES里面还有一个num_rows字段,是这个表的数据量分区相关系统表DBA...原创 2018-12-26 21:47:09 · 742 阅读 · 0 评论 -
高水位线
什么是高水位线:就是数据一条一条插到数据块里面了,会记录一个最高的位置,就想象一下东西堆桶里了,越堆越高,最高的地方标一下最高位置,然后你把东西拿走了,最高位置还在那里,不会因为你东西少了就降下来了,就和delete一样,不会因为数据被delete了,高水位线就降下来了,这样有什么不好的地方呢,就是每次全表扫描的时候,就要扫很多多余的空块,造成资源浪费,就很没必要,所以对于频繁delete的表...原创 2018-12-17 22:32:36 · 788 阅读 · 1 评论 -
一些没听过的名词
今天开始大量留坑,慢慢填吧,갈길이 멀어...갈길이1.IBM一家公司2.EM就是那个网页上打开的那个oracle管理的应用3.linux虚拟内存这是个大坑啊,操作系统得重看一遍了。。。。。4.slab装oracle时要把slab设几倍大?????说啥呢????防止内存耗尽,但是尽量不要用slab,5.内存泄漏使用完了释放不了,内存用完了...原创 2019-03-04 00:13:01 · 281 阅读 · 0 评论 -
sql执行原理
一、SQL提交后在数据库端都执行哪些操作后返回数据给客户端 步骤: 1.查询高速缓存区 2语法检查 检查逗号啊,拼写啊,关键词缺不缺啊之类的 3.语义检查 检查表存在嘛,字段存在嘛之类的 4.获取对象锁 在访问这个表的这段时间,这个表是不允许被drop的,那可以对数据进行增删改查嘛 5.权限核对...原创 2019-03-25 20:53:56 · 765 阅读 · 1 评论 -
索引
一般来讲有索引,会使查询变快,但有时候,有索引也不会快,也不会走索引索引记录了rowid,以及值,根据rowid可以直接找到数据文件的位置B树索引结构使根节点到每一个叶子节点的路径都是相等的索引是有序的,在创建的时候就是有序的索引创建时,在第一个块内存放列值和rowid,当第一个块存满了,就新增一个块存列值和rowid,同时新增一个管理这两个叶子块的分支块,分支块内存放叶子块的ro...原创 2019-06-02 23:39:29 · 181 阅读 · 0 评论 -
ETL包笔记
WRITE_LOG 记录错误信息和debugPRAGMA AUTONOMOUS_TRANSACTION是自治事务的意思,一个procedure A调用一个procedure B,当B被设置成自治事务时,B的DML不会对A造成影响,如果B有commit或者rollback,也不会影响A,只会对B进行操作,B不依赖也不干涉AUSERENV是返回当前用户环境的函数,参数是字符串的形式,TERMI...原创 2018-09-08 20:03:54 · 284 阅读 · 0 评论 -
oracle怎么让表的一个属性有缺省值
1.如果表已经存在了就alter table 表名 modify 字段名 default 默认值。例如已经有一个表queshengzhi ----------------------------------------------------- -------- ------------------ ID原创 2017-05-20 10:25:04 · 4178 阅读 · 1 评论 -
oracle怎么清屏
sql plus清屏方法1..按shift和delete键,弹出的窗口问是否清屏清缓冲区,选择是,既可2.clear scr;3.clear screen;4.clea scre;5.cle scr;6.cle scre;7.cle scree;8.cle screen;以上是我一个一个试出来的,应该还有别的能清的,但是我觉得够了,我已经记住了,,,不想试了原创 2017-05-21 19:49:10 · 1425 阅读 · 1 评论 -
oracle同义词
1.什么是同义词?就是给数据库方案起一个别名为什么要起别名?用本身名字不好吗?比如说最近大家很喜欢的演员迪丽热巴,人家全名叫迪丽热巴·迪力木拉提 ,长不长,叫起来累不累,所以起了个小名叫胖迪,简不简单,好不好记,叫起来也容易吧,所以同义词就是这个意思,同义词的存在就是为了使用方便,简化操作,不用打那么长的原名,可以用简短的小名2.怎么建同义词?(1)首先要看你目前登陆的用户有没原创 2017-05-20 11:19:16 · 548 阅读 · 0 评论 -
oracle TOP n 查询
登陆hr用户,使用其中的employees表做示范1.如果没解锁hr用户,解锁方式如下;先登录sysconn sys/syspwd @orcl as sysdba;再解锁alter user hr account unlock;再设置密码alter user hr identified by hrpwd;account是账户的意思,identified是原创 2017-05-22 11:46:36 · 418 阅读 · 0 评论 -
truntact 和 delete 的区别
truntact叫截断表,是指清空表中的所有值,而且rollback不了,delete是删除,将删除的内容弄保存到回滚区中,通过rollback可以找回,但是truntact不可以,就像是你删掉硬盘里的东西但是在回收站里面是可以恢复的,这种叫delete,但如果是直接粉碎了文件回收站里也找不到的话叫truntacttruntact使用方法:truntact table 表名;例原创 2017-05-22 19:30:28 · 589 阅读 · 0 评论 -
怎么修改列的定义
1.改列的类型alter table 表名 modify (列名 类型);例如 将test 表的name类型改成varchar2alter table test modify (name varchar2(10));注意:如果你数据库里面有值了,就只能往大了改,不能往小了改,比如你原来是varchar2(10),你可以改成varchar2(20),但不能改成varchar(5)!!原创 2017-05-22 19:31:57 · 733 阅读 · 0 评论 -
oracle数据库简单笔记整理
oracle学习过程中记录的简单笔记1.什么叫表的完整性约束你让那个属性not null 了,再插的时候就不可以空值,比如姓名不可以空,你还非要不起名字,怎么能行呢。记录之间不能相同,比如你有一个张三了就不能再有一个张三了,所以网站注册总是提示你昵称被占用,请更换,妈的生气2.原创 2017-05-19 10:26:08 · 320 阅读 · 0 评论 -
oracle数据库作业
我们oracle老师留了一些作业,然后百度不到,所以我来给学弟学妹们提供个方便,我真棒~在scott用户的emp表下1.查询工资最高的雇员名字和工资select ename,sal from emp where sal=(select max(sal) from emp);2.查询工资比SCOTT高或者雇佣时间比SCOTT早的雇员的编号和名字select empno,e原创 2017-05-15 11:33:50 · 1800 阅读 · 0 评论 -
oracle随手笔记
1.存储过程中is和as没区别视图 用is游标 用as不能反过来,其他情况没区别 2.trim是用来去除字符串开头和结尾的函数用法:select trim(leading/trailing/both '你要删的东西' from'被删的字符串‘) "test_trim" from dual;both后面没有参数就去掉空格,只指定被删字符串则去掉开头结尾的空格 3.游...原创 2017-10-10 10:12:02 · 190 阅读 · 0 评论 -
oracle 常用函数
oracle 常用函数1.decode和case whendecode (a,'1','aaa','2','bbb','ccc')就是if 字段a = 1 then aaaelse if a=2 then bbbelse ccccase when a=1 then 'aaa'when a='2' then 'bbb'else 'ccc'enddecode...原创 2017-11-15 10:40:53 · 2089 阅读 · 0 评论 -
分区表
分区表分list,range,hash 分区list是按列值分区,分区列只能有一个,没法分的放default里range是按范围分区,没法分的放maxvalue里面hash是将数据平均分配到指定的区域里参数含义:nologging:不要日志nocompress:不压缩pctfree:块中保留用于UPDATE操作的空间百分比,当数据占用的空间达到此上限时,新的数据将不能插原创 2017-11-06 11:18:00 · 250 阅读 · 0 评论 -
基于CBO的优化器
CBO有哪些组件:查询转化器,代价评估器,计划生成器CBO如何优化客户端提交的sqlhttps://blog.csdn.net/sdksdk0/article/details/78745507https://www.cnblogs.com/kerrycode/p/3842215.html不知道权不权威啊,进度严重落后,还是大量留坑,哎。。。。。...原创 2019-06-02 23:56:07 · 471 阅读 · 0 评论