Oracle
roamer314
这个作者很懒,什么都没留下…
展开
-
快速查询分区表各个分区的记录数
select t.table_name,t.partition_name,t.num_rows,t.last_analyzed from dba_tab_partitions t where t.table_name = 'table name';--做一次表分析exec dbms_stats.gather_table_stats(ownname=>'PINTEST',tabname=>'BILL原创 2017-10-31 19:44:38 · 7177 阅读 · 1 评论 -
SQL多表连接查询
一、外连接 外连接可分为本文主要列举两张和三张表来讲述多表连接查询。新建两张表:表1:student 截图如下:表2:course 截图如下:(此时这样建表只是为了演示连接SQL语句,当然实际开发中我们不会这样建表,实际开发中这两个表会有自己不同的主键。)一、外连接外连接可分为:左连接、右连接、完全外连接。1、左连接 left join转载 2016-05-08 09:55:28 · 343 阅读 · 0 评论 -
Oracle trunc()函数的用法
1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。 其具体的语法格式如下: TRUNC(date[,fmt]) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 下面是该函数的使用情况: TRUNC(TO_DATE('24-Nov-1999 08:00 pm'),'dd-mon-yyyy hh:mi转载 2016-03-23 08:50:27 · 367 阅读 · 0 评论 -
IMP数据到指定的表空间
一直以来,我都认为只要指定用户的默认表空间,向该用户导入数据时,会自动进入到默认表空间。后来发现从System导出的dmp文件在导入时,即使指定新用户的默认表空间,还是要往System表空间中导数据。 上网搜了一下,还是有解决方法的,常见的方法如下:方法一SQL> create user myhuang identified by myhuang default tablespace myhuan转载 2016-03-21 20:54:21 · 5538 阅读 · 0 评论 -
JDBC PreparedStatement 与Statement 的区别
1 有安全性 PreparedStatement 可以由于不是使用拼接,防止了sql注入,提高了安全性。2 更方便 PreparedStatement 可以自动对类型进行转换,代码可读性,可维护性提高。 3 批处理 PreparedStatement 有预编译功能,大批量的处理sql效率更高。(MySQL 不明显,Oracle原创 2016-02-23 12:43:41 · 327 阅读 · 0 评论 -
Oracle_字符集问题(数据库与客户端字符集关联关系)
//时间:2013-07-07//作者:shm//描述:本文主要记录了Oracle数据库的字符集问题,也涉及作为服务器操作系统的CentOS或者Windows的字符集与Oracle字符集之间的关联关系。 Oracle的字符集,这个问题的提出是因为两个原因:一是工作中遇到一个DMP文件需要恢复到数据库中去,而这个DMP文件的字符集是US7ASCII,转载 2016-02-23 12:42:43 · 2701 阅读 · 0 评论 -
Oracle12c64位下使用PL/SQLDeveloper的解决办法
1)安装Oracle 12c 64位2)安装32位的Oracle客户端( instantclient-basic-nt-12.1.0.1.0.zip)下载 instantclient-basic-win32-11.2.0.1.0.zip ,必须是win32版本,Oracle官网有下载,将其解压至Oracle安装目录的Product下:D:\oracle\product\instan原创 2016-02-23 12:38:59 · 3080 阅读 · 0 评论 -
使用sqlldr导入GPS数据含有clob字段和双引号
load datacharacterset AL32UTF8 INFILE 'E:\HIS_TAXI_TRACK_HIS_TAXI_20150507.txt' appendinto table taxi_gps_20150507fields terminated by ','(ID TERMINATED BY "," OPTIONALLY ENCLOSED BY '"',原创 2016-02-21 20:21:59 · 2280 阅读 · 0 评论 -
ORA-01659:无法分配超出 4 的 MINEXTENTS (在表空间XXX中) .
产生该问题的原因是对应的表空间空间大小不够导致。 解决方案就是将表空间扩大,可以采用如下方式: 给sde表空间再添加数据文件ALTER TABLESPACE SDE ADD DATAFILE 'E:\dbfile\sde1.dbf' SIZE 1024M; 扩充sde表空间原有数据文件的大小ALTER DATABASE DATAFILE 'E:\dbfile\sde.dbf' RESIZE 102原创 2016-03-16 09:25:06 · 8648 阅读 · 0 评论 -
UDI-01017: 操作产生了ORACLE 错误 01017
问题说明UDI-01017: 操作产生了ORACLE 错误 01017 ORA-01017: invalid username/password; logon denied 用户名: 解决忘了加数据库实例名原创 2016-03-16 08:40:00 · 13193 阅读 · 0 评论 -
Oracle如何实现多个字段去重
我们通常使用distinct关键字来去除重复记录,还有没有其他办法呢?通过查找资料,确认group by也可以,利用rowid也可以实现功能。其中,group by是用来分组统计的,能用distinct的地方就不要用group by。下面我们看一下几种方法具体如何实现,至于选用哪一种,主要还是看需求,实现功能是最主要的。 首先我们创建测试表hoegh,插入3条记录。我们可以看到,就前两个字段转载 2016-05-08 20:18:29 · 3850 阅读 · 0 评论 -
修改字段名、添加删除字段、改变字段数据类型
改变字段名字:alter table tablename rename column oldname to newname;添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….);删除字段的语法:alter table tablename drop (column)原创 2016-09-21 11:54:51 · 771 阅读 · 0 评论 -
python连接oracle数据库
import cx_Oracleimport pandas as pd#引用模块cx_Oracle'''conn=cx_Oracle.connect('XXX/[email protected]:1521/orcl') #连接数据库c=conn.cursor() #获取cursorx=c.exe...原创 2016-10-13 01:25:36 · 1412 阅读 · 0 评论 -
imp 只导入数据解决ora-00959表空间不存在问题
首先在dmp中找到建表语句,创建表成功后,执行以下语句,只将数据导入默认表空间。imp user/pass@database file=filename.dmp,tables=t_tablename,ignore=y原创 2017-05-16 15:48:32 · 4473 阅读 · 2 评论 -
oracle分批删除
CREATE OR REPLACE procedure delBigTab --分批提交删除(p_TableName in varchar2, --表名 p_Condition in varchar2, --条件 p_Count in varchar2 --每批提交的条数 ) as pragma autonomous_transaction; n_delete numbe原创 2017-04-25 10:22:30 · 1339 阅读 · 0 评论 -
oracle按字符串长度分情况左补齐0
左补齐day_time字段,凑成6位数字update TAXI_CASH_201608 set day_time=CONCAT(SUBSTR('00000' , LENGTH(day_time)) , day_time)原创 2017-04-25 09:48:09 · 2235 阅读 · 0 评论 -
plsql中文乱码,显示问号
新建环境变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK,确定即可原创 2017-05-04 09:54:37 · 414 阅读 · 0 评论 -
增加表空间大小及imp、impdp、sqlldr导入命令
imp导入imp mydata/XXX@orcl file=F:\.dmp full=y ignore=y buffer=100000000 创建表空间create tablespace mydata datafile 'F:/app/oracle_tXXXXXXablespaces/TAXI_GPS_TBSPACE.dbf' size 1500M autoextend on next 5m原创 2016-03-16 09:04:58 · 1804 阅读 · 0 评论 -
oracle表空间使用率查询
SELECT a.tablespace_name 表空间名, total 表空间大小, free 表空间剩余大小, (total - free) 表空间使用大小, ROUND((total - free) / total, 4) * 100 使用率 FROM (SELECT tablespace_name, ROUND(SUM(原创 2016-02-21 20:14:10 · 585 阅读 · 0 评论 -
收缩表空间大小
SELECT A .file#, A . NAME, A .bytes / 1024 / 1024 CurrentMB, CEIL (HWM * A .block_size) / 1024 / 1024 ResizeTo, (A .bytes - HWM * A .block_size) / 1024 / 1024 ReleaseMB, 'alter database datafile原创 2017-04-05 17:18:42 · 1423 阅读 · 0 评论 -
解决Anaconda 无法安装cx_Oracle的问题
注意:oci、cx_oracle、anaconda版本的位数应该统一,可以都用64位的1、下载cx_oracle的whl文件cx_Oracle‑5.3+oci12c‑cp36‑cp36m‑win32.whlhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_oracle使用 pip install whl文件路径安装2、下载...原创 2017-04-13 20:19:32 · 3627 阅读 · 2 评论 -
ORACLE分区表删除分区数据
--全删除ALTER TABLE tableName DROP PARTITION partionName;--清数据ALTER TABLE tableName TRUNCATE PARTITION partionName;转载 2016-09-28 14:58:41 · 9757 阅读 · 0 评论 -
ORA-39143: 转储文件可能是原始的导出转储文件
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2016-03-16 08:26:57 · 55556 阅读 · 0 评论 -
IMP-00032:SQL 语句超过缓冲区长度的问题解决
IMP-00032: SQL 语句超过缓冲区长度 IMP-00008: 导出文件中出现无法识别的语句 环境为9.2.0.8,导出过程正常没有报错,解决办法:imp 命令行参数加入 buffer=819200 (缺省貌似4k)问题即得到解决顺手把其他参数也记录一下:buffer 仅仅对常规路径导出有效,对直接路径导出没有效 。INDEXES=N 不创建索引,以加快速度原创 2016-03-16 08:24:01 · 17468 阅读 · 0 评论 -
ORACLE函数
ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 y原创 2015-10-05 19:02:55 · 340 阅读 · 0 评论 -
oracle函数
/*四舍五入round(n[,m])缺省m:0m>0:小数点后m位m<0:小数点前m位*/select round(23.4),round(23.45,1),round(23.45,-1) from dual;/*取整ceil 取最大 上限floor 取最小 下限*/select ceil(23.45),floor(23.45) from dualselect abs原创 2015-08-19 20:50:29 · 360 阅读 · 0 评论 -
例外
Oracle 例外学习练习--no_data_found declare pename emp.ename%type; begin select ename into pename from emp where empno = 1234; exception when no_data_found then dbms_output.put_line('没有找到该员工原创 2015-07-21 08:01:57 · 458 阅读 · 0 评论 -
光标
光标使用练习原创 2015-07-20 15:22:15 · 505 阅读 · 0 评论 -
pl/sql developer 连接oracle 11g数据库错误代码ora12557解决办法
说明:ora12557报错的原因自己感觉是重装oracle之前没有把原先的oracle卸载干净,navicat 可以连接 oracle,但是pl/sql developer 始终报错ora12557。解决办法:1.在系统环境变量中新建Oracle_Home变量,值为G:\app\Oracle\product\11.2.0\dbhome_1,之后一定要重启!原创 2015-07-16 15:57:30 · 25754 阅读 · 0 评论 -
pl/sql综合
--每年入职人数declare cursor cemp is select to_char(hiredate, 'yyyy') from emp; phiredate varchar2(4); count80 number := 0; count81 number := 0; count82 number := 0; count87 number原创 2015-08-24 10:45:45 · 433 阅读 · 0 评论 -
oralce高级查询
select avg(sal),sum(sal) from emp select max(sal),min(sal) from empselect count(*) from empselect count(deptno) from empselect count (distinct deptno) from emp--distinct 去重--wm_concat 行转列select原创 2015-08-14 06:18:28 · 353 阅读 · 0 评论 -
navicat oracle配置及ORA-28457解决办法
用oracle文件目录ORACLE\product\11.2.0\dbhome_1\BIN下的oci.dll替换了navicat文件目录Navicat Premium\instantclient_10_2下的oci.dll,之后很顺畅地就连上了。原创 2015-08-24 10:43:05 · 2778 阅读 · 0 评论 -
scott用户添加debug权限
命令行登录sqlplus / as sysdbagrant DEBUG CONNECT SESSION, DEBUG ANY PROCEDURE to scott;ora-01031:insufficient privileges解决方法:检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没原创 2015-08-24 18:08:54 · 502 阅读 · 0 评论 -
pl/sql
--使用select into 为变量赋值declare avg_sal number(8,2);begin dbms_output.put_line('avg_sal is: '||avg_sal); select avg(sal) into avg_sal from emp; dbms_output.put_line('avg_sal is: '||avg_sal)原创 2015-11-06 20:58:50 · 326 阅读 · 0 评论 -
处理出租车计价器数据,计算空驶时间,即相邻两条记录相减
处理出租车计价器数据,计算空驶时间,即相邻两条记录相减原始数据如下:select id 编号,car_code 车牌号 ,DEAL_TIME 下车时间,DAY_TIME 上车时间 from DAT_TAXI_CASH_20130218 where car_code='BN1049' or car_code= 'BQ5514'select id 编号 ,car_code 车牌号原创 2015-09-25 20:29:44 · 1691 阅读 · 0 评论 -
Oracle高级查询之OVER (PARTITION BY ..)
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的。注:标题中的红色order by是说明在使用该方法的时候必须要带上order by。一、rank()/dense_rank() over(partition by ...order by ...)现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下原创 2015-11-07 12:36:43 · 455 阅读 · 0 评论 -
SQLLDR导入乱码问题的解决
处理过程:1、本地建立控制文件 load datainfile 'd:\TMP_KAITOUSHUJU.csv'into table TMP_KAITOUSHUJUfields terminated by ','(TRADE_CO,FULL_NAME,CUSTOMS_CODE,CO_CLASS,VALID_DATE,RG_DATE,A原创 2015-12-23 15:59:39 · 17937 阅读 · 1 评论 -
sqlldr批量导入文件夹下多个csv文件
创建表的时候要创建在一般用户下,不要创建在sys和sysytem用户下,否则sqlldr导入时提示权限不够批量导入,可以通过获取文件夹下所有文件的绝对路径实现@echo off & setlocal EnableDelayedExpansionfor /f "delims=" %%i in ('"dir /a/s/b/on *.*"') do (set file=%%~fiset file=原创 2015-12-23 15:56:44 · 9361 阅读 · 0 评论 -
oracle服务器版安装
配置安全更新。电子邮件可写可不写,取消下面的“我希望通过My Oracle Support接受安全更新(W)”,如下图所示,单击下一步。 安装选项。直接选择默认的“创建和配置数据库”,单击下一步。系统类。由于咱们安装的是服务器,所以选择“服务器类”,单击下一步。 网格安装选项。选择“单实例数据库安装”,单击下一步。 安装类型。选择“高级安装”,单击下一步。 产品语言。直接原创 2015-12-21 23:23:09 · 548 阅读 · 0 评论 -
oracle密码解锁
用户名:sys 密码:change_on_install 用户名:system 密码:manager 用户名:internal 密码:oracle 用户名:scott 密码:tiger原创 2015-12-21 23:09:12 · 460 阅读 · 0 评论