一个java工程师的前6年工作部分技术积累(二)

五、  Oracle

1、创建表

CREATE TABLE BD_ASSESS_PERIOD_TYPE_T

(

PERIOD_TYPE  VARCHAR2(16 BYTE)                NOT NULL,

PERIOD_NAME  VARCHAR2(16 BYTE)                NOT NULL

)

TABLESPACE TS_TAB_BASE03

PCTUSED    40

PCTFREE    10

INITRANS   1

MAXTRANS   255

STORAGE    (

INITIAL          64K

MINEXTENTS       1

MAXEXTENTS       2147483645

PCTINCREASE      0

FREELISTS        1

FREELIST GROUPS  1

BUFFER_POOL      DEFAULT

)

LOGGING

NOCACHE

NOPARALLEL;

COMMENT ON COLUMN BD_ASSESS_PERIOD_T.PERIOD_TYPE IS ‘字段名 ‘;

2、创建序列

CREATE SEQUENCE CRM_OWNER_USER.BD_EVALUATE_TEMPLATE_S  START WITH 161

MAXVALUE 9999999999

MINVALUE 1

NOCYCLE

CACHE 20

NOORDER;

3、创建同义词

CREATE PUBLIC SYNONYM BD_ASSESS_PERIOD_TYPE_T FOR BD_ASSESS_PERIOD_TYPE_T;

4、给用户赋权

GRANT DELETE, INSERT, SELECT, UPDATE ON  BD_ASSESS_PERIOD_TYPE_T TO CRM11;

用户1   用户2

bd_some_t  用户1

数据库2想用

1、create public synonym   bd_some_t for 用户1.bd_some_t    在用户2下做

2、grant all on   bd_some_t to 用户2           在用户1下做

5、获得需要的格式的时间

select to_char(sysdate,‘yyyy-mm-dd hh24:mi:ss‘) from dual

6、按照树形结构查询数据

1、SELECT ID

From a

START WITH ID =?CONNECT BY PARENT_ID = PRIOR ID

2、select a.title,b.sid

from main a,test b

where b.sid in  (select c.sid from test c START with c.id =a.id connect by c.id= prior c.sid  )

7、按照某个数据。根据某种规则查询数据

select rank() over(order by a desc),b

from table

按照字段a,以倒数的数序查询

8、查询在a表中而不在b表中数据的方法

select a.name form table1 a

where not exists(select * from table2 b where a.name = b.name )

9、按照某个字段大小排序,不能强转城数字行,可能会出现错误

select f_prod_code from a where  ORDER BY LPAD(f_prod_code,12,‘!‘)

12是这个字段的长度,因为‘!‘是可见字符中ASCII最小的。

10、       获得数据,以小数形式显示

Select TO_CHAR(123.0233,‘FM9999990.0099‘) FROM DUAL

FM :除空格

9999990.0099:允许小数点左边最大正数为7位,小数点右边最少2位,最多4位,且在第5位进行四舍五入

11、       查询俩表中,有个表没数据

SELECT * FROM prm_part_info_base_t a, prm_part_cont_user_t b

WHERE a.f_part_id = b.f_part_id(+)

AND (b.f_cont_user_type = ‘3‘ OR b.f_cont_user_type IS NULL)

12、       查询ab在name中的位置

instr(name,‘ab‘)

13、       查联合使用左链接和右链接

SELECT NVL (tl1.typedesc, tl2.typedesc) typedesc, tl2.sum_user l2sumuser,

tl1.sum_user l1sumuser, ‘img‘ img_sum_user, tl2.sum_fee l2sumfee,

tl1.sum_fee l1sumfee, ‘img‘ img_sum_fee, 0 l2arpu, 0 l1arpu,

‘img‘ img_arpu, 0 l2percent, 0 l1percent, ‘img‘ img_percent,

tl2.cbself

