oracle
wang王le乐ping平博客
这个作者很懒,什么都没留下…
展开
-
plsql执行kill报错ora-00031 标记要终止的会话
plsql执行kill报错ora-00031 标记要终止的会话原创 2023-02-24 15:22:19 · 1591 阅读 · 1 评论 -
数据泵IMPDP导入时 报错 ,ora- 31655
数据泵IMPDP导入时 报错 ,ora- 31655原创 2023-02-14 13:14:28 · 574 阅读 · 0 评论 -
PL/SQL 查询select报错:A query with LOB‘s requires OCI8 mode, but OCI7 mode is used
使用pl/sql 利用select 查询时报错:A query with LOB's requires OCI8 mode ,but OCI7 mode is used原创 2023-02-08 11:21:42 · 1406 阅读 · 1 评论 -
oracle 如何将 中文的日期‘01-1月 -11‘ 转成date型
也是to_date ,后面接'DD-MON-YY' 即可:select to_date('01-1月 -11', 'DD-MON-YY') from 表;只是有一个问题,就是1999年的,竟然获取到的是2099,需要做下处理:换成: TO_DATE('19'||SUBSTR(to_char(to_date('01-1月 -99', 'DD-MON-YY'),'YYYYMMDD'), 3),'YYYY/MM/DD')...原创 2022-03-03 16:30:43 · 1991 阅读 · 0 评论 -
oracle_误将表删除DROP,或删除表中数据DELETE还原
1.DROP删除表找回--查询回收站SELECT * FROM RECYCLEBIN;--回收站里存在被删除表,恢复表(h表)flashback table h to before drop ;--查询表SELECT * FROM h;--如果想彻底删除,执行脚本:DROP TABLE H PURGE; 附:清除回收站里的信息:清除指定表:purge tabl...原创 2018-01-30 14:24:52 · 2269 阅读 · 2 评论 -
oracle关联字段为主键,怎么提示单行子查询返回多个行
我查询过,关联字段没有重复的值,并且更新的字段也是一一对应的,那为什么会提示单行子查询返回多个行?原因如下:没有指定关联字段来自哪个表:报错脚本如下:update am_cs set datum_id=(select distinct da_new from datum_temp where pa_id=pa_id ) where exists(select 1 from datum_temp where pa_id=pa_id );条件pa_id=pa_id 这两个pa_id 没有指...原创 2021-07-14 11:10:19 · 644 阅读 · 0 评论 -
只做了delete操作,为啥 ORACLE-01466表定义已更改
create table 新建了一个表之后,想测试删掉的数据能不能找回,就DELETE 掉了数据,然后:-- 按特定时间点恢复,例如:误操作 delete from retable_name ;commit;select timestamp_to_scn(to_timestamp('2021-07-01 09:37:00','yyyy-mm-dd hh24:mi:ss')) from dual;-- 下面这一步执行的时候报错:ORACLE-01466表定义已更改select * from..原创 2021-07-01 10:14:49 · 1329 阅读 · 0 评论 -
Oracle中的字段名带“.“的,如何查询?
今天分析某个库,好唯一确定某条数据,然后有个字段带有 . 的 ,直接把字段写出来加条件会报错:需要加上双引号并且加上表别名查询:select * from 表 a where a.“SHAPE”.“NUMPTS”=某条件 才可。注意 :1、 a. 这个表别名不能省略2、 字段的大小写有区别,如果字段是大写,你双引号里面是小写,也会报错...原创 2021-03-17 09:33:37 · 686 阅读 · 0 评论 -
数据泵导入IMPDP报错:ORA-39083:对象类型创建失败;ORA-22809:不存在的属性
今天想还原一个库,还原的时候突然报错:ORA-39083:对象类型创建失败;ORA-22809:不存在的属性以前没遇到过这类问题,百度上也没有搜到这类问题的相关解决办法,所以只能自己大致判断问题产生的原因。报错溯源:我是在现有实例下,把现有同名用户(TEST)删除之后,新建了这个用户(TEST), 然后再通过数据泵方法将这个数据库导进TEST中,然后产生了报错信息。所以可能是这个实例或者是这个用户以前动过哪里,导致的报错。解决办法:重新建了一个实例,然后新建用户(TEST),最后成功导入原创 2021-03-16 15:44:46 · 3813 阅读 · 0 评论 -
exp/imp 导表时报错:ORA-12154: TNS: 无法解析指定的连接标识符
今天在服务器上想导出来一个表 但是报错ORA-12154。导出脚本如下:exp 用户/密码@orcl file=D:\20170704\tab.dmp log=D:\tab.log tables=shiyq报错原因分析:原因1:path环境变量中服务端安装路径放在了客户端后边,把顺序换一下。原因2:‘导出可执行文件’ 选择错误,与path表中客户端的路径不一致。通过 工具->导出表 ,进入导表界面查看可执行文件,并与path环境变量中 oracle客户端的路径比对,看看是不是选原创 2021-01-29 10:43:12 · 1134 阅读 · 0 评论 -
linux备份数据库有多个dmp.gz,如何通过数据泵方式还原到oracle中
原数据是通过linux备份出来的,因为特别大,就分了4个dmp.gz。备份日志也没有,好在知道原用户和原表空间 。先把四个gz 都解压了,然后通过数据泵还原步骤:create directory hh as ‘E:\库’;grant read,write on directory hh to public;然后下面才是重点impdp 新建用户/密码@实例 dumpfile=20210104_expdp_26s_01.dmp,20210104_expdp_26s_02.dmp,20210104原创 2021-01-07 09:39:49 · 542 阅读 · 0 评论 -
数据泵impdp 导入数据报错:1982 2009,oracle and/or its affiliates . all rights reserved
如果报错1982 2009,oracle and/or its affiliates . all rights reserved。可能原因如下:执行> impdp test/test@oracl … 时1、impdp 前面有空格 ?2、导入语句里面有中文符号?3、语句最后面加个一个分号?原创 2020-11-06 10:25:32 · 5160 阅读 · 0 评论 -
plsql以前能正常连ORACLE数据库,但突然断电重启后就报错ORA-12514,不是listener.ora配置文件的问题
昨天通过plsql能正常连接oracle数据库,但电脑突然关机之后,再连接就报错:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务。1、首先排除了服务是否启动的问题,因为实例和监听都已启动。2、然后百度上都说是listener.ora配置文件的问题,但是想想应该不是,因为以前都可以用的。3、然后去看看能不能通过cmd连接oracle数据库,在cmd中输入: sqlplus sys/这里输入密码 as sysdba如果报错:ORA-12560: TNS: 协议适配器错误.原创 2020-11-04 13:12:12 · 1176 阅读 · 0 评论 -
oracle的ora文件, 怎么还原?
1、重装系统后,如何恢复Oracle的.ORA文件?(我还没试,记录一下)转载:https://blog.csdn.net/zhanggnol/article/details/90417452、冷备份 oracle的 .ora文件 ,怎么还原到另外一台电脑上?(我还没试,记录一下)转载:https://blog.csdn.net/black_bad1993/article/details/53844705?ops_request_misc=%257B%2522request%255Fid%2522转载 2020-10-16 09:27:25 · 655 阅读 · 0 评论 -
如何将mysql数据库迁移到oracle数据库中(使用navicat premium)
需要将本机的mysql数据导入到本机的oracle数据库中准备:1、navicat premium2、mysql3、oracle步骤:1、首先在oracle中建立一个空用户,然后在navicat中建立该用户的一个连接(本地ORACLE新建的用户为KCDA,实例是ORCL)2、在navicat中建立mysql的连接,找到需要迁移的数据库(本地是school)右击,选择‘数据传输’3、在常规界面选择目标oracle的连接,以及oracle用户,在高级界面可以选择遇到错误继续,默认这里是不勾原创 2020-09-21 11:24:55 · 2635 阅读 · 0 评论 -
安装好oracle数据库后,登录解除大小写限制
注:PLSQL登录sys用户执行修改就行--解除大小写限制ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON=FALSE;--解除口令过期限制ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;原创 2018-01-30 14:37:13 · 779 阅读 · 0 评论 -
oracle 用INTERSECT 提示字符集不匹配
我有两个表,想求一下交集,使用了INTERSECT ,但是提示字符集不匹配。两个表字段和字段类型如下:KHLQBH表:字段 类型ZD VARCHAR2ZDLX NVARCHAR2ZDSXH NUMBERBSM INTEGERLD_KH表:字段 类型ZD NVARCHAR2ZDLX NVARCHAR2ZDSXH INTEGERBSM INTEGER原创 2020-08-12 11:21:16 · 200 阅读 · 0 评论 -
oracle 优化方法总结
分析和优化的基本步骤如下:1、如果是SQL语句的写法问题,我们可以通过在不更改业务逻辑的情况下改写SQL来加以解决;2、如果是不必要的全表扫描/排序而导致了目标SQL的性能问题,我们可以通过建立合适的索引(包括函数索引、位图索引等)来加以解决;3、如果是表或者索引的不良设计导致的目标SQL的性能问题,我们可以通过重新设计表/索引,重新组织表里的数据来加以解决;4、如果上述调整措施都失效,我们可以考虑用并行来缩短目标SQL的执行时间;5、如果上述调整措施、包括并行都失效,我们还可以在联系实际业务转载 2020-07-10 14:00:35 · 319 阅读 · 0 评论 -
oracle使用wm_concat() 获取行之后,打开报错,CLOB类型,以及替代方案
获取两个表的公共字段,使用了wm_concat() 函数,但是打开行的时候报错,因为是clob的类型。解决方法:1、 使用to_char函数,转成字符类型:select to_char(wm_concat(COLUMN_NAME)) from all_tab_columns a where a.TABLE_NAME=‘表名1’ and a.OWNER=‘本地用户1’AND exists(select 1 from all_tab_columns@dj b where b.TABLE_NAME=‘表原创 2020-06-09 15:54:46 · 1715 阅读 · 0 评论 -
oracle 存储过程将表名和字段名变为大写(报错ORA-20000)
1、表名大写:基础查询脚本: SELECT ‘ALTER TABLE "’||TABLE_NAME||’" rename to '||UPPER(TABLE_NAME) FROM USER_TABLES;过程:—修改表名DECLARESQLR_ALTER VARCHAR2(200);BEGINFOR C IN(SELECT ‘ALTER TABLE "’ || TABLE...原创 2020-04-26 11:22:38 · 709 阅读 · 0 评论 -
oracle命令窗口调用存储过程,提示成功,但没有输出结果
如图,写了一个输出hello的存储过程,执行成功了,但是没有结果输出。然后执行了一下:set serveroutput on;就可以输出结果了:解释一下set serveroutput on; 作用是打开oracle自带的输出方法dbms_output。...原创 2019-07-15 09:27:20 · 7605 阅读 · 3 评论 -
通过access连接oracle,并导出mdb
步骤如下:1.右击'电脑',点击'属性',进入'控制面板'2.小图标的方式找到'管理工具',点击进入3.点击 ODBC数据源,选择‘用户DSN’,点击‘添加’,因为我是本地库,所以选择了OraDb11g_hom1,双击4.数据源名称自己取个, TNS Service为实例名,User ID是用户名,填好之后点击 'OK'...原创 2019-06-20 17:46:34 · 3597 阅读 · 0 评论 -
oracle插入语句 报错 格式代码出现两次
问题出现的原因是月份表示与分表示都是 MM,oracle不知道要从哪个占位区间去解析该字段所以将分表示的MM改成了MI ,但是还报错:然后在小时表示的HH后面加了 24才没有问题...原创 2019-03-07 10:47:39 · 328 阅读 · 0 评论 -
mdb或者access获取系统时间,sysdate不行
今天通过插入语句向mdb文件中插入系统时间使用的是sysdate但是插入不进去现在分享一下获取系统时间:需要用到一个format函数 format(now(),'yyyy/mm/dd hh:nn:ss')获取年月日时分秒format(now(),'yyyy/mm/dd')获取年月日插入的语句为: insert into jylq_log(id,CR...原创 2019-03-06 15:57:21 · 901 阅读 · 0 评论 -
数据泵还原数据,提示:参数值无效 ,转储文件说明错误,转储文件 “xxx.dmp” 可能是原始的导出转储文件
今天用数据泵还原数据报错:impdp.exe DAGX/DAGX@TAI dumpfile=DAGX.DMP logfile=DAGX_2.log directory=DW schemas=DAGX原因是导出的时候是用exp方法导出的,而我用的方法是impdp。无法识别exp命令导出的文件所以用了imp方法还原数据成功imp yhbdc/yhbdc@yhbdc file=...原创 2019-03-08 17:10:21 · 8311 阅读 · 0 评论 -
Oracle安装客户端和服务端时,提示环境不满足最低要求
解决办法: 打开client/database文件夹,打开stage文件夹,然后打开cvu文件夹,找到cvu_prereq.xml文件,用记事本打开,添加下面内容; 添加内容: <OPERATING_SYSTEM RELEASE="6.2"> <VERSION VALUE="3"/> ...原创 2019-01-03 16:57:56 · 4455 阅读 · 0 评论