oracle
数据库农民工
本博客的作用仅为本人记录自己的学习过程,如有侵权,烦请告知。
展开
-
ORACLE误删表数据恢复
delete误删除表数据的解决方法。利用oracle提供的闪回方法。1.确定删除数据前的时间。原创 2023-03-31 13:32:32 · 312 阅读 · 0 评论 -
oracle数据库误删表恢复
闪回删除表的限制Oracle 10g开始提供了类似windows系统的回收站功能,用户在删除表的时候会不是直接删除,而是移动到回收站中,如果需要从回收站中取回原来的表,可以使用闪回删除表的特性,迅速的找回被删除的表,而不需要从备份中导入原有的表!但这个回收站功能也是有前提的,不是在任何情况下都可以使用闪回删除表特性,总结下,在10g中,下面几种场景表不能flashback删除,至于11g是否有改进,感兴趣的朋友可以参照本文的方法进行测试下!顺带说下,回收站采取fifo,先进先出的机制!例如在回收站有两张同原创 2022-02-14 09:36:37 · 320 阅读 · 0 评论 -
Oracle体系结构中最核心的八个进程
PMON:其含义是Processes Monitor,是进程监视器。如果你在执行某些更新语句,未提交时进程崩溃了,这时候PMON会自动回滚该操作,无需你人工执行ROLLBACK命令。除此之外还可以干预后台进程,比如RECO异常失败了,此时PMON会重启RECO进程,如果遇到LGWR进程失败这样的严重问题,PMON会做出中止实例这个激烈的动作,用于防止数据错乱。SMON:其含义为System Monitor,理解为系统监视器,与PMON不同的是SMON关注的是系统级的操作而非单个进程,重点工作在于intan原创 2021-04-16 15:43:40 · 622 阅读 · 0 评论 -
oracle的wm_concat函数
我们可以通过wm_concat函数可以实现行转列: select s_info_windcode,rate from OptionEmbeddedBondRate where s_info_windcode = '110031.SH'目前库中的数据是如下图所示:要转换成如下图所示的数据:这时就可以通过wm_concat函数进行转换,具体sql如下:select s_info_windcode,WM_CONCAT(rate) rate from OptionEmbeddedBondRate原创 2021-04-14 08:51:47 · 10692 阅读 · 0 评论 -
oracle的 listagg() WITHIN GROUP () 行转列函数
select s_info_windcode, rateFROM OptionEmbeddedBondRatewhere s_info_windcode ='110031.SH'查询表中股票代码为110031.SH的数据:现在要做的是通过listagg() WITHIN GROUP () 函数,将后面的rate合并为一行:SELECT s_info_windcode, listagg (rate) WITHIN GROUP (ORDER BY rate) as rateFROM Op原创 2021-04-13 10:51:44 · 496 阅读 · 0 评论 -
oracle通过gateway创建多个dblink访问多个sqlserver数据库
此博文操作的基础是已经通过gateway创建了单独的一个dblink去访问sqlserver数据库。具体操作可以打开如下链接查看:https://blog.csdn.net/qq_37823979/article/details/106207903在上面基础上配置创建多个sqlserver数据源的dblink。接下来演示的是多配置两个数据源。首先进入 ORACLE_HOME\dg4msql\admin 文件夹,将dg4msql文件复制出来两份,命名为initdg4msql2....原创 2020-05-28 15:09:38 · 2537 阅读 · 0 评论 -
oracle通过dblink连接sqlserver数据库
oracle想要通过dblink去访问sqlserver数据库,这时候就需要一个oracle软件,透明网关(Transparent Gateway)下面是oracle12c的透明网关下载地址。链接:https://pan.baidu.com/s/1s8xKDI6SapDSbndn8_Greg提取码:epvu如果失效或者打不开链接的话可以私信我或者评论区留言都可以。我试验的环境是sqlserver2008及oracle12c,全部在windows下进行操作。首先:安装geteway...原创 2020-05-19 10:30:08 · 10520 阅读 · 4 评论 -
达梦中创建dblink链接oracle
1、需要配置oracle oci客户端先从oracle官网下载oracle的clientinstantclient-basic-linux.x64-12.2.0.1.0下载过后解压完将会是以下的几类文件然后将带so的几个文件复制到安装达梦数据库的linux系统的 /lib64下,再创建一个软连接:ln -slibclntsh.so.12.1libclntsh.so...原创 2020-05-07 15:24:35 · 4529 阅读 · 0 评论 -
oracle12c数据迁移到DM7
目前我所知有两种方法,第一种是直接通过DM数据迁移工具进行数据迁移,此方法适用场景为达梦数据库所在服务器与oracle所在服务器可以相互通信;第二种是在oracle数据库所在服务器安装达梦数据库,将数据从oracle导入后再从达梦数据库导出成dmp文件后,到要迁移到的达梦数据库进行数据导入。先看第一种:首先打开DM数据迁移工具,在左侧空白处右击点击新建工程,工程名称可以随便填写,我这里填写...原创 2020-05-06 16:25:14 · 2027 阅读 · 2 评论 -
误删除了Oracle的dbf文件解决方法
一、问题描述: 误删除Oracle数据库的dbf文件,在启动和关闭数据库是会提示错误。 startup启动数据库时提示: ORA-01157:无法标识/锁定数据文件 ORA-01110:数据文件:‘....../data_01.dbf' 未找到二、解决方法: 1、sql>alter system set "_ALLOW_...原创 2020-04-17 14:22:39 · 2381 阅读 · 0 评论 -
ORACLE用SYS和SYSTEM默认密码登录提示 ORA-01017:invalid username/password;logond denied
用sys 用户登录pl/sql 提示 ORA-01017: invalid username/password; logon denied 。 于是想着先修改一下sys的密码SQL> alter user sys identified by oracle1;User altered.SQL> conn sys/oracle1 as sysdbaERR...原创 2020-04-17 13:55:46 · 2634 阅读 · 0 评论 -
oracle常用指令(自整理)
Oracle数据库登录 :sqlplus system/123456 as sysdba;sqlplussys/123456@ip地址:1521/orclassysdba切换用户:conn c##dsjjg/123456 as sysdba;创建用户:create user c##dsjjg identified by 123456;修改密码:alter user ...原创 2020-04-17 10:28:11 · 1832 阅读 · 0 评论 -
Linux下修改Oracle字符集为ZHS16GBK
切换oracle用户[root@train ~]# su - oracle Last login: Thu Apr 16 13:35:35 CST 2020 on pts/1登录到oracle[oracle@train ~]$ sqlplus / as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Fri Apr...原创 2020-04-17 10:23:12 · 3435 阅读 · 1 评论 -
centOs图形化界面中安装oracle12c详细教程
1、创建swap分区 使用dd命令创建一个20G的swap分区 dd if=/dev/zero of=/home/swap bs=100M count=200 等待命令执行结束后,格式化分区 mkswap /home/swap 将格式化后的文件分区设置为swap分区 swapon /home/swap 设置挂载...原创 2020-01-08 10:27:36 · 3363 阅读 · 0 评论 -
ORACLE获取指定日期的随机时间函数
CREATE OR REPLACE FUNCTION "DW_EVENTCENTER"."R_TIME"(V_DATE IN VARCHAR2, V_BEGIN IN NUMBER := 0, V_END IN NUMBER := 1) RETURN DATEIS R_DATE DATE ;BEGIN SELECT TO_DATE(V_DATE,'YYYY-MM-DD') +...原创 2019-07-31 16:47:28 · 2673 阅读 · 0 评论 -
ORACLE查询数据库下所有表中所有字段的数据量及为空数据量为空率及最大更新时间最小更新时间
先创建一张表,该表中包含该库下的所有表,以及时间更新字段等。此表的作用是为了遍历表及时间字段,也为了标识表含义等。之后创建另一张表 ,该表中的字段分别为 表名、字段名、字段数据为空量、字段中数据总量、字段为空率及最小更新时间最大更新时间。接下来就是存储过程了。CREATE OR REPLACE PROCEDURE "TABLEFIELD"AS V_...原创 2019-07-31 17:46:54 · 5473 阅读 · 0 评论 -
SQL性能优化
1、使用select时用字段代替*号SELECT * 的时候会增加很多消耗,包括内存、CPU、IO等,也可能会覆盖掉索引。所以最好直接在select后面接字段名。2、SQL语句中的 IN和EXISTS在SQL里面使用IN的时候,后面的数值等最好不要太多,不然的话会产生的消耗比较大,而IN和EXISTS在大多数时候都是可以相互替代使用的。select * from A ...原创 2019-08-08 14:27:53 · 1831 阅读 · 0 评论 -
ORACLE创建定时任务及定时任务不执行的原因
1、首先创建一张表 该表用来执行插入数据。create table getSysDate(test date);2、创建存储过程以插入数据。create or replace procedure insertSysDate asbegininsert into getSysDate values (sysdate);end ;3、创建job设置定时declarejo...原创 2019-07-09 16:52:50 · 5794 阅读 · 0 评论