FROM (SELECT   typedesc, NVL (SUM (count_user), 0) sum_user,

NVL (SUM (sum_rec), 0) sum_fee, TO_CHAR (bself) cbself

FROM aav_rec_comp a, aav_code_agenttype b

WHERE a.agenttypeid = b.typeid(+) AND ym = ‘200607‘

AND (areaid = ‘188‘)

GROUP BY typedesc, bself) tl2 left OUTER JOIN (SELECT   typedesc,

NVL(SUM(count_user),0) sum_user,

NVL(SUM(sum_rec),0) sum_fee,

TO_CHAR(bself) cbself

FROM aav_rec_comp a, aav_code_agenttype b

WHERE a.agenttypeid =b.typeid(+)

AND ym = ‘200608‘ AND (areaid =‘188‘) GROUP BY typedesc,bself) tl1 ON tl1.typedesc = tl2.typedesc

UNION

SELECT NVL (tl2.typedesc, tl1.typedesc) typedesc, tl2.sum_user l2sumuser,

tl1.sum_user l1sumuser, ‘img‘ img_sum_user, tl2.sum_fee l2sumfee,

tl1.sum_fee l1sumfee, ‘img‘ img_sum_fee, 0 l2arpu, 0 l1arpu,

‘img‘ img_arpu, 0 l2percent, 0 l1percent, ‘img‘ img_percent,

tl2.cbself

FROM (SELECT   typedesc, NVL (SUM (count_user), 0) sum_user,

NVL (SUM (sum_rec), 0) sum_fee, TO_CHAR (bself) cbself

FROM aav_rec_comp a, aav_code_agenttype b

WHERE a.agenttypeid = b.typeid(+) AND ym = ‘200607‘

AND (areaid = ‘188‘)

GROUP BY typedesc, bself) tl2 RIGHT OUTER JOIN (SELECT   typedesc,

NVL(SUM(count_user),0)sum_user,

NVL(SUM(sum_rec),0) sum_fee,TO_CHAR(bself) cbself

FROM aav_rec_comp a,aav_code_agenttype b

WHERE a.agenttypeid =b.typeid(+)

AND ym = ‘200608‘

AND (areaid =

‘188‘)

GROUP BY typedesc,bself) tl1 ON tl1.typedesc =tl2.typedesc

14、       运行存储过程

DECLARE

m varchar2(6);

BEGIN

m:=‘200703‘;

CHANNEL.P_Aav_Detail_Comm_Data(m);

COMMIT;

END;

15、       case语句使用

SELECT   (CASE

WHEN (SELECT ‘1‘

FROM aav_info_agent

WHERE agentid = a.agentid) = ‘1‘

THEN (SELECT agent_name

FROM aav_info_agent

WHERE agentid = a.agentid)

ELSE (SELECT office_name

FROM info_office

WHERE office_id = a.agentid)

END

) aname0,

agentid aagentid, SUM (adev) sum_adev, SUM (alost) sum_alost,

DECODE (SUM (alost),

0, 0,

SUM (lostmonths) / SUM (alost)

) avglostmonths

FROM aav_devlost_q_details a

WHERE (a.areaid = ‘188‘)

AND (a.nettypeid = ‘1‘)

AND (a.ym >= ‘200307‘)

AND (a.ym <= ‘200707‘)

GROUP BY agentid

16、       dblink

CREATE PUBLIC SYNONYM bf_gsm_call_t for [email protected]     -----

dblink

链接的意思是,在某数据库下建个dblink 某个用户可以访问这个dblink ,其他数据库可能通过这个dblink使用这个用户访问这个用户可以访问的表

17、       数据字典,查询数据库里村不存在制定表

select * from all_objects where object_name=upper(‘bf_cdma_call_t‘)

18、       数据库读写文件

set feedback off

set head off

spool d:\abc.sql

spool off;

spool d:\abc.sql;

set feedback off

set head off

33333

spool off;

19、       数据库特殊查询

/*不同分组*/

select o.region_id  ,o.cust_nbr,sum(o.tot_sales) tot_sales,sum(sum(o.tot_sales)) over

(partition by o.region_id) region_sales

from oreder o

where o.year = ‘2001‘ group by o.region_id,o.cust_nbr

select DEALER_ID,PROGRAM_ID,EVALU_ITEM,sum(EVALU_SCORE),sum(sum(EVALU_SCORE)) over

(partition by DEALER_ID,PROGRAM_ID) region_sales

from BD_PROGRAM_EVALUATE_T

