- 浏览: 56098 次
- 性别:
- 来自: 北京
最新评论
文章列表
用户指南可以在Oracle公司的官方网站下载:
http://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html
也可以阅读在线文档:
http://docs.oracle.com/cd/E16655_01/install.121/e17718/toc.htm
Oracle12c数据库下载地址:
http://www.oracle.com/technetwork/ ...
最近打算从头学习算法导论,推荐去网易看网易公开课,有麻省理工学院公开课:算法导论,有喜欢的同学去看吧。
第一个算法,就是插入排序了,java实现如下:
package sort;
public class InsertSort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array={5,2,4,56,6,7,3};
sort(array);
for(int val:arra ...
在网上查了一下这个控件的使用,没有找到一个详细的说明,所以自己试了一下,如下图:
用来查询的关键字列表里,表字段a<>流里的字段a,b=b的时候,当改变表输入里b字段,执行插入/更新,目标表会新增一条数据,那是因为流里的a字段和目标表的a字段都是相同的,b字段不同就会认为是新数据,故插入。
假如b字段不改,修改a字段的值,那么再执行插入/更新,目标表会更新a字段而不是新增一条数据。
结论:实际运用中,一般把主键写成是=就可以了,把需要随着源表改变而更新的字段都写成<>或者其他比较符。
假如有不想随着源表改变而更新的,可以在下面更新字段列表里的update选择N。
昨天让kettle传入的参数搞的很郁闷,从网上查一些信息,大多讲的是每个transformation内部传递参数,要么就是讲在job中把参数传进transformation,而且还不正确。
大家最常碰到的问题恐怕就是要做增量抽取了吧,增量抽取不可避免要碰到时间戳,那么我们假如每天晚上需要抽取当天新增的数据到目标库,这就需要一个变量来操作。
要是每个transformation都用一个单独控件来记录这个变量,貌似没什么意义,所以总想有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢?
有。
首先,打开.kettle\kettle.properties,直接在里 ...
最近在研究kettle,其中涉及到抽取增量数据的问题,通过各种找,发现都是使用timestamp类型,但是经过亲自测试,这个类型在oracle中和mysql中是不同的,假如是mysql,那么这列是不允许为空的,但是oracle中并不会因为改变这条数据的其他字段而自动更新时间戳。
真正能解决问题的是ORA_ROWSCN。
在Oracle 10g中,在行最后一次被更新的时候,每一行都有一个新的被称作ORA_ROWSCN的伪列,也就是说,假如更新了一条数据的其他列,那么这个伪列也会被更新。上图:
看到ORA_ROWSCN了吗
我们接下来改变某一列的值
update tsjc set b = '22 ...
kettle官方网站http://kettle.pentaho.com/
先下载压缩包,我这里下载的是4.4版本,大概400M
下载后解压,装JDK,配环境变量
配置完毕后,打开解压后根目录下有Spoon.bat,双击打开
创建资源库,用户名密码都是admin
kettle一共可以创建两种脚本文件,一种是transformation,就是任务,比如抽取数据,合并修改什么的。
另一种是job,就是用来调用transformation的,类似oracle里的job调用存储过程。
接着创建数据库连接,在此就不多说了,值得注意的是假如用的是oracle,压缩后的包里是没有oracle的jdbc驱动的 ...
netsh winsock reset catalog
netsh int ip reset reset.log hit
以管理员身份cmd执行就OK
- 2013-03-28 14:14
- 浏览 1061
- 评论(0)
由于一般服务器有多个网卡,年老一点的服务器免不了要抽风,系统默认自动激活的是eth0,假如想激活别的网卡,就看下面吧。
执行#vi /etc/rc.local
在最下行加入
ifup eth1
route add -net 192.168.1.200/24 gw 192.168.1.1 dev eth1
其中192.168.1.200为服务器静态IP,192.168.1.1为网关。
假如有多个,往下加就是了。
1、下载UltraISO软件
2、将redhat的iso文件打开,找到images/boot.iso,解压出来
3、将boot.iso用UltraISO打开
4、点击UltraISO的启动菜单--写入硬盘镜像---写入(记得把U盘中的东西备份,此步会清空U盘)
5、将redhat5的iso整个拷入U盘根目录
6、bios设置启动优先级为USBHDD
7、启动引导之后,按F2,输入linux askmethod
8、引导选择harddisk,然后就会自动选择U盘了
9、安装对话框选择sdb开头的
10、进入正常安装,输入/代表是从根目录引导
11、正常安装中Grub的引导器安装在/dev/sdb, ...
由于一些脚本要往远程机器传文件之类的,scp方式比较方便,但每次都要输入密码比较麻烦,尤其是在脚本里,所以如果不要密码,哪就方便一些。
本机到目标机传文件,本机=linux1,目标机=linux2.
步骤:
linux1操作:
1、ssh-keygen -t rsa
生成公钥,默认路径在/root/.ssh/下面,其中id_rsa.pub是公钥
2、scp .ssh/id_rsa.pub root@linux2:/root
将生成的公钥传到linux2下
3、ssh linux2
跳到linux2
linux2操作:
将复制过来的公钥生成授权key
...
为了数据的安全,由于公司没有DBA,数据量也不大,便想了用linux的批处理来进行每天晚上定时备份,将备份文件按日期命名。不废话,上步骤:
cd /var/spool/cron
vim root
指定要执行的批处理文件路径。比如:
0 23 * * * /opt/backup.sh
意思是每天晚上11点执行一次backup.sh
接下来backup.sh内容:
rq=`date +%m%d_%H%M`
su - oracle -c "exp test/test file=/opt/lndb/test_$rq.dmp"
完。
create materialized view [view_name]
refresh [fast|complete|force]//如果可以快速刷新则进行快速刷新,否则完全刷新
[
on [commit|demand] |
/*按照指定方式刷新,刷新方式有两种,on commit是当基表发生变化的时候进行刷新,on demand是用户需要刷新的时候才去刷新,具体的可以通过job去制定*/
start with (start_time) next (next_time)//分别是刷新的开始时间和下次刷新时间。
]
as
{创建物化视图用的查询语句}
这个是常用物化视图创建的语法,根据需 ...
最近在弄一些数据共享的问题,也就是一个系统的数据要和另一个系统的数据共享,采用webservice可以解决。
我采用的是xfire实现的,当然也可以axis等实现,不过我觉得还是xfire简单些,更容易入门。
首先大家不必被webservice吓到,其实它就是一个工程提供服务(方法),另一个工程调用这个服务里的方法,得到数据(方法的返回值)。
两个工程,其中toa充当提供服务,aj用来调用。
T_Company属于实体类
ToAj是个接口。
ToAjImpl是接口的实现类。
用xfire实现的原理:
服务端:提供接口和实现类,并且在services.xml里边 ...
wmsys.wm_concat这个函数,它的作用是以','链接字符。
SQL> select * from idtable;
ID NAME
---------- ------------------------------
10 ab
10 bc
10 cd
20 hi
20 ij
20 mn
6 rows selected
SQL> select id,wmsys.wm_concat(name) name from idtable
2 group by ...
要执行的命令保存成文件willrun,内容:
option confirm off
open user:pwd@host1
put c:\test.txt /root/tmp
close
open user:pwd@host2
put c:\test.txt /root/tmp
close
open user:pwd@host3
synchronize remote c:\tmp /root/tmp -delete
close
exit
保存。
然后执行cmd
"c:\Program Files\WinSCP\WinSC ...