- 浏览: 85155 次
- 性别:
- 来自: 广州
最新评论
文章列表
做数据转换时,个别字段没写到值。需要批量更新 大概二十万条记录。
执行update语句时提示:
[oracle] 解决ORA-30036:无法按8扩展段(在还原表空间‘XXXX’中)
没遇到过这个错误。查询了原因,是oracel执行更新操作可以进行rollback的,控制还原数据事务处理单独设置了表空间,用于存放需要还原的数据。若一次更新的数据量超出了设置的还原表空间。会报此异常。
解决办法,增加表空间。
或者一次更新数据量控制在空间范围内。分批更新。
DBLINK的创建使用
- 博客分类:
- Oracle11
需求: 需要从A库取数据,写入到B库。 在B库中新建dblink 连接到 A库。则可以用 insert into B 库 select * from A库。
create database link db_link_zshj
connect to 用户名 identified by 密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 191.100.128.xx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = ...
比较字符长度区别 字符个数和 字节长度
- 博客分类:
- Oracle11
SELECT length('0(邓耀培)') FROM dual;--字符个数 6
SELECT lengthb('0(邓耀培)') FROM dual;--字节长度 12
oracle错误 ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小,
判断字符串是否都为数字:
create or replace function IsNumber(Name in varchar2) return boolean is
Result boolean;
sz varchar2(10);
pos integer;
zf varchar2(1); --接收 中文或全角符号时, 长度超过接收变量。
cd integer;
begin
sz:='0123456789';
Result:=true;
pos:=1;
...
这是一位大师的讲oracle时的第一节课的课件,专门讲如何学习oracle一、目前学习Oracle的两派人--------1.只是操作,2.学习理论深入了解二、Oracle的重要性三、学习前提学习Oracle的前提是:熟悉Linux操作系统、Unix操作系统、存储、带库 ...
查询的数据如下:
需要加 trunc 先截取日期 年月日。
改成:to_char(trunc(a.aac006),'YYYYMMDD')
也没发现异常数据 和正常转换的有啥区别? 求大神解释。、
plsql校验身份证是否合法
- 博客分类:
- Oracle11
原文地址:http://blog.csdn.net/ytfy12/article/details/11679625
功能需求:由于要对15000多参保职工进行身份证号的申报与检验,故需要做一个能够 对身份证号有效性进行检验的软件功能,能够进行如下处理: 1、检验身份证是否为空 2、检验身份证长度是否为15或18位 3、检验身份证的出生日期的有效性 4、检验身份证的格式的有效性 5、检验18位的身份号校验位的合法性,对15位加上校验位。 6、以函数形式编写,以便进行调用使用,并返回 ...
停止正在运行的job
- 博客分类:
- Oracle11
SELECT * FROM dba_jobs_running;
select a.job,b.SID,b.SERIAL#,c.SPID
from dba_jobs_running a,v$session b,v$process c
where a.sid = b.sid and b.PADDR = c.ADDR;
EXEC DBMS_JOB.BROKEN(115,TRUE);
JOB SID SERIAL# SPID
1 106 9681 65494 1442148
2 104 1544 21603 59899942
3 115 3963 9916 ...
根据excel表格生成建表语句及注释
- 博客分类:
- Oracle11
应用场景:有时需要根据第三方数据索要方提供的表结构,提供其要求表格的数据。提供时只给出excel表。如:
解决思路:
1、excel的vb编码,导出。
2、百度了一下,提供了另一种思路,写存储过程来实现。
新建表把表结构说明都写入表中,写过程,按每个表分组,变量表的字段描述,做字符拼接。
存储到clob字段中。
自己的实现例子:
建表:
create table wanda_midtable_col(
xh number,
tablename varchar2(20),
colname varchar2(20),
colcomme ...
Oracle_分组内查找最大最小值
- 博客分类:
- Oracle11
查询地区内,最大最小年龄
SELECT a.aac001,
a.aac002,
a.aac003,
min(aac006) over(partition by aab034) "minage",
aac006,
max(a.aac006) over(partition by aab034) "maxage"
FROM ac01 a
order by a.aac006;
Oracle过程被锁
- 博客分类:
- Oracle11
1)查询过程被哪些session锁住,而无法编译。
2)查询session试图,得到 sid,serial#
3)杀掉进程。
SELECT * FROM dba_ddl_locks WHERE name=upper('pkg_ylsy_dyff');
SELECT * from v$session t WHERE t.sid =7043 ;
alter system kill session '7043,55639';
Python解决实际问题一--备份文件
- 博客分类:
- python
问题:
实现一个可以为所有重要文件创建备份的程序
分析:
拆解问题,1、何为重要文件,假定它们都放到指定的一个或几个文件夹中。
2、备份都存放到一个备份主目录中。
3、备份压缩成zip格式
4、备份文件的名称以日 ...
plsql徒手写脚本新建job执行
- 博客分类:
- Oracle11
场景:省集中项目,对广州地市的数据进行数据清洗检查。跑存储过程,容易出现卡死情况,plsqldev崩溃掉,过程直接断开连接。于是考虑后台跑任务job。
材料plsqldev的sql窗口。写代码
declare
jobid pls_integer;
begin
sys.dbms_job.submit(job => jobid,what => 'p_test();',next_date => sysdate,interval => '');
sys.dbms_output.put_line(jobid);
commit;
end;
...
/*+APPEND*/插入性能总结
- 博客分类:
- Oracle11
转from:http://blog.itpub.net/26838108/viewspace-721266/
使用append提示进行insert叫做直接路径加载插入。
【特点】
1、使用这种提示因为系统不去查找freelist链表中的空闲块,直接在高水标记位以上插入数据,因此速度比较快。但若是对于经常delete的表,浪费磁盘空间太大!
2、它不记录日志,因此一旦插入的数据在没有保存回磁盘的时候发生掉电之类的状况插入的数据不能重做。
3、/*+append*/后,需要马上提交,否则会影响下一次修改失败(insert,update,delete)
在Oracle Database ...
试验一、行转列。查询各个部门每个工资段的人数。
with emp_dept as
(select dname, empno,sal from emp a join dept b using (deptno))
select *
from emp_dept
pivot (count(empno) as quantity for sal in (2450 as p2450,1300 as p1300,3000 as p3000,2975 as p2975,800 as p800))
order by dname;
得到结果:
DNAME P2450_QUANTI ...