group by  DEALER_ID,PROGRAM_ID,EVALU_ITEM

/*排序*/

select region_id,cust_nbr,sum(tot_sales) cust_sales,

rank() over(order by sum(tot_sales) desc) sales_rank,

dense_rank() over(order by sum(tot_sales) desc )  sales_dense_rank,

row_number() over(order by sum(tot_sales) desc )  sales_number,

from orders

where year=‘2001‘

group by region_id,cust_nbr

order by 6;    ------------------按照结果集的第六个字段值排序

/*按地区和用户统计用户的收入和用户在自己地区内的牌民*/

select region_id,cust_nbr,sum(tot_sales) cust_sales,

rank() over(partition bu region_id order by sum(tot_sales) desc) sales_rank,

dense_rank() over( partition bu region_id order by sum(tot_sales) desc )  sales_dense_rank,

row_number() over(partition bu region_id order by sum(tot_sales) desc )  sales_number,

from orders

where year=‘2001‘

group by region_id,cust_nbr

order by 1,6;

/*将null显示的位置*/

select region_id,cust_nbr,sum(tot_sales) cust_sales,

rank() over(order by sum(tot_sales) desc null last) sales_rank

from orders

where year=‘2001‘

group by region_id,cust_nbr

/*不知道干什么用的*/

select min(region_id) keep (dense_rank first order by sum(tot_sales) desc))  best_region,

min(region_id) keep (dense_rank last order by sum(tot_sales) desc)) worst_region

from orders

where year = ‘2001‘

group by region_id

20、       导入、导出数据

方案1

一、带分区的

例1、exp userid=crm_owner_user/bss_crm_0404 file=./BD_MOBILE_SELECT_T.dmp buffer=2048000 tables = BD_MOBILE_SELECT_T:MOBILE_SEL_PART_180

log=./BD_MOBILE_SELECT_T.log feedback = 10000 indexes = n grants=n  direct=y&

例2、exp userid=crm_owner_user/bss_crm_0404 file=./BD_MOBILE_SELECT_T.dmp buffer=2048000 tables = BD_MOBILE_SELECT_T:MOBILE_SEL_PART_180

log=./BD_MOBILE_SELECT_T.log feedback = 10000 indexes = n grants=n  direct=y &

例3、exp userid=crm_owner_user/bss_crm_0404 file=./BD_SELECT_T.dmp buffer=2048000 tables = BD_SELECT_T:PART_180 log=./BD_SELECT_T.log feedback

= 10000 indexes = n grants=n  direct=y &

例4、exp userid=crm_owner_user/bss_crm_0404 file=./BD_SELECT_HIS_T.dmp buffer=2048000 tables = BD_SELECT_HIS_T:PART_180

log=./BD_SELECT_HIS_T.log feedback = 10000 indexes = n grants=n  direct=y &

导入:

imp channel/[email protected] full=n file=D:\table\info_office.dmp log=D:\table\import.log  buffer=20480000 FROMUSER=channel TOUSER=channel IGNORE=y COMMIT=y FEEDBACK=10000 TABLES=info_office

方案2、如果俩个数据库之间可以通信(在命令行执行)       : sqlplus

copy from crm_owner_user/[email protected] to channel/[email protected] insert  hh  USING SELECT * FROM hh ;

例1、copy from crm_owner_user/[email protected] to scott/[email protected] insert bd_dealer_main_t using select * from bd_dealer_main_t where

rownum<2

方案3、将表数据先道道文本中、在执行.bat文件

例子在  文件  导数据方法3中

.bat文件内容

@echo off

sqlplus channel/[email protected] @work_commision_list_ext.sql

@echo on

21、       Sqlplus连接数据库

sqlplus  username/[email protected]

22、       建立外键

ALTER TABLE PRM_PART_ADDONS_INFO_T ADD (

CONSTRAINT PART_INFO_BASE_FK3 FOREIGN KEY (F_PART_STATE, F_PART_ID)

REFERENCES PRM_PART_INFO_BASE_T (F_PART_STATE,F_PART_ID));

23、       创建表备份

create table bd_select_t_bank1227 as select * from bd_select_t where 1=2

24、       删除一个表中相同数据

delete from bd_tongliang_t

