记录云计算中心日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
针对CVE-2017-12615和CVE-2017-12616: Tomcat安全漏洞问题做重要预警。如您尚未完成相关漏洞的修复工作,强烈建议您参考下文立即执行解决方案。Apache Tomcat于2017年09月19日发布漏洞修复公告:CVE-2017-12615:运行在Windows主机上Tomcat,如果开启了HTTP请求的PUT方法,利用精心构造的请求,可向服务器上传任意JSP文件;当该JSP文件被请求访问时,文件中代码将在服务器执行;CVE-2017-12616:当Tomcat启用VirtualDirContext时,利用精心构造的请求,不但可以绕过安全相关的限制,还可以读取到由VirtualDirContext提供支持资源的JSP源代码;漏洞危害:CVE-2017-12615: 该漏洞可导致远程代码执行,进而获取服务器权限;CVE-2017-12616: 该漏洞可导致JSP源代码泄露;漏洞影响:CVE-2017-12615: Apache Tomcat 7.0.0-7.0.79CVE-2017-12616: Apache Tomcat 7.0.0-7.0.80修复方案:建议升级Tomcat到7.0.81;漏洞来源:https://tomcat.apache.org/security-7.html
代码编写规则 一、PLSQL 块的语法规则:     1、语句可以跨跃几行。     2、词汇单元可以包括:分隔符、标识符、文字、和注释内容。     3、分隔符:      +-*/=<>||....     4、标识符:      最多30个字符,不能有保留字除非用双引号引起。      字母开头,不与列同名。     5、文字串:如 V_ENAME:='FANCY';要用单引号括起来。        数值型可以用简单记数和科学记数法。     6、注释内容:        单行时用   --            多行用   /*   */        与C很相似 建议 定义变量:v_变量名 定义常量:c_常量名 定义游标:_cursor 定义异常:e_ 定义pl/sql表类型:_table_type 定义pl/sql表变量:_table 定义pl/sql记录类型:_record_type 定义pl/sql记录...
定义:CREATE [OR REPLACE] FUNCTION <过程名>[(参数列表)] RETURN 数据类型 IS         [局部变量声明]         BEGIN            可执行语句          EXCEPTION            异常处理语句          END [<过程名>];变量的类型:in 为默认类型,表示输入; out 表示只输出;in out 表示即输入又输出;使用:   示例1:创建函数:create or replace function f_1(n number) return number is    r emp%rowtype;BEGIN     dbms_output.put_line('姓名 薪水');     select * into r from emp where empno=n;     dbms_output.put_line(r.ename||' '||r.sal);    --输出结果,需要 set serverout on 才能显示.    ...
oracle 使用pl/sql通过雇员所在部门号查出对应部门名称。参考示例语句如下:declarev_no emp.deptno%TYPE;v_dname dept.dname%TYPE;begin  begin  select e.deptno into v_no from emp e where lower(e.ename)=lower('&dna');  end;select d.dname into v_dname from dept d where d.deptno=v_no;dbms_output.put_line('雇员姓名是:'||lower('&dna')||'的部门名是:'||v_dname);end;/
oracle 使用PL/SQL与游标(CURSOR),循环(loop),条件(if)来更新数据。declare  CURSOR emp_cursor is    SELECT ename, sal FROM emp FOR UPDATE;  emp_record emp_cursor%ROWTYPE;begin  OPEN emp_cursor;  LOOP    FETCH emp_cursor      INTO emp_record;    EXIT WHEN emp_cursor%NOTFOUND;    if emp_record.sal < 2000 THEN      UPDATE emp SET sal = sal * 1.1 where CURRENT of emp_cursor;    end if;  end loop;  commit;end;/本PL/SQL块使用了loop语句取的了所有雇员的姓名与工资,并且使用了条件控制语句(if)判断雇员工资,如果低于2000,则给该雇员增加10%的工资。使用sqldeveloper工具执行时,commit 只能放到end loop 之后,不能放到之前或是end if 之前。
oracle数据库时间戳转换成日期时间方法时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统中,也在许多其他操作系统中被广泛采用。北京时间是东8区,所以要加8小时。1, 现在需要将oracle数据库中的表中的时间戳字段转换成北京时间的日期时间格式,表格如下图。       COMPANY_NAME    BILL_NUM    STARTTIME     1    随州市甜蜜食品厂    9002254531    1370769194     使用下面方法可以转换。SELECT c.company_name,c.bill_num,c.starttime,TO_CHAR(c.starttime / (60 * 60 * 24) +               TO_DATE('1970-01-01 08:00:00', 'YYYY-MM-DD HH:MI:SS'),    &nbs...
oracle 利用存储过程输入参数返回多行数据方法。oracle 自带示例scott账号下,利用存储过程返回一行与多行数据方法。1,利用存储过程返回一行数据,输入参数empno,返回ename与sal.create or replace procedure p_emp_info(p_empno emp.empno%TYPE)asp_ename emp.ename%TYPE;p_sal   emp.sal%TYPE;p_count NUMBER;begin   select count(e.empno) into p_count from scott.emp e where e.empno=p_empno;   if p_count=0 then      return;    end if;    select ename,sal into p_ename,p_sal from emp e where e.empno=p_empno;    DBMS_OUTPUT.put_line('部门号: '||p_empno||'.员工姓名:'||p_ename||'. 工资:'||p_sal);end;/由于select into 每次只能输入一行数据,所以这个方法只能用于一行数据返回。SQL> set serverout onSQL> exec p_emp_info(7782);部门号: 7782.员工姓名:CLARK. 工资:2450PL/SQL procedure successfully completed2,使用过程与游标,for in 循环,返回多行数据。SQL> create or replace procedure get_emp_info(p_deptno emp.deptno%T...
无法登录到 vCenter Server Appliance 的 root 帐户 (2099752) Symptoms 免责声明:本文为 Unable to log in to the root account of vCenter Server Appliance (2069041) 的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。登录 VMware vCenter Server Appliance 的 root 帐户失败。 vCenter Server Appliance 5.5 和 6.0 的 root 帐户被锁定。 Purpose 本文提供重置 vCenter Server Appliance的 root 密码步骤。 Cause 当本地帐户密码过期时会出现此问题。注意:在 vCenter Server Appliance 5.5 和 6.0 中,默认情况下,本地帐户密码会在 90 天后过期。 Resolution 注意:在 vCenter Server Appliance 5.5 Update 1 中,密码会在 90 天后过期。但是,在密码到期后,您可以通过控制台登录然后更新密码。要解决此问题,请通过重新启动 vCenter Server Appliance 重新激活帐户,并修改 GRUB 引导加载程序中的内核选项获取 root shell。注意:如果无法通过控制台、Secure Shell 和虚拟设备管理界面 (VAMI)(vCenter Server Appliance 5.5 和 6.0 Update 1)访问 root 帐户,则说明 root 帐户已由于...
Warning: log write elapsed time 664ms, size 1KB 突然才发现一个数据库的LGWR进程的跟踪文件scm2_lgwr_5690.trc有大量的告警信息,如下所示: *** 2017-08-07 17:05:03.132Warning: log write elapsed time 664ms, size 1KBkcrfw_update_adaptive_sync_mode: post->poll long#=1 sync#=6 sync=302 poll=1079 rw=322 ack=0 min_sleep=1079*** 2017-08-07 17:42:56.997Log file sync switching to pollingCurrent scheduling delay is 1 usecCurrent approximate redo synch write rate is 2 per sec*** 2017-08-08 09:00:03.923Warning: log write elapsed time 1445ms, size 1KB*** 2017-08-08 10:00:20.162Warning: log write elapsed time 1190ms, size 87KB*** 2017-08-08 17:05:02.924Warning: log write elapsed time 1213ms, size 1KB*** 2017-08-09 08:36:15.179Warning: log write elapsed time 3171ms, size 1KBkcrfw_update_adaptive_sync_mode: poll->post current_sched_delay=0 switch_sched_delay=1 current_sync_count_delta=0 switch_sync_count_delta=6*** 2017-08-09 18:39:36.593Log file sync switching to post/waitCurrent ap...
服务器有个java程序,运行时每周一会出现调用数据库时,产生的数据不正常。需要每周一重启程序后,才会正常生成数据库数据。所以作了一个定时重启脚本。比较简单,以下是示例。cat crond_pss/restartpss.sh #!/bin/bashproc_pid=`ps -ef|grep 'pps.main.PssServer'|grep -v "grep" | awk '{print $2}'`proc_name="PssServer"echo ${proc_name} "pid:"echo ${proc_pid}echo ""echo ""echo `date`echo ${proc_pid}"------kill the task!------"kill -9 ${proc_pid}sleep 50echo ""echo ""echo `date`echo ${proc_name}"------start the task!------"cd /PSS/bin     #启动程序脚本时,建议先检查下之前的进程是否正常结束./start.shsleep 20proc_pid2=`ps -ef|grep 'pps.main.PssServer'|grep -v "grep" | awk '{print $2}'`echo ""echo ${proc_name} "pid:"echo ${proc_pid2}echo ""然后配置定时任务,这里修改/etc/crontab .30 0 * * 1 cwt  /home/crond_pss/restartpss.sh >> /home/crond_pss/log.txt
    总共198页,当前第9页 | 页数:
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19