ORACLE
小砖工
1.01 ** 365
0.99 ** 365
1.02 ** 365
0.98 ** 365
展开
-
SQL面试题之——用户连续登陆天数和最大登陆天数
解题思路利用等差数列的特性,先对用户登陆日期进行row number 排序,得到一个等差序列;使用登陆日期减去等差序列,如果是连续的登陆日期,得到的值是一样的;最后分组汇总,得到结果数据准备:.........原创 2022-06-17 09:44:12 · 1574 阅读 · 1 评论 -
Oracle、Hive 统计三个月,六个月,九个月,十二个月的平局值
下面为统计截止2020-06-30,近三个月,六个月,十二个月的平均值直接上代码select * from (select a.cust_id, '2020-06-30' as dt1, a.dt, avg(val)over(partition by cust_id order by dt desc) thr_mon_avg, row_number()over(partition by cust_id order by dt desc) sequ原创 2021-02-22 15:38:38 · 1368 阅读 · 0 评论 -
Oracle中shrink space命令详解,释放临时表空间
从10g开始,oracle开始提供Shrink的命令,假如我们的表空间中支持自动段空间管理(ASSM),就可以使用这个特性缩小段,即降低HWM。这里需要强调一点,10g的这个新特性,仅对ASSM表空间有效,否则会报 ORA-10635: Invalid segment or tablespace type。1 创建实验环境1.1 创建ASSM的表空间SQL> set serveroutput onSQL> create tablespace ASSM datafile '/ora转载 2020-06-09 14:11:13 · 2921 阅读 · 0 评论 -
实验: Oracle中表shrink与move后index的状态
1 move时实验SQL> create table my_objects_move tablespace ASSM as select * from all_objects where rownum < 20000;Table createdSQL> create index i_my_objects_move on my_objects_move (object_id);Index createdSQL> delete from my_objects_m.转载 2020-06-09 14:08:38 · 429 阅读 · 0 评论 -
实验: Oracle中表shrink与move产生redo日志比较
1 move时实验SQL> create table my_objects_move tablespace ASSM as select * from all_objects where rownum < 20000;Table createdSQL> select value 2 from v$mystat, v$statname 3 where v$mystat.statistic# = v$statname.statistic# 4...转载 2020-06-09 14:06:08 · 267 阅读 · 0 评论 -
Oracle中TX锁(行锁)监控,抓TX锁的源头
转载:https://blog.csdn.net/robinson1988/article/details/106204387各位DBA,看到这篇文章是不是很开心,解决了你一个大麻烦,赶紧把它部署到实时监控程序吧(咳咳,转载,抄袭不注明文章出处的人可耻哈)session 1: update emp_bak set ename='沙雕' where empno=7369;session 2: update emp_bak set ename='大长腿' where empno=7369;s转载 2020-05-20 16:26:20 · 412 阅读 · 1 评论 -
利用Python监控Oracle当前跑的TOP SESSION
利用linux top命令抓出Oracle当前正在跑的进程,记录进程消耗的%CPU,%MEM,RES根据PID查询当前跑的SQL,以及当前等待事件,监控程序每3秒执行一次import cx_Oracleimport osimport timeos.environ['NLS_LANG']='SIMPLIFIED CHINESE_CHINA.UTF8'command="top -bi -n 1 | grep oracle | grep -v top | grep -v _orcl | a.转载 2020-05-20 16:23:20 · 135 阅读 · 0 评论 -
Oracle 按照指定分割符拆分一行数据为多行
Oracle 按照指定分割符拆分一行数据为多行需求:将一行数据 'ADAMS,FORD,JONES,SCOTT,SMITH'; 拆分为一行一个名字的形式测试代码:regexp_substr(s.total_ename, '[^,]+',1,level)connect by level <= length(regexp_replace(s.total_ename,'[^,]+',''))+1原创 2020-05-14 09:25:19 · 8002 阅读 · 0 评论 -
Oracle 正则表达式 REGEXP_LIKE
测试数据:create or replace view v as select '123' as data from dual union all select 'abc' from dual union all select '123abc' from dual union all select 'abc123' from dual union all select '1a2b3c' from dual union all select '1a2b3c#' from dual unio.原创 2020-05-11 18:03:49 · 5207 阅读 · 0 评论 -
Oracle 字符串拆分,遍历拆分,删除字符串中不需要的字符串
拆分字符串,递归查询:CONNECT BY正则表达式regexp_replace;create or replace view v as select '天天向上' as 汉字, 'TTXS' as 拼音 from dual原创 2020-05-10 19:52:41 · 1057 阅读 · 0 评论 -
Oracle update 语法浅析
只更新emp1 表中部门10与20的数据,其他部门保持 noname不变create table emp1 as select * from emp;alter table EMP1 add dname varchar2(20) default 'noname';select * from emp1; update emp1 set dname = (select dept.dname from dept where dept..原创 2020-05-10 18:23:38 · 1448 阅读 · 0 评论 -
Oracle insert多表插入语句
Oracle 多表插入代码如下:CREATE TABLE EMP1 AS SELECT EMPNO, ENAME, JOB FROM EMP WHERE 1=2;CREATE TABLE EMP2 AS SELECT EMPNO, ENAME, DEPTNO FROM EMP WHERE 1=2;--没有条件insertINSERT ALLINTO EMP1(EMPNO, ENAME, JOB) VALUES (EMPNO, ENAME, JOB) --可以指定EMP1部分字段插入原创 2020-05-10 17:21:57 · 1192 阅读 · 0 评论 -
ORACLE 单列多个索引和组合索引的区别详解
背景:为了提高数据库效率,建索引是家常便饭;那么...转载 2020-04-24 16:50:01 · 9861 阅读 · 7 评论 -
ORACLE临时表类型总结
潇湘隐者ORACLE临时表总结2013-08-27 20:23 by 潇湘隐者临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别。它只能存储在临时表空间,而非用户的表空间。ORA...转载 2020-04-15 09:20:53 · 1654 阅读 · 0 评论 -
Oracle监听器的作用及原理
以前连接远程数据库以为客户端和服务器端都要配置Oracle监听器,现在研究了一下Oracle监听器,才了解不是这样的。一、Oracle监听器(LISTENER)Oracle监听器是做什么的呢?它设置在服务端,是基于服务端的一种网络服务,用于监听客户端向数据库端发出的连接请求。判断一下连接请求是否正确,请求有效就连接,失败就拒绝。所以你要连接远程数据库,那么远程数据库就要配置监听器,客户端...转载 2020-04-08 17:12:16 · 2124 阅读 · 0 评论 -
Oracle 分区表中本地索引(local)与全局索引(global)的适用场景
【背景】分区表创建好了之后,如果需要最大化分区表的性能就需要结合索引的使用,分区表有两种索引:本地索引和全局索引。既然存在着两种的索引类型,相信存在即合理。既然存在就会有存在的原因,也就是在特定的场景中就更能发挥出索引的性能的;本文档通过测试,总结出两种索引的适合的场景;...原创 2020-04-07 17:38:43 · 7812 阅读 · 1 评论 -
Oracle 本地索引(local)与全局索引(global)的区别
内容整理来自网络分区索引分为本地索引(local index)和全局索引(global index)。对于local索引,每一个表分区对应一个索引分区,当表的分区发生变化时,索引的维护由Oracle自动进行。对于global索引,可以选择是否分区,而且索引的分区可以不和表分区相对应。当对分进行维护操作时,通常会导致全局索引的INVALID,必须在执行完操作后REBULID。其中本地索引分...原创 2020-04-07 17:36:48 · 10095 阅读 · 1 评论 -
Oracle 索引类型介绍
逻辑上:Single column 单行索引Concatenated 多行索引Unique 唯一索引NonUnique 非唯一索引Function-based函数索引Domain 域索引 物理上:Partitioned 分区索引NonPartitioned 非分区索引B-tree:Normal 正常型B树Rever Key 反转型B树 Bitmap 位图索引 索引...原创 2020-04-02 16:58:24 · 135 阅读 · 0 评论 -
Oracle sqlplus 设置不显示除查询结果以外的信息
如何设置oracle 的 sqlplus 命令执行结果不显示除结果以外的信息需求:打印含有表名信息的插入语句,首先使用SQL拼接出来需要的语句,且拼接的SQL中还要有表名称;为了方便以后使用,我决定使用 shell 脚本;使用 shell 脚本执行 sqlplus,将指定要导出的表名作为变量值输入,先用shell 生成Oracle要执行的SQL,再用sqlplus执行SQL,并将...原创 2020-04-01 22:53:29 · 1615 阅读 · 0 评论 -
Linux 环境下Redhat 7.0 版本安装 Oracle 12c 详细步骤
操作系统软硬件检查1. 内存要求1) 最小值为1 GB 内存,建议值为2 GB of RAM 或者更多[root@localhost media]# grep MemTotal /proc/meminfoMemTotal: 5933428 kB2.Swap 空间要求[root@getoraclelnx01 tmp]# grep SwapTotal /proc...原创 2020-03-29 22:08:51 · 1673 阅读 · 0 评论 -
vmware Workstation下安装redhat7.0 Linux+Oracle12c 配置本地yum源 /没有已启用的源。21; 拒绝连接;正在尝试其它镜像。
在安装Oracle 12c时,使用yum安装依赖包时提示: 没有已启用的源。这是因为没有配置本地yum源[root@localhost /]# yum install -y binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libst...原创 2020-03-29 13:15:52 · 2909 阅读 · 0 评论 -
-bash: ulimit: open files: 无法修改 limit 值: 不允许的操作bash: ulimit: open files: cannot modify limit: 不允许的操作
[oracle@localhost ~]$ source ~/.bash_profile-bash: ulimit: open files: 无法修改 limit 值: 不允许的操作这是因为:linux对用户有默认的ulimit限制,/etc/sysconfig/limits.conf 文件可以配置用户的硬配置和软配置,硬配置是个上限。当超出上限的修改就会出“不允许的操作”这样的错误。...原创 2020-03-29 13:06:23 · 27246 阅读 · 6 评论 -
Oracle sqlplus命令登录的几种方式的区别比较
执行 sqlplus -H 即可打印以下内容,去除了部分无关内容用法 2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ] <option> 为: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S] ...原创 2020-03-03 20:21:59 · 808 阅读 · 0 评论 -
Oracle 数据库服务重启步骤
Linux 环境下搭建的Oracle 数据库,有时会因为数据文件空间不够,需要增加硬盘进行扩容,这时就要关闭数据库,关闭机器,增加硬盘,打开机器,划分,挂载,打开数据库,开启各个服务等。今天我们只介绍一下有关Oracle 数据库启停的相关操作。首先以 oracle 用户登录关闭服务停止 Oracle 监听服务$ lsnrctl stop停止 Oracle 服务$ sql...原创 2020-03-03 19:36:34 · 8088 阅读 · 0 评论 -
Oracle 同义词(synonyms)的作用及创建
什么是同义词Oracle 数据库中提供了同义词管理的功能,同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle 数据库将它翻译成对应方案对象的名字。这与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根...原创 2020-03-03 12:10:32 · 1338 阅读 · 0 评论 -
Oracle 如何使用正则表达式判断字符串是否只包含数字
使用正则表达式判断字符串是否只包含数字代码如下:with temp_tab as (select 'Pg12138' no from dual union all select '12138aa' no from dual union all select '12138' no from dual)select * from temp_ta...原创 2020-03-03 10:45:48 · 2920 阅读 · 0 评论 -
Oracle 使用translate 如何去除中文,单行函数 translate 的用法
单行函数 --> Translate举例,代码如下:select translate('成龙ABC9TC', 'AC', '12') test from dual;结果如下:剔除所有的数字代码如下select translate('成龙B12A2BC9T4C', 'a1234567890', 'a') from dual;这里的 “a” 必须...原创 2020-03-03 10:32:12 · 2299 阅读 · 0 评论 -
Oracle sys 用户登录报错 : ORA-09925 Unable to create audit trail file Linux-x86_64 Error: 28: No space...
Oracle 数据库 sys 用户无法登录,报错 ORA-09925: Unable to create audit trail fileLinux-x86_64 Error: 28: No space left on device Additional information: 9925ORA-01075: you are currently logged onlsblk 查看磁盘的剩余空间信息lvextend 对 /oracle 文件的分区进行扩容resize2fs/xfs_growfs..原创 2020-01-13 22:52:56 · 2859 阅读 · 0 评论 -
安装Oracle 配置/etc/hosts 的作用,hostname 主机名的作用
① /etc下的 hosts 文件是 主机名和IP地址的配置文件LINUX下,hosts 文件是记录自己本机和其他机器的主机名及IP地址信息,不同的Linux 版本,hosts的文件名可能不一样(具体其他版本的我也不清楚,请自行百度)②配置文件作用在Linux 系统中,hosts文件是记录本机和其他机器的主机名和IP地址的文件,在局域网、Internet中,每台机器都有一个自己的IP...原创 2019-04-28 11:09:37 · 6042 阅读 · 0 评论