
regular sql
东方-phantom
Oracle 爱游泳 爱音乐电影
展开
-
rename表后, 同义词synonym失效问题
今日,因为生产线上要迁移大表,做历史表。在做rename表后,程序报错。rename之后,不仅synonym失效,grant的授权也会失效。下面看测试步骤和结论:SQL> create user test2 identified by "test2";User created.SQL> grant create session ,resource to test2;Grant succeeded.SQL> create public synonym t1 for test原创 2021-01-29 16:53:17 · 466 阅读 · 0 评论 -
update 与 with as 写法
UPDATE gsdpay.T_RPM_RTUL D SET D.MERC_RFD_SEQ = ( with F AS (SELECT A.PPD_ORD_NO, A.rp_ord_no FROM GSDPAY.T_PPD_ORDR A JOIN (select rp_ord_no, max(POST_DT) AS MAX_POST_DT,原创 2021-01-06 22:32:36 · 2624 阅读 · 0 评论 -
Oracle安装包 1-7代表的是什么
1-2: database , 如果升级数据库,只需要这2个文件即可。3:grid, 用来升级RAC 的CRS。4: 表示客户端5: gateways,6: examples,示例文件安装包。7: deinstall .原创 2020-11-17 14:23:45 · 339 阅读 · 0 评论 -
oracle查阻塞session
1.查询阻塞select a.* from (SELECT o.object_name, l.locked_mode, s.sid, s.serial#, s.final_blocking_session, s.sql_exec_start, (sysdate - nvl(s.sql_exec_start, sysdate)原创 2020-09-08 16:15:41 · 472 阅读 · 0 评论 -
Oracle新建安装3部曲
vi oralce.shyum install lrzsz -yservice iptables stop #临时chkconfig iptables offgroupadd -g 201 oinstallgroupadd -g 202 dbauseradd -m -u 202 -g oinstall -G dba -d /home/oracle -s /bin/bash oraclepasswd oraclemkdir -p /u01/app/oracle/product/11.2.原创 2020-09-08 13:06:25 · 132 阅读 · 0 评论 -
Tips: oracle 监听和tnsnames 模板
listener:LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1531)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.27)(PORT = 1531)) (ADDRESS =原创 2017-03-13 16:04:10 · 460 阅读 · 0 评论 -
Oracle 软件及静默安装数据库
/usr/sbin/groupadd -g 501 oinstall && /usr/sbin/groupadd -g 502 dba && /usr/sbin/groupadd -g 503 oper && /usr/sbin/useradd -g oinstall -G dba,oper -d /home/oracle/ -s /bin/bash oraclemkdir -p /data/or原创 2017-04-12 17:41:20 · 587 阅读 · 0 评论 -
DBCA UnsatisfiedLinkError exception loading native library: njni11
DBCA静默安装的时候,报错:UnsatisfiedLinkError exception loading native library: njni11 Java.lang.UnsatisfiedLinkError: /data/oradata/product/11.2.0/dbhome_1/lib/libnjni11.so: /data/oradadta/product/11.2.0/dbhom原创 2017-04-13 16:28:11 · 10046 阅读 · 8 评论 -
Debian 8 下安装 oracle 11g(手动建库非ASM)
oracle一直是不支持debian系统的。怎奈领导非要在debian上装,所以开始。1.创建目录及用户:/usr/sbin/groupadd -g 501 oinstall && /usr/sbin/groupadd -g 502 dba && /usr/sbin/groupadd -g 503 oper && /usr/sbin/useradd -g oinstall -G dba,oper原创 2017-04-13 17:03:26 · 3005 阅读 · 0 评论 -
Undo tablespace 99% 不释放
1.首先有几个参数要去确认,undo retention, guarantee,undo size。 当guarantee 没开的时候,retention是被忽略的。如果空间够用,基本不管retention。 但是开启guarantee风险很大,如果空间不足,会报错。2.如果数据库的undo 没有开启自动扩展,那么undo的大小是固定的。 所以可能会引发Automatic Tuning of u原创 2017-04-05 16:41:30 · 2090 阅读 · 0 评论 -
Tips: SQL 取值小数及小数位数
---查询小数点所在的位置select instr('12563.26530','.') from dual;---查询小数部分select substr('12563.26530',instr('12563.26530','.')+1) from dual;---查询小数部分的长度select length(substr('12563.26530',instr('12563.26530','转载 2017-08-07 10:59:03 · 1469 阅读 · 0 评论 -
shell:安装oracle 及后期参数调优
#!/bin/bashecho "yum"yum -y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libstdc++ libstdc++-devel sysstat libaio libaio-devel elfutils-libelf-devel unixODBC unix原创 2017-11-16 15:43:26 · 426 阅读 · 0 评论 -
windows 复制代码到linux 文本中文乱码
今天遇到个开发给了130多个SQL 文件,让我在oracle数据库中执行。 但是传输到数据库机器上的时候,vi里面的中文乱码。 现在整理了下,检查思路:检查secureCRT里面的会话配置选项的 编码是否是UTF-8检查系统级别的LANG 变量设置。export LANG=”en_US.UTF-8”检查这个文件的文件属性。 file 文件名结果到最后发现这个文件是ISO的,不是...原创 2017-11-22 15:35:48 · 3782 阅读 · 0 评论 -
SQL: rank over
rank_over() over(…) as rank : 相同的并列,中间有空序列 dense_rank() over(…) as rank: 相同的并列,没有空列 row_number() over(…) as rannk; 不并列,没有空列。参考文档: http://www.linuxidc.com/Linux/2015-04/116349.htm转载 2017-02-23 17:19:04 · 1003 阅读 · 0 评论 -
Debian下安装sqlplus 工具
其实Oracle官方是一直不支持debian的,但是最近一个需求是在 一个中间跳板机上安装sqlplus ,让一些开发同事能在跳板机上查询数据库。这个跳板机是debian的。可能的方法有2种: 1. rpm包类型。 下载rpm ,转成deb 2. 下载gzip的客户端包,用静默方式去安装,需要模板文件,这个没试过。下面就讲下第一种方式:1.准备4个rpm (至于真正需要是2个还是4个,有待考证)原创 2016-12-09 14:29:48 · 1512 阅读 · 0 评论 -
index 与全盘扫描
一·并不是所有的扫描,用索引就比全盘要快。CF(Clustering factor) 和 FF(Filtering factor). CF: 所谓 CF, 通俗地讲,就是每读入一个索引块,要对应读入多少个数据块。 FF: 所谓 FF, 就是该sql 语句所选择的结果集,占总的数据量的百分比。 大约的计算公式是:FF * (CF + 索引块个数) ,由此估计出,一个查询, 如果使用某原创 2013-07-01 15:51:41 · 691 阅读 · 0 评论 -
根据sid查找历史sql执行计划
1. 前提知道相关的信息 比如sid,serial# 或者sql_id. 我这里只是知道开发给的一个sid,就以此为例子。相关视图 V$active_session_history ,dba_hist_active_sess_history由于我这个session已经跑完,而且过了一天才汇报过来,只能选择 dba_hist_active_sess_history这个视图。这里我得到的是si原创 2013-09-25 16:19:19 · 1716 阅读 · 0 评论 -
古老的 三个范式
三个范式 可能是一些古板的人面试的时候要问的问题。虽然平时没有必要那么扣,可是也是有它存在和对数据库设计优化的一定道理。先简单写下自己对三个范式的理解,不想用那么书面拗口的句子表述三个范式。第一范式:没有重复的列。第二范式: 实体属性完全依赖于主关键字。(非主属性完全依赖 主属性) 原话是:“ 非主属性非部分依赖于主关键字”第三范式:不存在关系原创 2013-10-15 15:48:19 · 438 阅读 · 0 评论 -
临时表空间组 tempfile_groups
1.相关查询:select name from v$tempfile;select tablespace_name,file_name from dba_temp_files;2.创建临时表空间组:2.1:新建2个表空间create temporary tablespace temp1 tempfile '+DATA' size 400M tablespace grou原创 2013-11-18 16:10:47 · 400 阅读 · 0 评论 -
抓取ddl(get_ddl)大全
获取对象定义的包为:dbms_metadata,其中的get_ddl函数是获取对象的函数GET_DDL函数返回创建对象的原数据的DDL语句,参数说明1、object_type ---需要返回原数据的DDL语句的对象类型2、name --- 对象名称3、schema ---对象所在的Schema,默认为当前用户所在所Schema4、version ---对象原数据翻译 2013-12-17 14:26:24 · 2162 阅读 · 0 评论 -
Oracle trim函数
trim一般都是用在删除字符串两边的空格。实际上,trim也可以用来删除字符串两边的指定字符。并且trim指定删除的字符串只能是单个字符。如 trim('字符1' from '字符串2') ,字符1只能是单个字符。1. trim()删除字符串两边的空格。2. ltrim()删除字符串左边的空格。3. rtrim()删除字符串右边的空格。4. trim('字符1' from转载 2015-11-18 14:56:48 · 1459 阅读 · 0 评论 -
9i 数据库Monitoring(转载)
文章转载从: http://blog.itpub.net/35489/viewspace-619373/在 Oracle9i 中,您可以通过打开表监视选项 (ALTER TABLE …MONITORING) 然后检查这些表的视图 DBA_TAB_MODIFICATIONS,检查表中的数据是否已明显更改过。在 10g 中,已不再使用 MONITORING 语句了。而通过设置初始化参数 STATISTI转载 2016-08-04 14:36:30 · 270 阅读 · 0 评论 -
写给那些用PLSQL和SQLDEV报错的小朋友们
下午纯被一个开发气到了。。说是在服务器上sqlplus能连oracle数据库,用PLSQL连接报错ORA-012154. 帮他检查了tnsping及tnsnames.ora的写法。都正确。 后来问了一句 :“你装clinet 了吗??” 人家回答:“我都做好几年开发了,用PLSQL从来没装过client,都是直接用的。”我心里好无语啊。。。我继续说:“你知道PLSQL只是个工具,client安原创 2016-08-18 18:04:36 · 1574 阅读 · 0 评论 -
ORACLE 权限,with admin option及小操作
个人把oracle权限理解为三类,系统权限,对象权限,会话权限。 分别对应: dba_sys_privs; dba_tab_privs: session_privs;当然还有role , dba_role_privs; role_sys_privs;区分很好区分,create,execute等 算是系统权限,update 等属于对象权限。++++++++++++++++++++++++++原创 2016-08-25 11:31:37 · 1576 阅读 · 0 评论 -
Oracle 开机自动启动设置
有时候会例行进行防火墙及机器断电应急演练,有些数据库没有设置自动开机启动,带来麻烦。步骤:1:查看ORACLE_HOME是否设置2:执行dbstart 数据库自带启动脚本3:编辑/etc/oratab文件4:编辑/etc/rc.d/rc.local启动文件,添加数据库启动脚本dbstart5:重启主机,查看数据库和监听是自启动6:查看数据库是否处于open状态[oracle@oracle10g转载 2016-10-26 10:31:20 · 4175 阅读 · 0 评论 -
Oracle 软件及静默安装数据库
2.1依赖包检查安装yum –y install binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++-devel sysstat libaio libaio-devel elfutils-libelf-devel unixODBC原创 2016-05-16 13:34:14 · 1078 阅读 · 0 评论 -
Oracle数据库限定特定用户 特定IP 登录
不允许test用户在 192.168.1.3 机器上访问数据库。 两种写法。1CREATE OR REPLACE TRIGGER DOPR AFTER LOGON ON test.schema BEGIN IF ORA_CLIENT_IP_转载 2016-12-12 11:53:17 · 4047 阅读 · 0 评论 -
关于删除trace文件的想法
1.正常就会想到find -mtime +3 -name ‘*.aud' -exec rm -f {};2. 但是在删这些文件(trc,trm ,aud)的时候,首先要确定系统并没有正在使用这些文件,不关这些文件的mtime是超过了,还是没有。所以使用fuser 来经行过滤。3.在11G 里可以使用adrci经行管理;adrci> show homepathADR Homes原创 2013-07-17 15:04:51 · 2695 阅读 · 0 评论