shell、perl 生成csv文件
shell、perl 生成csv文件[@more@]1、以","为分隔符号,然后保存为".csv"文件2、使用"t"或"011"符号,然后保存为",.xls"文件如:echo -e "atb" >> 11.xls (open FA,"22.xls");print FA "atbtccnaat11t22";close(FA); 3、生成xls,csv文件后,导到window下直接打开就行
How to grant on v$ views
Today i was faced with an error when I try to give permission on a v$view[@more@]SQL> grant select on v$session to hr;grant select on v$session to hr*ERROR at line 1:ORA-02030: can only select from fixed tables/viewsI wonder why i couldn’t give select privilage to a v$ view. I tried to give to permission to another v$ views but the error was same. Action for this error on error codes manual was meaningless to me (Action: You may only select rows from fixed tables/views.)From a little googlin
删除结尾不完整的unicode
数据在存在数据库里的时候,由于表列有长度限制,需要对多余的长度进行截取,有可能造成unicode的不完整。所以需要将结尾不完整的unicode删除。eg:<? $str = "TTL全天候自动聚୐"; $str = preg_replace("/&#{0,5}$/","",$str};?>[@more@]
oracle hints
oracle hints[@more@] 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化. 例如: SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 3. /*+CHOOSE*/ 表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量; 表明
动态执行用法例子
这个proc的作用就是从lottery select出数据,然后分别insert到superlottery、superlottery2里.其中insert 字符时候需要使用'',一对双引号来转化为单引号.DECLAREID_v VARCHAR2(20);NO1_v VARCHAR2(20);NO2_v VARCHAR2(20);NO3_v VARCHAR2(20);NO4_v VARCHAR2(20);NO5_v VARCHAR2(20);NO6_v VARCHAR2(20);NO7_v VARCHAR2(20);sql_v VARCHAR2(200);sql2_v VARCHAR2(200);CURSOR lottery_cur ISSELECT ID,NO1,NO2,NO3,NO4,NO5,NO6,NO7FROM LOTTERY;lottery_rec lottery_cur%ROWTYPE;BEGINOPEN lottery_cur;LOOPFETCH lottery_cur INTO lo
Compare array
前段时间写的upgrade,现在碰到了问题,在处理key.pl的环节上,大数据量时候效率很低,以前设计的时候没有考虑到在这个环节上能有大数据量,所以写的算法是很简单的顺序遍历,赋值也是直接赋值.结果2200条record就要花一小时才跑完,my god. 接到user的反映后,知道这个问题得重写.趁着五一假期研究一番,现采用二叉树算法,采用引用替代直接赋值,将循环用子函数独立出来,尽量减少遍历的次数.优化后2200同样的数据,只要10秒就OK了. 检查出一个bug:split在拆分字符串的时候,对结尾是空的段直接忽略掉;采
C/C++位运算符
位运算是指按二进制进行的运算[@more@]在程序中,常常需要处理二进制位的问题。C/C++语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。在实际应用中,建议用unsigned整型操作数,因为带符号操作数可能因为不同机器结果不同。c++和c的位操作运算符完全相同,但c++中增加了bitset标准库来支持位集操作,具体内容请参考http://book.51cto.com/art/200809/88698.htm或者http://book.csdn.net/bookfiles/17/1001760.shtml,这些链接都是《C++ Primer中文版》中的内容,大家也可
使用ttBulkCp从timesten中导入和导出数据
导出ttBulkCp -o -s "|" DSN=DLUA DLUA_ACCOUNT /home/elink/billliang/VIDTX_LOCAL_STREAM/DLUA_ACCOUNT.dat 导入ttBulkCp -i DSN=DLUA DLUA_ACCOUNT DLUA_ACCOUNT.dat [@more@]
使用dbms_utility找background_dump_dest路径
摘取<ORACLE 9i & 10g 编程艺术> page78,这真是本好书SET serveroutput ONDECLAREl_string VARCHAR2(255);l_dummy NUMBER;BEGINl_dummy := DBMS_UTILITY.GET_PARAMETER_VALUE('background_dump_dest',l_dummy,l_string);DBMS_OUTPUT.PUT_LINE('backgroud: '||l_string);l_dummy := DBMS_UTILITY.GET_PARAMETER_VALUE('user_dump_dest',l_dummy,l_string);DBMS_OUTPUT.PUT_LINE('user: '||l_string);END;[@more@]
Oracle维护常用SQL语句
网友的帖子,在日常数据维护中常用的sql语句.收藏下.[@more@]1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 3、查看回滚段名称及大小
Linux下Gcc生成和使用静态库和动态库详解(转)
Linux下Gcc生成和使用静态库和动态库详解[@more@]一、基本概念1.1什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。 1.2库的种类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。共享库的代码是在可执行程序运行时才载入
Oracle的同义词(synonyms)总结
Oracle的同义词(synonyms)从字面上理解就是别名的意思,和试图的功能类似,就是一种映射关系。本文介绍如何创建同义词语句,删除同义词以及查看同义词语句。[@more@] oracle的同义词总结: 从字面上理解就是别名的意思,和试图的功能类似。就是一种映射关系。 1.创建同义词语句: create public synonym table_name for user.table_name; 其中第一个user_table和第二个user_table可以不一样。 此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如
install par
前天公司一同事问,能不能写过exe文件,处理win下的东西,一直来都是在UNIX下写程序,还真写过exe。于是决定将perl程序编译为exe。折腾了2天,不停的google,终于安装完par。下面就简单下安装步骤:[@more@]Install activeperl 5.8.8.822ftp://ftp.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.msi========install par=====1.) ppm install par Or ppm install http://www.bribes.org/perl/ppm/PAR.ppd2.) ppm install http://www.bribes.org/perl/ppm/File-Temp.ppd3.) ppm install http://www.b
[转]oracle SQL调优 之 连接方式
无论连接操作符如何,典型的连接类型共有3种:排序 - - 合并连接(Sort Merge Join (SMJ) )嵌套循环(Nested Loops (NL) )哈希连接(Hash Join)[@more@]排序 - - 合并连接(Sort Merge Join, SMJ)内部连接过程:1) 首先生成row source1需要的数据,然后对这些数据按照连接操作关联列(如A.col3)进行排序。2) 随后生成row source2需要的数据,然后对这些数据按照与sort source1对应的连接操作关联列(如B.col4)进行排序。3) 最后两边已排序的行被放在一起执行合并操作,即将2个row source按照连接条件连接起来下面是连接步骤的图形表示:MERGE/ S
Codeblocks 和 MinGW的下载路径
http://www.codeblocks.org/downloadshttp://sourceforge.net/projects/mingw/files/MinGW/[@more@]
修改oracle的edit编辑工具为vi
修改oracle的edit编辑工具为vi[@more@]原默认oracle默认的edit编辑工具为notepad,如果要修改为vi,则方法为:$ORCEL_HOME/sqlplus/admin/glogin.sql增加一行:DEFINE_EDITOR=vi 另:将LINIX终端默认的编辑工具改为vi则在*.profile文件里增加:set -o vi
ORACLE常用数据字典
数据字典视图说明:数据字典视图一般有:以存表的视图为例dba_tables[DBA所有的], all_tables[所有用户所有的], user_tables[当前用户所有的]对于DBA所有的,只有拥有DBA权限的用户才可以查询,否则提示表或视图不存在。系统表内的数据基本都是大写,如表明,列名,所有者,源代码除外。三套[@more@]下面的示例都已all系列为代表 数据字典视图名 作用 示例 all_tables/dba_tables/user_tables 查看系统或某个用户有哪些表 select * from user_tableswhere table_name = 'EMP' all_tab_columns/dba_tab_columns/user_tab_columns 查看表的数
查找表中没有的纪录
如果查找表中没有的纪录.表A如下:ID SEQ--- ---A 1A 2A 3A 5B 1B 3B 4B &nbs...
shell用法例子
从chinaunix上看到网友贴出的问题,也跟着做一下,就当练手有一个文件是QQ号到手机号的绑定关系,一行一个关系,格式如下:11235334:13443253456。然后统计出每个QQ绑定了几个手机,输出到一个文件里。格式如下:[11235334]1345454345413643543544[23432423]13654645542awk解决:awk -F"[ \t]*:[ \t]*" '{a[$1]=a[$1]"\n"$2;sum[$1]++} END{for(i in a){print i"\n"a[i]"n"sum[i]}}' urfile[@more@]
查看Oracle数据库表空间大小,是否需要增加表空间的数据文件
查看Oracle数据库表空间大小,是否需要增加表空间的数据文件[@more@]--1查看表空间已经使用的百分比select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"from(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tables