where select_no in (select select_no from bd_tongliang_t group by select_no having count(select_no)>1)

and rowid not in (select min(rowid) from bd_tongliang_t group by select_no having count(select_no)>1)

25、       编写存储过程

CREATE OR REPLACE procedure bbb

as

CURSOR get_info IS

select register_number,bus_str_code,count(*) from bb_other_should_pickup_t

where pickup_status in (44,0) and bus_str_code in (31,47)

group by register_number,bus_str_code

having count(*) >1;

BEGIN

FOR rec IN get_info LOOP

DELETE bb_other_should_pickup_t

WHERE register_number = rec.register_number AND ROWNUM=1;

COMMIT;

END LOOP;

update bb_other_should_pickup_t set pickup_status=2 where pickup_status=44;

commit;

END;

/

26、       动态sql

vs_sql :=

‘insert into bb_165_should_pickup_t(‘ ||

‘City_code,Accept_city,Register_number,Apply_event,Pickup_status,‘ ||

‘if_emergency,Source_kind,Make_date,Pre_pay_fee,Svc_id,Service_id,node_id,bms_svc_id)‘ ||

‘values(‘ ||

‘:City_code,:Accept_city,:Register_number,:Apply_event,0,‘ ||

‘0,2,:Make_date,:Pre_pay_fee,:Svc_id,:Service_id,:node_id,:bsm_svc_id)‘;

execute immediate vs_sql using vs_city_code,is_accept_city,vs_reg_number,in_apply_event,

vd_date,vn_pay_fee,vs_svc_id,is_service_id,vs_node_id,vn_svc_id;

27、       数据字典

1:  数据字典记录了数据库的系统信息,是只读表和试图的集合,数据字典的所有者为sys用户,并且存放在system表空间中,

数据字典基表存放基本信息,普通用户不能访问,只能访问数据字典试图取得系统信息,数据字典包含三种类型:

USER_XXX:   所有数据库对象

ALL_XXX:    当前用户可以存放的所有对象

DBA_XXX:    当前用户所拥有的对象

2:数据字典内容

A:对象定义

当执行create命令创建对象时,Oracle会将对象存放到数据字典中,可以使用DBMS_METADATA可以获取对象定义语句,:

SQL>SET LONG 4000

SQL>SELECT dbms_metadata.get_ddl(‘TABLE‘,‘EMP‘) ddl FROM DUAL;

B:对象占用的空间

建立表,索引和族时,Oralce会给表,索引和族分配相应的空间,以存放这些对象的数据,通过数据字典,可以取得所占用的空间

查询表占用的空间,可以查看其同名段的大小,如下:

SQL> SELECT bytes FROM user_segments WHERE segment_name=‘EMP‘;

如果要查看剩余空间和已用空间时,要做一下步骤:

SQL> analyze table emp compute statistics;

SQL> select empty_blocks,blocks from user_tables where table_name=‘EMP‘;

C: 列信息

SQL> select from user_tab_columns where table_name="DEPT";

D: 用户名,权限和角色

DBA_USERS: 所有数据库用户的详细信息

DBA_SYS_PRIVS: 用户或角色所具有的系统权限

DBA_TAB_PRIV: 显示用户或角色所具有的对象权限

DBA_COL_PRIVS: 用户或角色所具有的列权限

DBA_ROLE_PRIVS: 显示用户或角色具有的其他的角色。

3:常用的数据字典:

1 DICT: 显示当前用户可以访问的所有的数据字典试图

2 DICT_COLUMNS: 用户显示数据字典视图每个列的作用,

SQL> SELECT column_name,comments FROM dict_columns WHERE table_name=‘DICT‘;

3 DUAL: 用于取得函数的返回值

SQL> SELECT user FROM dual;

4 GLOBAL_NAME: 用于显示当前数据库的全名

SQL> SELECT * FROM GLOBAL_NAME

5 IND:用于显示当前用于所拥有的索引

6 OBJ: 用于显示当前用户所拥有的所有对象

7 SEG:用于显示当前用户所拥有的序列

8 SYN:用于显示当前用户所拥有的同义词和同义词对应的数据库对象名

9 TAB:用于显示当前用户所拥有的表,视图和序列

