平时工作笔记

5 篇文章 0 订阅
3 篇文章 0 订阅

#!bin/bash

----------------------Oracle  笔记-------------------------------------------

imp user/paw e:\auth_log.dmp full=y ignore=y

update sys_flush set flush_time=to_date('20150820'||substr(to_char(flush_time,'yyyy-mm-dd hh24:mi:ss'),-9,9),'yyyy-mm-dd hh24:mi:ss')

select to_date('20150820'||substr(to_char(flush_time,'yyyy-mm-dd hh24:mi:ss'),-9,9),'yyyy-mm-dd hh24:mi:ss')

from sys_trans_flush  --修改年月日,保留时分秒

select to_timestamp('20160811'||substr(to_char(trans_time,'yyyyMMdd hh24:mi:ss.ff3'),9),'yyyyMMddhh24missff') ss from sys_flush

 select org_code from sys_org start with org_code='1001' connect by nocycle prior org_code=parent_code     --递归查询:从根节点往下查

  select org_code from sys_org start with org_code='7701' connect by nocycle  org_code=prior parent_code   --递归查询:从节点往根查找

----------查看用户下的表信息---------分区表--------

select * from user_tables  -- tablespace_name字段为空的是分区表

select * from user_tab_partitions  where table_name='SYS_TRANS_HIS' ---分区信息存在此表中

select partition_name from user_tab_partitions where partition_name like 'AUTHLOG_PART_%'  --查询分区

alter table trans_flush_his drop partition  TRANSLOG_PART_20160322  ----删除分区

ALTER TABLE  auth_log_his EXCHANGE PARTITION  AUTHLOG_PART_20160731 WITH TABLE bio_auth_log including indexes; --交换分区

select count(*) from auth_log_his  partition(AUTHLOG_PART_20160325); ---查看单个分区数据

-----------------索引-----------

select * from  nls_database_parameters; 查看数据库的字符集

select * from user_indexes      --查询现有的索引

select * from user_ind_columns  --可获知索引建立在那些字段上

select table_name,index_name, status from user_indexes where table_name in ('AUTH_LOG','SYS_TRANS');

select index_name,partition_name,status from  user_ind_partitions where partition_name in('AUTHLOG_PART_20161117','TRANSLOG_PART_20161117'

,'TRANSLOG_PART_20161117','AUTHLOG_PART_20161117');---查看分区表的单个分区索引状态

select * from auth_log_his  partition(AUTHLOG_PART_20160515); ----查看分区表中单个分区的数据

alter index USR.TRANS_FLUSH_INDEX rebuild online; --- 重建索引

 ------------------------数据泵---------------------------------

create DIRECTORY datadump as '/home/oracle/'; --创建目录位置(建议放在归档目录下)

grant read,write on DIRECTORY datadump to yyq; ---给应用用户授予读写权限

expdb user/pwd DIRECTORY ='datadump' DUMPFILE=yyq.dmp; ---此命令会在已定义的目录(/home/oracle)中产生导出的文件(yyq.dmp)

导出用户

expdp  user/pwd directory=dump_backup dumpfile=yyq%U.dmp logfile=yyq.log PARALLEL=4 schemas=user;

导入用户

impdp  user/pwd  directory=dump_backup dumpfile=yyq%U.dmp logfile=yyq.log PARALLEL=4  remap_schema=user:user;

多线程并发导出:

--------------标准-------------查看表空间-------------------------------

select a.tsname,round(a.total_m,2) total_mb,

 round(nvl(b.free_m,0),2) free_mb,

 round(nvl((b.free_m/a.total_m)*100,0),2) free_percentage from

 (select tablespace_name tsname,sum(bytes)/1024/1024 total_m from dba_data_files group by tablespace_name) a,

 (select tablespace_name tsname,sum(bytes)/1024/1024 free_m from dba_free_space group by tablespace_name) b

 where a.tsname=b.tsname(+)

 --and  a.tsname like 'USERS%'

 --and ((b.free_m<5 or b.free_m is null)

 --or (b.free_m/a.total_m<0.3 or b.free_m is null))

 order by 4 desc;

--------------------sql 脚本------------------------------------------------

sqlplus -s yyq/yyq<<EOF

spool create_index.log append;

select to_char(sysdate,'yyyymmddhhmmiss') from dual;

insert into sys_index(id,channel_code,channel_name,channel_status)

values(sys_index_id.nextval,'999','系统','0');

select * from sys_index;

spool off;

disconnect;

quit;

EOF

----------------------------------------------------------------

--------------------Liunx 笔记--------------------------------------------

scp run.sh user@10.202.37.20:/yyq/tmp/run.sh远程拷贝

java -cp .:./tt.jar com.nes.utils.Match  执行java程序jar文件的类main方法

useradd -g weblogic -d /yyq/  yyq添加用户指定组与用户目录

chown -R yyq:weblogic /yyq/wzj 改变文件所属用户

zip -r jdk_${today}.zip   jdk_enc* E_API* --压缩多个文件

unzip -o jdk.zip   ---强制解压覆盖,不用询问

mkdir -p /yyq/update/old/  ----级联建立目录

ls -lrt /home/yyq/batch/lib/ |grep -E 'ES|jdk' | tee -a $log_path ---过滤多个文件

cp yyq_APP_BACKUP.sh yyq_APP_DEPLOY.sh log/   ----复制多个文件到一个目录下

tar -cvf w20160505_0001.tar.Z ./20160505_1 打包文件夹及文件

tar -xvf w20160505_0001.tar.Z 解压包

ifconfig 查看IP地址

locale 查看系统字符集

env 查看环境变量

env | grep tft

echo $PATH 输出环境变量path的值

ps -ef| grep FaceServer 查看进程

netstat -anp 查看端口及进程id

rpm -q mysql 查看mysql是否安装

df -Th 查看磁盘使用情况

du -sh ./yyq/tft  查看某个文件的大小

du -sh ./* 查看目录下所有文件的大小*/

cal 2 2015 查看月历2015年2月

service  network  restart 启动服务

service kudzu start 新装硬盘后运行计算机自动识别

chkconfig --list |more 查看系统默认运行的服务

stat yyq.log |sed -n '7p'  获取第七行,状态更改时间

:g/^/s//\=line('.').''/  编辑vim中为每行行首增加行号

find . -name "B_*" -mtime +29 |xargs rm删除30天之前的图片

touch -m -t 201607181010  yyq.log 修改文件的modifytime时间

for n in {1..10} 循环10次,从1到10

----------------------------------------awk -------------------------------------------------------------

cat ./log/20160927_3.log |awk '/avg/'|awk -F-'{print $NF}'|awk '{tot+=$1}; END {print tol/NR}' 

文本内容:求avg的平均值

Thread-2---耗时:596

Thread-1---耗时:643

Thread-0---耗时:583

Thread-0--avg used ---587

Thread-2---耗时:598

Thread-2--avg used ---613

Thread-1---耗时:635

Thread-1--avg used ---647

---------------------------------------------------------------------------------------------

   

$ grep "trident" missiles 2>/dev/null

这样所有的错误输出都输送到了/dev/null中(实际就上是系统的垃圾箱),不再出现在屏幕上。

$ cleanup >cleanup.out 2>&1  在合并标准输出和标准错误到相同的文件,

$ cat account_qtr.doc account_end.doc 1>accounts.out 2>accounts.err 两个文件合并到accounts.out文件中,现在如果出现了错误,相应的错误将会保存在accounts.err文件中

$ mv /apps/bin /apps/dev/bin && rm -r /apps/bin

在上面的例子中,/apps/bin目录将会被移到/apps/dev/bin目录下,如果它没有被成功执行,就不会删除/apps/bin目录。

&&语法:“如果这个命令执行成功&&那么执行这个命令”。

||语法:“如果这个命令执行失败了||那么就执行这个命令”。

$ sort quarter_end.txt > quarter.sorted && (cp quarter.sorted /logs/quarter.sorted ;lp quarter.sorted)

使用命令组合的方法,如果s o r t命令执行成功了,可以先将输出文件拷贝到一个日志区,然后再打印

linux正则:句点“.”可以匹配任意单字符,使用反斜杠\屏蔽一个特殊字符的含义:特殊字符:$ . '' "" * [] ^ | () \+?

匹配A至少4次,使用:A \ { 4 , \ } B  可以得结果A A A A B或A A A A A A A B,

注意^符号的使用,当直接用在第一个括号里,意指否定或不匹配括号里内容。

[^a-zA-Z] 匹配任一非字母型字符,

如果要抽出记录,使其行首不是4 8,可以在方括号中使用^记号,表明查询在行首开始。grep'^[^48]' data.f