4:动态性能试图记录当前例程的活动信息,启动时从SGA和控制文件中取得的,例程停止时,删除这些表

数据字典时从数据文件中获取的

5:常用的动态性能视图表:

1:V$FIXED_TABLE - 列出所有可用的动态性能视图和动态性能表

2:V$INSTANCE - 取得当前例程的详细信息

3:V$SGA - 用于显示SGA主要组成部分

4:V$SGAINFO - 取得SGA更详细的信息

5:V$PARAMETER - 取得初始化参数的详细信息

6:V$VERSION - 取得ORACLE版本的详细信息

7:V$OPTION - 该动态性能视图用于显示已经安装的Oralce选项

8:V$SESSION - 用于显示会话的详细信息

9:V$PROCESS - 显示Oracel所有进程的信息(包括后台进程和服务器进程)

10 V$BGPROCESS - 用于显示后台进程的详细信息

11 V$DATABASE - 用于显示当前数据的详细信息

12 V$CONTROLFILE - 显示所有控制文件的信息

13 V$DATAFILE - 数据文件的详细信息

14 V$DBFILE - 显示数据文件编号及名称

15 V$LOGFILE - 用于显示重做日志成员的信息

16 V$LOG - 显示日志组的详细信息

17 V$THEAD - 取得重做线程的详细信息

18 V$LOCK - 用于显示锁的信息,通过与V$SESSION进行连接查询,可以显示占有锁的会话,以及等待锁的会话

SQL>select a.username,a.mechine,b.lmode,b.request from v$session a,v$lock b

where a.sid=b.sid and a.type=‘USER‘;

19 V$LOCKED_OBJECT 显示被加锁的数据库对象,通过与DBA_OBJECT进行连接查询,可以显示具体的对象名及执行加锁操作的

ORACLE用户名

SQL> select a.oracle_username,b.owner||‘.‘||b.object_name object

from V$LOCKED_OBJECT a,DBA_OBJECT b

where a.object_id = b.object_id

20 V$TABLESPACE - 显示表空间的信息

21 V$TEMPFILE - 显示数据库所包含的临时文件

28、       数据库%匹配

select * from  tongliang  where DATA_INFO LIKE   ‘%a/%%‘   ESCAPE   ‘/‘

29、       数据库char定义

如果数据库字段定义为char(4)型,插入的值一定要是4个字节,否则在使用此字段查询的时候会出现匹配问题。

30、        oracle索引原理

建立索引就是对索引字段进行排序。排序后的数据可以极大地加快查询和搜索速度。

31、       启动数据库

Sqlplus /nolog

Conn / as sysdba

Startup

32、       启动监听器

Lsnrctl start

六、  框架

1、struts自带的用来在tomcat启动时候动态加载文件内容的标签

<plug-in className="com.neusoft.crm.channel.common.InitAppName" />

2、改上下文根

1、propertos/myeclipse/web

2、D:\workspace\NGBSS_PRM1.0_web_dev\NGBSS_PRM1.0\NGBSS_PRM1.0_Web\web_src\tdframework\EAPDomain\unieap\js\Globals.js

3 D:\workspace\NGBSS_PRM1.0_web_dev\NGBSS_PRM1.0\NGBSS_PRM1.0_Web\web_src\tdframework\EAPDomain\WEB-INF\conf\unieap\EAPConfig.xml

3、使用td框架,添加业务处理后当完成出现以下特殊需求时候报“connection is closed”

(1)、使用JdbcHandler 操作数据库

(2)、对excel做操作this.wwbook = Workbook.createWorkbook(outstream, this.rwbook,new WorkbookSettings());

或是处理i/o流

(3)、处理i/o流后又进行数据库操作(不论是否用JdbcHandler)

4、处理excel大对象过大时候,出现 Exception in thread "Thread-7" java.lang.OutOfMemoryError: Java heap space 异常

在以下两种情况下没有出现:

(1)websphere下

(2)tomcat独立启动

5、tomcat配置文件

<Context docBase="\epm" path="/epm">

docbase

(1)、webapps 下的相对路径

(2)、工程文件的绝对路径

workDir   存放jsp编译后的class文件

path