在grep命令中输入字符串参数时,最好将其用双引号括起来;在调用变量时,也应该使用双引号,诸如:grep"$myvar" 文件名,如果不这样,将

没有返回结果。在调用模式匹配(正则)时,应使用单引号。

常用的 grep 选项有:

-c 只输出匹配行的计数。

-i 不区分大小写(只适用于单字符)。

-h 查询多文件时不显示文件名。

-l 查询多文件时只输出包含匹配字符的文件名。

-n 显示匹配行及行号。

-s 不显示不存在或无匹配文本的错误信息。

-v 显示不包含匹配文本的所有行。

$ grep '48\>' data.f  现在精确抽取48

48 Dec 3BC1997 LPSX 68.0

使用g r e p抽取精确匹配的一种更有效方式是在抽取字符串后加\>。衷诰烦槿?8

48 Dec 3BC1997 LPSX 68.0

使用g r e p抽取精确匹配的一种更有效方式是在抽取字符串后加\>。

  

----------------------------java-------------------------------------

protected MyBatisService(Class<?> domainClass)//构造方法,参数实体类名:SysUser.class

  {    this(domainClass.getName());//反射,获取全类名作为mybatis的XML文件的namespace唯一标示文件,限定名:com.wzj.cebfrs.dao.SysUserDao.java

    }

  protected MyBatisService(String namespace)

  {

    this.mybatisNameSpace = namespace;}

  protected static String fillSqlId(String namespace, String sqlId)

  {

    if (!StringUtils.contains(sqlId,'.')) {

      return namespace +'.' + sqlId;

    }

    return sqlId;

  }  

*************************************************** xml操作:*****************************************************************

1,创建xml文件:Documentdoc=DocumentHelper.createDocument();

Element books=doc.addElelment();

Element  title=books.addElement("book");

title.addAttribute("id","001");

示例:<?xml version="1.0" encoding="UTF-8" ?>

  <book id="001" />

  <title>Harry potter</title>

2,解析xml文件:SAXReaderreader=new SAXReader();

Document doc=reader.read("D:\\test.xml");

Element  root=doc.getRootElement();

List<Element> childElements=root.elements();

for(Element child:childElements){

//未知属性名情况下

List<Attribute> attList=child.attributes();

for(Attribute attr:attList){

System.out.println(attr.getName()+":"+attr.getValue());

}

//未知子元素名情况下

List<Element> elementList=child.elements();

for(Element ele:elementList){

System.out.println(ele.getName()+":"+ele.getText());

}System.out.println();

}

示例: id : 001

title :Harry potter

author :JK.Rowling

******************************************************** IO流的操作:************************************************************

字节流:

输入流:IntputStream,FileIntputStream,ByteArrayInputStream,高级流:BufferedInputStream,DataInputStream,ObjectInputStream,FilterInputStream

输出流:OutputStream,FileIntputStream,ByteArrayOutputStream高级流:BufferedOutputStream,DataOutputStream,ObjectOutputStream,FilterOutputStream

Class类的流方法public InputStream getResourceAsStream(String name)

ClassLoader.getSystemResourceAsStream(java.lang.String)。 静态方法,类名.方法();

public static InputStream getSystemResourceAsStream(String name)

字节流中方法:read();

      read(byte[] b) ;

      read(byte[] b,int off, int len)将输入流中最多len 个数据字节读入byte 数组,将读取的第一个字节存储在元素b[off] 中,下一个存储在b[off+1] 中。

示例:byte[] tempbytes=new byte[100];

int byteread=0;

InputStream in=new FileInputStream(fileName);

//读入多个字节到字节数组中,byteread为一次读入的字节数

while((byteread=in.read(tempbytes))!=-1){

System.out.write(tempbytes,0,byteread);

}

字符流:

输入流:Reader,FileReader,StringReader, 高级流:InputStreamReader,BufferedReader(方法:readLine())

输出流:Writer,FileWriter,StringWriter, 高级流:OutputStreamWriter,BufferedWriter,PrintWriter

 * A追加文件:使用RandomAccessFile  

 * B追加使用:FileWriter(File file,boolean append)

 *

 * C追加使用:public FileOutputStream(String name,boolean append)

按照指定编码追加写入文件中:

PtintWriter  out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileName,true),"GBK")));

out.println(data);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值