(1)、工程的上下文根

(2)、配置文件名称

<application name="epm">

<config>/WEB-INF/conf/epm/epm_config_struts.xml</config>

<title>home</title>

<started>true</started>

<welcome>/page/index.jsp</welcome>

</application>

七、  发布服务器配置

1、将oracle文件oracle\ora92\jdbc\lib下的classes12.jar,添加到tomcat下的common\lib

2、乱码问题

(1)         Tomcat

文件路径:Tomcat 5.0\conf\server.xml

解决方案:红色为添加部分

<Connectorport="8082"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"

enableLookups="false"redirectPort="8443"acceptCount="100"debug="0"connectionTimeout="20000"disableUploadTimeout="true" URIEncoding=‘GBK‘/>

(2)         Websphere

服务器”-->应用程序服务器,找到自己应用使用的服务器。

服务器基础结构”,展开其下的“Java 和进程管理”,然后进入“进程定义”。

“其它属性”-->“Java 虚拟机”:

“Java 虚拟机”通用 JVM 参数设置为:-Dfile.encoding=GBK

3、打jar包

D:\>jar cvf popedom.war -C e:\popedomoldwar\ .

用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...

选项:

-c  创建新的存档

-t  列出存档内容的列表

-x  展开存档中的命名的(或所有的〕文件

-u  更新已存在的存档

-v  生成详细输出到标准输出上

-f  指定存档文件名

-m  包含来自标明文件的标明信息

-0  只存储方式;未用ZIP压缩格式

-M  不产生所有项的清单(manifest〕文件

-i  为指定的jar文件产生索引信息

-C  改变到指定的目录,并且包含下列文件:

如果一个文件名是一个目录,它将被递归处理。

清单(manifest〕文件名和存档文件名都需要被指定,按‘m‘ 和 ‘f‘标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 ‘classes.jar‘ 的存档文件中:

jar cvf classes.jar Foo.class Bar.class

示例2:用一个存在的清单(manifest)文件 ‘mymanifest‘ 将 foo/ 目录下的所有

文件存档到一个名为 ‘classes.jar‘ 的存档文件中:

jar cvfm classes.jar mymanifest -C foo/

4、登录websphere配置和地址

端口:9060

应用:admin

5、配置websphere应用

1、发布应用:应用程序-à安装新的应用程序(使用二进制配置)。

选择“集群和服务器”点击应用。

选择应用,点击下一步。

保存到主配置。

2、环境变量设置:选择ORACLE_JDBC_DRIVER_PATH

添加D:\oracle\ora92\jdbc\lib.

添加数据源。

6、查看websphere日志路径

D:\WebSphere\AppServer\profiles\AppSrv01\logs\server1

7、发布应用程序路径

D:\WebSphere\AppServer\profiles\AppSrv01\installedApps\tongliangNode01Cell

8、Oracle.sql.BLOB与sql.Blob 之间不能转化

直连情况可以强转,jndi不能。

Tomcat 下配置文件添加

<parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>

八、  网络

1、添加网关

route add -p 200.2.200.0 mask 255.255.255.0 10.195.129.1

蓝色:某个ip段

红色:走哪个网关

九、  linux操作系统命令

1、ls   看当前目录文件    crontab -l   查看所有shell

2、ll    查看系统文件大小

3、cd  看文件夹内容

4、cat   看文件内容

5、telnet  数据库

6、vi  编辑文本       i  开始编辑

7、esc   切换编辑状态和命令状态

8、nohup  ./文件名.sh ‘第一个参数’‘第二个参数’&

9、chmod 777 saliang.sh    问某个文件赋权

10、       以下是shell脚本的编写

sqlplus channel/[email protected] <<EOF>> liang2.log

exec p_imp_analysis($1);

exit;

EOF;

11、       wq保存

12、       prompt 提示符

13、       查看日志方法,登录了以后

1.cdlog

2.tail -f SystemOut.log

3.control +c 退出日志

14、       创建用户组、用户

useradd csn

passwd neusoft1

groupadd csns

15、       赋权

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1

chmod ug=rwx,o=x file  和 chmod 771 file  效果相同

chown -R csn /var/lib/mysql

16、       解压缩

样例:tar xvfz xampp-linux-1.7.7.tar\(1\).gz -C /opt

样例: unzip -o -d /opt xxx.zip

unzip -o -d /home/sunny myfile.zip

把myfile.zip文件解压到 /home/sunny/

-o:不提示的情况下覆盖文件;

-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;

zip -r myfile.zip ./*

将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.

17、       启动mysql数据库

service mysqld start

18、       查看主机信息

Uname –a

19、       netstat -tlnp |grep *显示tcp端口连接

netstat -tlnp |grep *

20、       查询opt目录下  包含 scok的文件

find  /opt -name *.sock

21、       建立软连接

ln -s   源地址   目标地址

22、       查看软连接

ls –l

23、       删除除指定文件/文件夹外其他文件

ls |grep -v PPCDN | xargs rm -rf

24、       linux远程拷贝和本地拷贝命令

scp 文件名  [email protected]远程ip:/路径/

25、       linux安装odbc

./configure --prefix=/usr/local/unixODBC-2.2.1 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc

Make install

26、        Rpm安装

rpm -q XX //查询程序是否安装

rpm -ivh   无依赖安装 + --force --nodeps

27、       mysql安装

1.  tar zxvf  mysql-5.6.11.tar.gz  -C /usr/src          释放这个包到/usr/src

2.  cd /usr/src/mysql-5.6.11                                 进入释放后的目录

3.  ./configure  prefix=/usr/local/mysql

4.   make   &&  make install

修改配置文件权限,默认是使用用户 mysql 改成root,然后指定配置文件,

(1)、./mysql --defaults-file=/usr/local/mysql/share/mysql/my-medium.cnf

(2)、永久性修改cp /usr/local/mysql/share/mysql/my-medium.cnf  /etc/my.cnf

Rpm安装,直接运行指定安装路径

28、       odbc安装

./configure --prefix=/usr/local/unixODBC

Make install

测试odbc

[[email protected] bin]# cd /usr/bin/ 21. [[email protected] bin]#

[[email protected] bin]# ./isql CSN root mysql

查询系统共享动态库

ldconfig -p | grep libc.so

29、       nohup 启动

nohup ./CU config &

30、       编译动态库

ldconfig -p | grep lame

31、       查看当前shell中所有命令

echo $PATH

32、       查命令路径

如:Which  cd

33、       查文件路径、命令路径

Whereis   locate

34、       查看端口包

tcpdump -Xns 0 port 8081

tcpdump port 16161 and host 10.4.120.198

35、       mysql授权

GRANT ALL PRIVILEGES ON *.* TO ‘myuser‘@‘192.168.1.3‘ IDENTIFIED BY ‘mypassword‘ WITH GRANT OPTION;

FLUSH   PRIVILEGES;

36、       启停mysql

/usr/local/mysql/bin停止:./mysqladmin -uroot shutdown  登陆mysql停止

/usr/local/mysql/share/mysql启动:./mysql.server start    不登陆停止

37、       安全启动mysql

/opt/lampp/bin/mysqld_safe --datadir=/opt/lampp/var/mysql --pid

-file=/opt/lampp/var/mysql/pms4.pid --skip-grant-tables --ledir=/opt/lampp/bin

时间: 2024-10-26 18:41:16

一个java工程师的前6年工作部分技术积累(二)的相关文章

一个java工程师的前6年工作部分技术积累(一)

一.  JavaScript 1.判断输入0-1之间的小数 function checkPower(power) { var str = power.value; var reg = /(^[1]$)|(^[1]\.[0]{1,2}$)|(^[0]\.[1-9][0-9]{0,1}$)|(^[0]\.[0-9][1-9]$)/; if(!reg.test(str)) { alert('权重必须为大于0小于或等于1的小数!'); power.focus(); return false; } ret

一个java程序员自学IOS开发之路(十二)

2015/12/05 Day 44 今天开始学习图层 CALayer 在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个文本输入框.一个图标等等,这些都是UIView 其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层 在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatomic,readonly,retain) CALayer *

Java工程师能做什么工作

当下在这个越发重视IT技术的时代,越来越多的人也开始重视自己IT技术的培养,当下若是掌握了一门热门的IT技术,那么高薪就业绝对是没有什么大问题的,在当下IT技术中,Java技术一向引人注目,想成为Java工程师的朋友是大有人在,那么Java工程师能做什么工作呢?跟长沙尚学堂小编往下看. 很多人对Java工程师的最初印象就是多金,因为Java工程师起点薪资在众多工程师中就比较高,还有个很深刻的印象,就是Java工程师人才缺口,真的可以用惊人来形容,根据IDC的统计数字,在对所有软件开发人才需求当中

Java工程师学习指南(完结篇)

Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校生,所以写的内容主要还是针对Java初学者或者接触Java后端不久的朋友,不适用于已经工作多年的Java大佬们.所以本文中的方法不一定适合所有人,如有错误还请谅解. 本期的内容是系列文章的最后一部分内容了.这个系列可能还有很多东西没有说清楚,也有很多内容被忽略了.但是这些内容也确实是笔者结合自己经验

java工程师之旅-一个月工作心得

不知不觉,在工作中已经度过一个月,距离上次写文章已经好几个月了,正好还有二十分钟下班,抽点时间来写一下博文,写一下心得. 首先说一下,在我工作之前,做了一个项目,和一个外校大四的学生做一个毕业设计,一个随堂APP,如果大家想要看看的话我在后面贴上git 在后来,这个项目给我的面试带来了很大的加分. 我的面试很运气,我第一次面试,面试的是一个小公司,做金融的,只有一个技术主管来面我,我第一次面试,很紧张啊... 问的大部分都是简历上写的一些技术点,还好当初没有吹牛逼把很多高大上的技术写上去,这一点

当世界上只剩下一个Java程序员

公元2050年,世界上只剩下了一个Java程序员. 你可能要问了,别的人都去哪儿了?原因很简单, Java没落了. 大约在2030年左右,出现了一个叫做X的语言,它既能做系统级开发(操作系统.数据库.编译器),也能做服务器端的开发,手机端,Web端都不在话下. 更为重要的是,这个新的编程语言和人类的自然语言很接近,无论大人小孩,稍微一学,很快就可以来编程.于是排名前100的语言统统消失了, 程序员们都失业了. Java也不例外,这个昔日的霸主在留下了一堆庞大而复杂的系统以后就不见了. Java程

美资软件公司JAVA工程师电话面试题目

面试必备基础题目(虽然不一定常用, 仅用于面试, 面试就是把人搞的都不会然后砍价, 当然您可以讲我可以查资料完成, 但是面试的时候就是没道理的, 起码我是经常看到这些题). 如何把一段逗号分割的字符串转换成一个数组?request.getAttribute() 和 request.getParameter() 有何区别?response.sendRedirect() 和 forward() 区别?<%@include file="xxx.jsp"%>和 <jsp:in

以Java工程师为例,技术面试应该怎么准备?

如何准备一份「工程师范儿」的简历? 定制简历 我自己的经验是,每个岗位的具体要求都不同,因此大家不要用一个通用的简历去应付所有的岗位,最好是根据特定公司的特定岗位来定制简历.当然这并不是让大家编故事,而是突出与目标岗位匹配的经验和能力.大家去应聘一个开发或者测试工程师,和去应聘一个 Team Leader 或者技术经理的角色是完全不一样的.比如,如果我要去应聘一个有管理性质的岗位,我就会在简历里适当突出我曾经从 0 组建了一个 10 人的技术团队,里边有多少资深 Java 开发工程师,多少数据库

谈谈Java工程师的学习

在大学的时候,计算机系的同学们肯定会学习很多计算机方面的专业课,如计算机操作系统.计算机网络.计算机组成与结构等等啦,个人认为这些课程会为你快速建立计算机技术的基本概念,但这些课程大学讲的比较粗浅,而且每一门课程在计算机发展方向上都有很深的领域.所以,个人认为这些课程在大学属于尽可能的了解. 大学计算机还会学习高等数学和英语,这是我认为大学学习的核心. 英语的重要性不言而喻,因为很多重要的参考资料都是英文的,虽然国内已经有很多汉译本,但是读起来还有些蹩脚. 大学除了高等数学,还会学习线性代数和概