达梦DIsql

DIsql工具是一款类似于SQL*Plus的工具,这里介绍如何启动DIsql并成功登录到数据库、如何远程登录到其他数据库、如何使用以及如何退出DIsql。
启动DIsql
为了使用DIsql,必须首先要启动DIsql。DIsql工具可以广泛用于各种操作系统,如WINDOWS、LINUX等。启动之后,当出现“SQL&gt”符号时,用户就可以利用DM提供的SQL语句和数据库进行交互操作了,需要注意的是,在DIsql中SQL语句应以分号“;”结束。对于执行语句块,创建触发器,存储过程,函数,包,模式等时需要用“/”结束。
1.1在WINDOWS系统中启动DIsql
WINDOWS环境下,有两种启动DIsql的方式。第一种是启动安装软件后生成的程序菜单,第二种是启动安装目录下自带的DIsql工具。
1.1.1程序菜单启动
如果在WINDOWS环境中安装了DM数据库产品,那么可以在应用菜单中找到SQL交互式查询工具,直接双击即可启动。然后使用LOGIN或CONN命令登录到指定数据库。LOGIN或CONN命令下文有详细介绍。以LOGIN为例,登录到IP地址为10.18.30.190的机器上,用户名和密码为:SYSDBA/SYSDBA,端口号为5236。其他全部敲回车,采用缺省输入。密码不会回显到屏幕上。

disql V7.1.6.48-Build(2018.03.01-89507)ENT
SQL> login
服务名:10.18.30.190
用户名:sysdba
密码:
端口号:5236
SSL路径:
SSL密码:
UKEY名称:
UKEY PIN码:
MPP类型:
是否读写分离(y/n):n
协议类型:

服务器[10.18.30.190:5236]:处于普通打开状态
登录使用时间 :380.428(ms)
SQL>

也可以全部直接回车,采用缺省输入,登录到本地DM数据库。缺省值请参考下文LOGIN命令
1.1.2自带DIsql工具启动
DIsql工具位于DM数据库安装目录的bin子目录下,例如DM数据库的安装目录为E:\dmdbms,则DIsql位于E:\dmdbms\bin\DIsql.exe。双击启动,然后输入用户名、密码,就可登录到本地DM数据库实例。密码不会回显到屏幕上。也可以全部直接回车,采用缺省输入,缺省值为SYSDBA/SYSDBA。

disql V7.1.6.48-Build(2018.03.01-89507)ENT
用户名:sysdba
密码:

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 58.363(毫秒)
Connected to: DM 7.1.6.48
SQL>

如果后续操作想登录到其他DM数据库实例,可使用LOGIN或CONN命令。

SQL> conn sysdba/sysdba@10.18.30.190:5236

服务器[10.18.30.190:5236]:处于普通打开状态
登录使用时间: 23.443(毫秒)

1.2命令行启动DIsql
命令行启动DIsql适用于任何操作系统平台。

1.2.1命令行启动
从命令行启动DIsql并登录到数据库。在命令行工具中找到DIsql所在安装目录D:\dmdbms\bin,输入DIsql和登录方式后回车。登录方式在下一节详细介绍。登录界面如下:
windows平台

C:\Users\Administrator>E:

E:\>cd dmdbms\bin

E:\dmdbms\bin>disql sysdba/xxzx@10.18.30.190:5236

服务器[10.18.30.190:5236]:处于普通打开状态
登录使用时间: 17.195(毫秒)
disql V7.1.6.48-Build(2018.03.01-89507)ENT
Connected to: DM 7.1.6.46
SQL>

Linux平台

[dmdba@cs1 bin]$ ./disql sysdba/xxzx@10.18.30.190:5236

Server[10.18.30.190:5236]:mode is normal, state is open
login used time: 10.709(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT 
Connected to: DM 7.1.6.46
SQL> 

1.2.2 DIsql登录方式
DIsql的登录方式。
语法如下:

DIsql [ [<option>] [<logon> | /NOLOG] [<start>] ]
<option>::=HELP|-H|-S
<logon>::=<username>[/<password>][*<MPP_TYPE>][@<server>][:<port>][?{UDP|TCP}]

[#<sslpath>@ssl_pwd]
<start>::=<`运行脚本>|<start运行脚本>|<直接执行语句>
<`运行脚本>::=`<file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]
<start运行脚本>::=START <file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]
<直接执行语句>::= -E “<SQL语句>{;<SQL语句>}”

文中语法符号规定:<>内的内容是必选项;
[]内的内容是可选项;{}内的内容可以出现一次或多次
|为或者;::=为定义符。后文语法用法与此相同。

DIsql登录方式参数介绍
HELP|-H|-S
HELP或-H表示显示DIsql版本信息和帮助信息;-S表示设置DIsql界面为隐藏模式,隐藏命令的<SQL&gt标识符。

[dmdba@cs1 bin]$ ./disql -h
disql V7.1.6.46-Build(2018.02.08-89107)ENT 
DISQL usage1:disql -h  show disql version and help message

DISQL usage2:disql [ [<option>] [{logon | /nolog}] [<start>] ]

<option>:-S set no show model, hidden disql flag

 <logon> : {<username>[/<password>][*<MPP_TYPE>][@<connect_identifier>] | /} [AS <SYSDBA|SYSSSO|

SYSAUDITOR|AUTO>]
 <connect_identifier> :{[<SERVER>][:<PORT>][?{UDP|TCP|IPC|RDMA}][#<sslpath>][@<sslpwd>]}

 if ipv6 address,[] is needed. For example [fe80::1e6f:65ff:fed1:3724%6]

<start> : `<filename>[<parameter> ...] run disql bash

/NOLOG option can run disql, while not connected to DM server

<username>
指定数据库的用户名。缺省用户名为SYSDBA。

<password>
指定数据库的密码。缺省密码为SYSDBA。输入密码时,如遇到特殊字符需要特别处理。特殊字符包括关键字符和双引号等。特殊字符的处理见下文。

<MPP_TYPE>
指MPP类型。MPP 类型是MPP登录属性,此属性的设置对非MPP系统没有影响。此属性的有效值为GLOBAL和LOCAL,默认为GLOBAL。GLOBAL表示MPP环境下建立的会话为全局会话,对数据库的操作在所有节点进行;LOCAL表示MPP环境下建立的会话为本地会话,对数据库的操作只在本地节点进行。

<server>
指定服务器的IP地址或是在dm_svc.conf中配置的网络服务名。dm_svc.conf的配置请参考《DM7系统管理员手册》的2.1.1节。例如:在dm_svc.conf中配置服务名dmrac_svc =(192.168.0.38:5236, 192.168.0.38:5237)。然后就可以使用服务名登录了:
DIsql SYSDBA/SYSDBA@dmrac_svc使用服务名的好处是第一个IP连不通,会自动连接下一个。



UDP|TCP
指定使用UDP协议或TCP协议。缺省为TCP。例如:DIsql SYSDBA/SYSDBA@localhost:5236?UDP

[#<sslpath>@ssl_pwd]
通信加密中客户端证书存放的地址和客户端证书密钥。各用户只能使用自己的证书,例如SYSDBA账户只能使用\bin\CLIENT_SSL\SYSDBA下的证书和密码,如果证书没有密码可以用缺省或任意数字代替。例如:DIsql SYSDBA/SYSDBA@192.168.0.38:5236#D:\dmdbms\bin\client_ssl\SYSDBA@12345 缺省为不加密。


/NOLOG

表示启动DIsql 而不登录到服务器。此时可以进行DIsql的显示设置和本地变量操作。如果没有/NOLOG选项必须登录服务器,不带参数的时候提示输入用户名和密码,此时的用户名和密码用法参考<logon>。且登录三次失败后退出DIsql。

<start>
运行DIsql脚本文件。
例如,假设a.sql是路径为“c:\”的任意脚本文件:DIsql -S SYSDBA/SYSDBA@192.168.0.80:5236 `c:\a.sql。如果在linux环境下使用,<start>外需要加上单引号,如:'`" < file_path >"'。

<file_path>
运行DIsql脚本文件的绝对路径。

<PARAMETER_VALUE>
传给<file_path>脚本文件中本地变量的参数值,将其中的参数内容传给变了&1,&2,&3…以此类推。

<直接执行语句>
使用-E参数,将在运行DIsql时直接执行后续的一条或多条SQL语句。例如:DIsql SYSDBA/SYSDBA -e "SELECT TOP 1 * FROM SYSOBJECTS; SELECT TOP 1 * FROM V$CMD_HISTORY"。


<password>中特殊字符的处理方法,不同操作系统,处理方法不同。
1.不同操作系统
WINDOWS系统
DIsql的关键字符,DIsql的要求对连接串的特殊字符需要使用双引号括起来”aaaa/aaaa”, 操作系统的要求需要再在最外加双引号和转义”””aaaa/aaaa”””。例如:用户名为user01,密码为aaaa/aaaa,那么连接串要写成:DIsql user01/”””aaaa/aaaa”””
空格,需要使用双引号括起来作为一个整体(这是操作系统的要求)。例如:用户名为user01,密码为aaaa aaaa ,那么连接串要写成:DIsql user01/”aaaa aaaa”双引号,DIsql要求对双引号需要使用双引号括起来,同时双引号需要转义”aaaa””aaaa”;操作系统要求再对双引号转义和最外层加双引号”””aaaa””””aaaa”””。例如:用户名为user01,密码为aaaa”aaaa ,那么连接串要写成:DIsql user01/”””aaaa””””aaaa”””。


LINUX系统
LINUX环境下,密码中的特殊字符处理过程既要考虑操作系统的要求,又要考虑DIsql的要求。首先,操作系统的要求。
bash的引号设计为:在单引号中,所有的特殊字符都失去其特殊含义;在双引号中,特殊字符包括:美元符($)、反引号(`)、转义符(\)、感叹号(!)。如果密码中没有单引号的,应该都只有外面加单引号就可以解决了;如果密码只有单引号,那么可以将单引号用双引
号括起来;如果既有单引号又有美元符($)、反引号(`)、转义符(\)、感叹号(!)四个特殊字符,那么在特殊字符之前全部加\转义就好了。
例如: 'aaaa\aaaa' 传给disql为aaaa\aaaa。
"aaaa'aaaa" 传给disql为aaaa'aaaa。
"aaa'\$aaaa" 传给disql为aaa'$aaaa。

其次,在操作系统要求的基础上,增加DIsql对关键字和双引号的要求。
DIsql的关键字符,DIsql的要求对连接串的特殊字符需要使用双引号括起来。例如:密码为aaaa\aaaa,使用双引号括起来“aaaa\aaaa”,因为此密码中不含有单引号,根据操作系统的要求直接在最外面加单引号。例如:用户名为user01,密码为aaaa/aaaa,那么连接串要写成:./DIsql user01/’”aaaa/aaaa”’。

双引号,DIsql要求对双引号需要使用双引号括起来,同时双引号需要转义。例如:密码为aaa”\aaaa,那么根据DIsql的要求加双引号同时转义为”aaa””\aaaa”,因为没有单引号,根据操作系统的要求直接加单引号。例如:用户名为user01,密码为aaa”\aaaa,那么连接串要写成:./DIsql user01/’”aaa””\aaaa”’。


单引号,根据操作系统的要求,只能将单引号放入双引号中。例如:用户名为user01,密码为aaaa'aaaa,那么连接串要写成:./DIsql user01/”aaaa'aaaa”。

单引号+操作系统下的特殊字符,根据操作系统的要求,因为单引号只能放在双引号内,同时双引号中还有一些特殊字符不能被识别需要加反斜杠转义。例如: 用户名为user01,密码为aaa'$aaaa,使用双引号括起来,同时对$加反斜杠转义。那么连接串要写成:./DIsql user01/”aaa'\$aaaa”。


单引号+双引号,根据操作系统的要求,单引号需要放在双引号中,在双引号中表示双引号则使用反斜杠转义双引号。例如: 用户名为user01,密码为aaa”'aaaa,根据DIsql的要求双引号作为特殊字符,需要使用双引号在括起来,同时使用双引号对双引号转义”aaa””'aaaa”;同时考虑操作系统的要求,因为含有单引号,只能将整个密码放入双引号中,同时对双引号使用反斜杠转义,那么连接串要写成:./DIsql user01/”\”aaa\”\”'aaaa\””。

2.如何转义双引号
1) DIsql的要求使用双引号对双引号内的双引号转义。
2) WINDOWS命令行,使用双引号或者反斜杠对双引号内的双引号转义。
3) LINUX命令行,使用反斜杠对双引号内的双引号转义。



<start>命令中:<`运行脚本>既可以在DIsql启动时使用,也可以在进入DIsql界面之后使用。而<start运行脚本>只能在进入DIsql界面之后才能使用。


2切换登录
用户进入DIsql界面后,如果想切换到其他DM数据库实例。有两种实现方式:一是使用LOGIN命令;二是使用CONN命令。登录到远程数据库,必须在服务名处使用IP地址或网络服务名。
2.1 LOGIN /LOGOUT
1. LOGIN登录主库建立会话
disql V7.1.6.48-Build(2018.03.01-89507)ENT
SQL> login
服务名:10.138.130.190
用户名:sysdba
密码:
端口号:5236
SSL路径:
SSL密码:
UKEY名称:
UKEY PIN码:
MPP类型:
是否读写分离(y/n):n
协议类型:

服务器[10.138.130.190:5236]:处于普通打开状态
登录使用时间 :26.018(ms)

服务名:数据库服务名或IP地址。LOCALHOST表示本地服务器。默认为LOCALHOST。
用户名和密码:默认均为SYSDBA,密码不回显。
端口号:默认为5236。
SSL路径和SSL密码:用于服务器通信加密,不加密的用户不用设置,缺省为不设置。
UKEY名称和UKEY PIN码:供使用UKEY的用户使用,普通用户不用设置,缺省为不使用。
MPP 类型:参见上一节<MPP_TYPE&gt,MPP类型是MPP登录属性,此属性的设置对非MPP系统没有影响。此属性的有效值
为GLOBAL和LOCAL,默认为GLOBAL。
是否读写分离(y/n):默认n。如果输入y,会提示:读写分离百分比(0-100)。用户根据需要输入相应的百分比,如果
输入的百分比不合法,那就相当于没有设置。
登录成功后会显示登录时间。

2. LOGOUT从登录主库注销会话
LOGOUT命令从登录主库注销会话。断开连接而不退出DIsql

SQL> logout

2.2 CONN[ECT] /DISCONN[ECT]

1. CONN[ECT] 连接
CONN[ECT]命令与login命令相似,增加的功能是,可以在命令之后直接跟<username&gt[/<password&gt][*<MPP_TYPE&gt]

[@<server&gt],或者跟<username&gt,然后按照DIsql提示输入<password&gt来连接。
语法如下:

CONN[ECT] <username&gt[/<password&gt][*<MPP_TYPE&gt] [@<server&gt]
或者
CONN[ECT] <username&gt

<password&gt:密码。如果密码中有特殊字符,需要特别处理。特殊字符指密码串中含有的关键字符(/@:#*[]) 或双引号***221;。具体处理如下:

关键字符,需要用双引号括起连接串中的密码串。例如:用户名user01,密码为aaaa/aaaa,那么连接串要写成:

conn user01/"aaaa/aaaa"。

双引号,需要用双引号括起连接串中的密码串,同时双引号还需要用双引号***221;或反斜杠/转义。例如:用户名user01,密码为aaaa***221;aaaa ,那么连接串要写成conn user01/***221;aaaa***221;***221;aaaa***221;。

使用CONN[ECT]命令建立新会话时,会自动断开先前会话。


SQL> conn sysdba/xxzx7817600@10.18.30.190:5236

Server[10.18.30.190:5236]:mode is normal, state is open
login used time: 10.735(ms)

2. DISCONN[ECT] 断开连接
DISCONN[ECT]:断开连接而不退出DIsql。与logout功能一样。

SQL> disconnect
not connected

3使用DIsql
以一个简单的查询例子来说明如何使用DIsql。只需要输入一条SQL语句,回车即可。DIsql将SQL语句发送给DM数据库服务器并显示服务器返回的结果。SQL语句如何书写请参考《DM7_SQL语言使用手册》。

SQL> select top 5 name,id from sysobjects;

LINEID     NAME       ID         
---------- ---------- -----------
1          SYSOBJECTS 0
2          SYSINDEXES 1
3          SYSCOLUMNS 2
4          SYSUSER$   3
5          SYSCONS    4

used time: 2.961(ms). Execute id is 2096.

4退出DIsql
使用EXIT/QUIT命令,退出DIsql。
语法如下:
EXIT|QUIT

SQL> exit
[dmdba@cs1 bin]$ 

DIsql与SQL*Plus有很多类似,对于有Oracle学习经验的从业者来说还是很容易上手的。

Oracle alert.log出现OER 7451 in Load Indicator : Error Code = OSD-04500的问题处理

在对某数据库进行巡检时发现alert.log中出现了以下错误信息

OER 7451 in Load Indicator : Error Code = OSD-04500: 指定了非法选项
O/S-Error: (OS 1) 函数不正确。 !
OER 7451 in Load Indicator : Error Code = OSD-04500: 指定了非法选项
O/S-Error: (OS 1) 函数不正确。 !

我们可以查看错误信息说明

07451, 00000, "slskstat: unable to obtain load information."
// *Cause:  kstat library returned an error. Possible OS failure
// *Action: Check result code in sercose[0] for more information.

对于这个问题MOS上有一入篇文章OER 7451 in Load Indicator : Error Code = OSD-04500: illegal option specified [ID 1060806.1]说是操作系统版本与数据库版本不匹配造成的。

OER 7451 in Load Indicator : Error Code = OSD-04500: illegal option specified [ID 1060806.1]
Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 11.2.0.1 - Release: 10.2 to 11.2
Microsoft Windows (32-bit)
Microsoft Windows x64 (64-bit)
***Checked for relevance on 01-Nov-2011***
Symptoms
The following error repeats over and overinthe database alert log immediately after startup.

OER 7451 inLoad Indicator : Error Code = OSD-04500: illegal option specified
O/S-Error: (OS 1) Incorrectfunction. !

Changes
This is a new installation.

Cause
Installed 32-bit Oracle database software on a 64-bit MS Windows OSwhichis not supported.
Here is excerpt from Note: 740926.1 on this subject.

Note: For the Database software, you can ONLYinstallthe x64 version on MS Windows (x64).
          You can NOTinstallthe 32-bit version Database software on MS Windows (x64).

Solution
Install 32-bit Oracle database software only on 32-bit MS Windows OS.

检查数据库版本,发现数据库是32位

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on 星期六 7月 21 18:04:28 2018

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


SQL> conn sys/system@abc as sysdba
已连接。
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for 32-bit Windows: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断
开

检查操作系统,发现操作系统是64位
C:\Users\Administrator>systeminfo
主机名: WIN-ROUOJ6ERFO2
OS 名称: Microsoft Windows Server 2008 R2 Enterprise
OS 版本: 6.1.7601 Service Pack 1 Build 7601
OS 制造商: Microsoft Corporation
OS 配置: 独立服务器
OS 构件类型: Multiprocessor Free
注册的所有人: Windows 用户
注册的组织:
产品 ID: 00486-OEM-8400691-20006
初始安装日期: 2016/8/25, 11:37:01
系统启动时间: 2018/7/24, 9:32:07
系统制造商: VMware, Inc.
系统型号: VMware Virtual Platform
系统类型: x64-based PC
处理器: 安装了 1 个处理器。
[01]: Intel64 Family 6 Model 26 Stepping 5 GenuineIntel ~2128
Mhz
BIOS 版本: Phoenix Technologies LTD 6.00, 2014/4/14
Windows 目录: C:\Windows
系统目录: C:\Windows\system32

果然是在64位的系统中安装了32位的Oracle软件,数据库版本与操作系统版需要严格遵守安装官方的support list

Oracle Linux 7.1中安装达梦数据库DM7

一安装前准备工作
1.1检查Linux(Unix)系统信息
用户在安装DM前,需要检查当前操作系统的相关信息,确认DM安装程序与当前操作系统匹配,以保证DM能够正确安装和运行。用户可以使用以下命令检查操作系统基本信息。如下图所示:
#获取系统位数

[root@cs1 ~]# getconf LONG_BIT
64 

#查询操作系统release信息

[root@cs1 ~]# cat /etc/oracle-release
Oracle Linux Server release 7.1

#查询系统信息

[root@cs1 ~]# cat /etc/issue
Oracle Linux Server release 7.1
Kernel \r on an \m 

#查询系统名称

[root@cs1 ~]# uname -a
Linux cs1.jy.net 3.8.13-55.1.6.el7uek.x86_64 #2 SMP Wed Feb 11 14:18:22 PST 2015 x86_64 x86_64 x86_64 GNU/Linux

1.2创建安装用户
为了减少对操作系统的影响,用户不应该以root系统用户来安装和运行DM。用户可以在安装之前为DM创建一个专用的系统用户。
1. 创建安装用户组dinstall。

[root@cs1 soft]# groupadd dinstall

2. 创建安装用户dmdba。

[root@cs1 soft]# useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba 

3. 初始化用户密码。

[root@cs1 soft]# passwd dmdba
Changing password for user dmdba.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.。

注意:创建安装系统用户完成后,安装手册之后的操作默认使用安装系统用户进行操作。

1.3 Linux(Unix)下检查操作系统限制
在Linux(Unix)系统中,因为ulimit命令的存在,会对程序使用操作系统资源进行限制。为了使DM能够正常运行,建议用户检查当前安装用户的ulimit参数。
运行ulimit -a进行查询。如下图所示:

[root@cs1 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61672
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 61672
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

参数使用限制:
1.data seg size
data seg size (kbytes, -d) 建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败。
2. file size
file size(blocks, -f) 建议用户设置为unlimited(无限制),此参数过小将导致数据库安装或初始化失败。
3. open files
open files(-n)建议用户设置为65536以上或unlimited(无限制)。
4.virtual memory
virtual memory (kbytes, -v) 建议用户设置为1048576(即1GB)以上或unlimited(无限制),此参数过小将导致数据库启动失败。
如果用户需要为当前安装用户更改ulimit的资源限制,请修改文件/etc/security/limits.conf。

[root@cs1 ~]# su - dmdba
Last login: Mon Jul 23 21:22:56 CST 2018 on pts/1
su: cannot open session: Permission denied
[root@cs1 ~]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61672
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 61672
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


[root@cs1 ~]# vi /etc/security/limits.conf
dmdba soft data unlimited
dmdba hard data unlimited
dmdba soft fsize unlimited
dmdba hard fsize unlimited
dmdba soft nofile 65536
dmdba hard nofile 65536

 [root@cs1 ~]# su - dmdba
Last login: Mon Jul 23 21:23:10 CST 2018 on pts/1
[dmdba@cs1 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61672
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

可以通过命令unlimit进行设置

[dmdba@cs1 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61672
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

[dmdba@cs1 ~]$ ulimit -c unlimited

[dmdba@cs1 ~]$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 61672
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 4096
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

1.4检查系统内存与存储空间
1.检查内存
为了保证DM的正确安装和运行,要尽量保证操作系统至少1GB的可用内存(RAM)。如果可用内存过少,可能导致DM安装或启动失败。用户可以使用以下命令检查操作内存:
#获取内存总大小

[root@cs1 ~]# grep MemTotal /proc/meminfo
MemTotal:        7914692 kB

#获取交换分区大小

[root@cs1 ~]# grep SwapTotal /proc/meminfo
SwapTotal:       8257532 kB

#获取内存使用详情

[root@cs1 ~]# free
              total        used        free      shared  buff/cache   available
Mem:        7914692     2736024      837368     2744456     4341300     2162354
Swap:       8257532     1132852     7124680

2.检查存储空间
1) DM完全安装需要1GB的存储空间,用户需要提前规划好安装目录,预留足够的存储空间。用户在DM安装前也应该为数据库实例预留足够的存储空间,规划好数据路径和备份路径。用户可使用以下命令检查存储空间:
#查询目录/mount_point/dir_name可用空间

[root@cs1 ~]# df -h /
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/ol-root   72G   47G   26G  65% /

2) DM安装程序在安装时将产生临时文件,临时文件需要1GB的存储空间,临时文件目录默认为/tmp。用户可以使用以下命令检查存储空间。如下图所示:

[root@cs1 ~]# df -h /tmp
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/ol-root   72G   47G   26G  65% /

如果/tmp目录不能保证1GB的存储空间,用户可以扩展/tmp目录存储空间或者通过设置环境变量DM_INSTALL_TMPDIR指定安装程序的临时目录。具体命令如下所示:
#以BASH为例:

mkdir -p /mount_point/dir_name 
DM_INSTALL_TMPDIR=/mount_point/dir_name 
export DM_INSTALL_TMPDIR

二.安装DM
用户应登录或切换到安装系统用户,进行以下安装步骤的操作(注:不建议使用root系统用户进行安装)。将DM上传到/soft目录中,然后解压软件包

[root@cs1 soft]# unzip DM_linux64.zip
Archive:  DM_linux64.zip
  inflating: dm7_setup_neokylin6_64_20180209.iso  
[root@cs1 soft]# ls -lrt
 
-rw-r--r--  1 root   root      493170688 Mar 19 11:24 dm7_setup_neokylin6_64_20180209.iso
-rw-r--r--  1 root   root      488814959 Jul 20 23:04 DM_linux64.zip

创建目录/soft/dm_soft用来存储挂载iso文件后来显示软件包中的文件

[root@cs1 soft]# mkdir dm_soft
[root@cs1 soft]# mount -t iso9660 -o loop dm7_setup_neokylin6_64_20180209.iso /soft/dm_soft

[root@cs1 dm_soft]# ls -lrt
total 481250
-r-xr-xr-x 1 root root   2207674 Feb  9 15:00 DM_Install_zh.pdf
-r-xr-xr-x 1 root root   2266249 Feb  9 15:00 DM_Install_en.pdf
-r-xr-xr-x 1 root root       959 Feb  9 15:01 release_zh.txt
-r-xr-xr-x 1 root root       854 Feb  9 15:01 release_en.txt
-r-xr-xr-x 1 root root 488322747 Feb  9 16:17 DMInstall.bin

在/soft/dm_soft目录下存在DMInstall.bin文件, DMInstall.bin文件就是DM的安装程序。在运行安装程序前,需要赋予DMInstall.bin文件执行权限。具体命令如下所示:

 
[root@cs1 dm_soft]#chmod 755  DMInstall.bin

2.1图形界面安装

[root@cs1 Desktop]# xhost +
access control disabled, clients can connect from any host
[root@cs1 Desktop]# su - dmdba
Last login: Mon Jul 23 21:47:18 CST 2018 on pts/0
[dmdba@cs1 ~]$ export DISPLAY=:1
[dmdba@cs1 dm_soft]$ ./DMInstall.bin

当安装进度完成时将会弹出对话框,提示使用root系统用户执行相关命令。用户可根据对话框的说明完成相关操作,之后可关闭此对话框,点击“完成”按钮结束安装

[root@cs1 /]# ./dm_home/dmdba/dmdbms/script/root/root_installer.sh
Move /dm_home/dmdba/dmdbms/bin/dm_svc.conf to /etc
Modify the files' mode of DM Server 
Create the DmAPService service
ln -s '/usr/lib/systemd/system/DmAPService.service' '/etc/systemd/system/multi-user.target.wants/DmAPService.service'
Finished to create the service (DmAPService)
Start the DmAPService service

2.2初始化数据库

[root@cs1 /]# mv /dm_home/dmdba/dmdbms/bin/DmServicejydm.service /usr/lib/systemd/system/DmServicejydm.service
[root@cs1 /]# systemctl enable DmServicejydm.service
ln -s '/usr/lib/systemd/system/DmServicejydm.service' '/etc/systemd/system/multi-user.target.wants/DmServicejydm.service'
[root@cs1 /]# systemctl start DmServicejydm.service

使用客户端工具来登录数据库来验证安装是否成功

到此,在Oracle Linux 7.1中安装达梦7就完成,对熟悉Oracle的朋友来说学习达梦数据库还是很容易上手的。

Oracle Weblogic 反序列化漏洞 (CVE-2018-2893 )的补丁升级操作

Oracle官方发布了7月份的关键补丁更新 CPU(CriticalPatchUpdate ),其中包含一个高危的 Weblogic 反序列化漏洞 (CVE-2018-2893 ),该漏洞通过JRMP协议利用RMI机制的缺陷达到执行任意反序列化代码的目。 攻击者可以在未授权情况下将 payload 封装在T3协议中,通过对T3协议中的 payload 进行反序列化,从而实现对存在漏洞的 进行反序列化,从而实现对存在漏洞的WebLogic组件进行远程攻击,执行任意代码并可获取目标系统的所有权限。受影响的颁布为Oracle WebLogicServer 10.3.6.0,Oracle WebLogicServer 12.1.3.0,Oracle WebLogicServer 12.2.1.2,Oracle WebLogicServer 12.2.1.3

Oracle目前已经发布了升级补丁可参考链接***221;Critical Patch Update (CPU) Program July 2018 Patch Availability Document (PAD) (Doc ID 2394520.1)***221;

我们的生产环境WebLogic主要是两个版本10.3.6.0与12.1.3.0。下面是具体操作
对于10.3.6.0版本需要执行bsh.sh脚本来进行补丁安装
1.首先下载补丁包27919965_1036_Generic.zip

2.将补丁包27919965_1036_Generic.zip上传到{MW_HOME}/utils/bsu/cache_dir 其中MW_HOME是Weblogic的BASE目录,类似于Oracle BASE目录

3.将补丁包27919965_1036_Generic.zip解压

[root@app1 cache_dir]# unzip p27919965_1036_Generic.zip
Archive:  p27919965_1036_Generic.zip
 extracting: B47X.jar                
  inflating: patch-catalog_26112.xml  
  inflating: README.txt              

4.执行安装命令(bsu.sh -install -patch_download_dir={MW_HOME}/utils/bsu/cache_dir -patchlist={PATCH_ID} -prod_dir={MW_HOME}/{WL_HOME}) 其中WL_HOME是WebLogic home目录

root@app1 bsu]# ./bsu.sh -install -patch_download_dir=/wls11g/utils/bsu/cache_dir -patchlist=B47X -prod_dir=/wls11g/wlserver_10.3
Checking for conflicts...............
No conflict(s) detected

Installing Patch ID: B47X..
Result: Success

5.检查补丁包是否安装成功

[root@app1 bsu]# ./bsu.sh -prod_dir=/wls11g/wlserver_10.3 -status=applied -verbose -view 
ProductName:       WebLogic Server
ProductVersion:    10.3 MP6
Components:        WebLogic Server/Core Application Server,WebLogic Server/Admi
                   nistration Console,WebLogic Server/Configuration Wizard and 
                   Upgrade Framework,WebLogic Server/Web 2.0 HTTP Pub-Sub Serve
                   r,WebLogic Server/WebLogic SCA,WebLogic Server/WebLogic JDBC
                    Drivers,WebLogic Server/Third Party JDBC Drivers,WebLogic S
                   erver/WebLogic Server Clients,WebLogic Server/WebLogic Web S
                   erver Plugins,WebLogic Server/UDDI and Xquery Support,WebLog
                   ic Server/Evaluation Database,WebLogic Server/Workshop Code 
                   Completion Support
BEAHome:           /wls11g
ProductHome:       /wls11g/wlserver_10.3
PatchSystemDir:    /wls11g/utils/bsu
PatchDir:          /wls11g/patch_wls1036
Profile:           Default
DownloadDir:       /wls11g/utils/bsu/cache_dir
JavaVersion:       1.6.0_29
JavaVendor:        Sun


Patch ID:          B47X
PatchContainer:    B47X.jar
Checksum:          -345780037
Severity:          optional
Category:          General
CR/BUG:            27919965
Restart:           true
Description:       WLS PATCH SET UPDATE 10.3.6.0.180717
WLS PATCH SET UPDATE 10
                   .3.6.0.180717

6.重启WebLogic

[root@app1 bsu]# service weblogic restart
Stopping weblogic: weblogic is not running.

Starting weblogic: 
[root@app1 bsu]# .
JAVA Memory arguments: -Xms4096m -Xmx4096m  -XX:MaxPermSize=1024m
.
WLS Start Mode=Production
.
CLASSPATH=/wls11g/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/wls11g/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/usr/lib/jvm/java-

1.6.0-openjdk-

1.6.0.0.x86_64/lib/tools.jar:/wls11g/wlserver_10.3/server/lib/weblogic_sp.jar:/wls11g/wlserver_10.3/server/lib/weblogic.jar:/wls11g/modules/features/weblogic.server.modules_10.3.6.0.jar:/wl

s11g/wlserver_10.3/server/lib/webservices.jar:/wls11g/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/wls11g/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-

contrib.jar:/wls11g/wlserver_10.3/common/derby/lib/derbyclient.jar:/wls11g/wlserver_10.3/server/lib/xqrl.jar:.:/weblogic11_64/jdk1.6.0_20/lib/dt.jar:/weblogic11_64/jdk1.6.0_20/lib/tools.jar
.
PATH=/wls11g/wlserver_10.3/server/bin:/wls11g/modules/org.apache.ant_1.7.1/bin:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin:/usr/lib/jvm/java-1.6.0-openjdk-

1.6.0.0.x86_64/bin:/weblogic11_64/jdk1.6.0_20/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
starting weblogic with Java version:
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
Starting WLS with line:
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/java -server   -Xms4096m -Xmx4096m  -XX:MaxPermSize=1024m -Dweblogic.Name=AdminServer -

Djava.security.policy=/wls11g/wlserver_10.3/server/lib/weblogic.policy  -Dweblogic.ProductionModeEnabled=true   -da -Dplatform.home=/wls11g/wlserver_10.3 -

Dwls.home=/wls11g/wlserver_10.3/server -Dweblogic.home=/wls11g/wlserver_10.3/server   -Dweblogic.management.discover=true  -Dwlw.iterativeDev=false -Dwlw.testConsole=false -

Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/wls11g/patch_wls1036/profiles/default/sysext_manifest_classpath:/wls11g/patch_ocp371/profiles/default/sysext_manifest_classpath -

Dplatform.home=/wls11g/wlserver_10.3 -Dwls.home=/wls11g/wlserver_10.3/server -Dweblogic.home=/wls11g/wlserver_10.3/server   -Dweblogic.management.discover=true  -verbose:gc -XX:

+PrintGCTimeStamps  -XX:+HeapDumpOnOutOfMemoryError  -XX:+PrintGCDetails -XX:+PrintGC -Xloggc:gc.log  -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false  

weblogic.Server
<Jul 19, 2018 4:20:09 PM CST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -

Dweblogic.security.allowCryptoJDefaultJCEVerification=true> 
<Jul 19, 2018 4:20:09 PM CST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -

Dweblogic.security.allowCryptoJDefaultPRNG=true> 

执行重启命令后,weblogic进行自动终止,并且没有生成任何日志与错误信息,如是我选择删除该补丁

7.删除补丁

root@app1 bsu]# ./bsu.sh -remove -patchlist=B47X -prod_dir=/wls11g/wlserver_10.3
Checking for conflicts..............
No conflict(s) detected

Removing Patch ID: B47X..
Result: Success

8.重启WebLogic恢复正常

[root@app1 bsu]# service weblogic restart
Stopping weblogic: weblogic is not running.

Starting weblogic: 
[root@app1 bsu]# .
.
JAVA Memory arguments: -Xms4096m -Xmx4096m  -XX:MaxPermSize=256m
.
WLS Start Mode=Production
.
CLASSPATH=/wls11g/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/wls11g/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/usr/lib/jvm/java-

1.6.0-openjdk-

1.6.0.0.x86_64/lib/tools.jar:/wls11g/wlserver_10.3/server/lib/weblogic_sp.jar:/wls11g/wlserver_10.3/server/lib/weblogic.jar:/wls11g/modules/features/weblogic.server.modules_10.3.6.0.jar:/wl

s11g/wlserver_10.3/server/lib/webservices.jar:/wls11g/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/wls11g/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-

contrib.jar:/wls11g/wlserver_10.3/common/derby/lib/derbyclient.jar:/wls11g/wlserver_10.3/server/lib/xqrl.jar
.
PATH=/wls11g/wlserver_10.3/server/bin:/wls11g/modules/org.apache.ant_1.7.1/bin:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin:/usr/lib/jvm/java-1.6.0-openjdk-

1.6.0.0.x86_64/bin:/sbin:/usr/sbin:/bin:/usr/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
starting weblogic with Java version:
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
Starting WLS with line:
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/java -server   -Xms4096m -Xmx4096m  -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -

Djava.security.policy=/wls11g/wlserver_10.3/server/lib/weblogic.policy  -Dweblogic.ProductionModeEnabled=true   -da -Dplatform.home=/wls11g/wlserver_10.3 -

Dwls.home=/wls11g/wlserver_10.3/server -Dweblogic.home=/wls11g/wlserver_10.3/server   -Dweblogic.management.discover=true  -Dwlw.iterativeDev=false -Dwlw.testConsole=false -

Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/wls11g/patch_wls1036/profiles/default/sysext_manifest_classpath:/wls11g/patch_ocp371/profiles/default/sysext_manifest_classpath -

Dplatform.home=/wls11g/wlserver_10.3 -Dwls.home=/wls11g/wlserver_10.3/server -Dweblogic.home=/wls11g/wlserver_10.3/server   -Dweblogic.management.discover=true  -verbose:gc -XX:

+PrintGCTimeStamps  -XX:+HeapDumpOnOutOfMemoryError  -XX:+PrintGCDetails -XX:+PrintGC -Xloggc:gc.log  -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false  

weblogic.Server
<Jul 19, 2018 5:38:59 PM CST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -

Dweblogic.security.allowCryptoJDefaultJCEVerification=true> 
<Jul 19, 2018 5:38:59 PM CST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -

Dweblogic.security.allowCryptoJDefaultPRNG=true> 
<Jul 19, 2018 5:38:59 PM CST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with OpenJDK 64-Bit Server VM Version 1.6.0-b09 from Sun Microsystems Inc.> 
<Jul 19, 2018 5:39:00 PM CST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050 > 
<Jul 19, 2018 5:39:02 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 
<Jul 19, 2018 5:39:02 PM CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool> 
<Jul 19, 2018 5:39:03 PM CST> <Notice> <Log Management> <BEA-170019> <The server log file /wls11g/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All 

server side log events will be written to this file.> 
<Jul 19, 2018 5:39:05 PM CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.> 
<Jul 19, 2018 5:39:08 PM CST> <Warning> <Deployer> <BEA-149617> <Non-critical internal application wls-wsat was not deployed. Error: [Deployer:149158]No application files exist at 

'/wls11g/wlserver_10.3/server/lib/wls-wsat.war'.> 
<Jul 19, 2018 5:39:09 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY> 
<Jul 19, 2018 5:39:09 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 

9.由于安装补丁后不能正常启动weblogic所以选择禁用T3协议
登录控制台后在 bash_domain的配置页面中选择“安全”选项卡页面,再点击***221;筛选器***221;并在连接筛选器规则中设置以下规则

127.0.0.1 * * allow t3 t3s
0.0.0.0/0 * * deny t3 t3s


10.然后重新启动weblogic

[root@app1 bsu]# service weblogic restart
Stopping weblogic: weblogic is not running.

Starting weblogic: 
[root@app1 bsu]# .
.
JAVA Memory arguments: -Xms4096m -Xmx4096m  -XX:MaxPermSize=256m
.
WLS Start Mode=Production
.
CLASSPATH=/wls11g/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/wls11g/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/usr/lib/jvm/java-

1.6.0-openjdk-

1.6.0.0.x86_64/lib/tools.jar:/wls11g/wlserver_10.3/server/lib/weblogic_sp.jar:/wls11g/wlserver_10.3/server/lib/weblogic.jar:/wls11g/modules/features/weblogic.server.modules_10.3.6.0.jar:/wl

s11g/wlserver_10.3/server/lib/webservices.jar:/wls11g/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/wls11g/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-

contrib.jar:/wls11g/wlserver_10.3/common/derby/lib/derbyclient.jar:/wls11g/wlserver_10.3/server/lib/xqrl.jar
.
PATH=/wls11g/wlserver_10.3/server/bin:/wls11g/modules/org.apache.ant_1.7.1/bin:/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin:/usr/lib/jvm/java-1.6.0-openjdk-

1.6.0.0.x86_64/bin:/sbin:/usr/sbin:/bin:/usr/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
starting weblogic with Java version:
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
Starting WLS with line:
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/bin/java -server   -Xms4096m -Xmx4096m  -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -

Djava.security.policy=/wls11g/wlserver_10.3/server/lib/weblogic.policy  -Dweblogic.ProductionModeEnabled=true   -da -Dplatform.home=/wls11g/wlserver_10.3 -

Dwls.home=/wls11g/wlserver_10.3/server -Dweblogic.home=/wls11g/wlserver_10.3/server   -Dweblogic.management.discover=true  -Dwlw.iterativeDev=false -Dwlw.testConsole=false -

Dwlw.logErrorsToConsole=false -Dweblogic.ext.dirs=/wls11g/patch_wls1036/profiles/default/sysext_manifest_classpath:/wls11g/patch_ocp371/profiles/default/sysext_manifest_classpath -

Dplatform.home=/wls11g/wlserver_10.3 -Dwls.home=/wls11g/wlserver_10.3/server -Dweblogic.home=/wls11g/wlserver_10.3/server   -Dweblogic.management.discover=true  -verbose:gc -XX:

+PrintGCTimeStamps  -XX:+HeapDumpOnOutOfMemoryError  -XX:+PrintGCDetails -XX:+PrintGC -Xloggc:gc.log  -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false  

weblogic.Server
<Jul 19, 2018 5:38:59 PM CST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provider self-integrity check for better startup performance. To enable this check, specify -

Dweblogic.security.allowCryptoJDefaultJCEVerification=true> 
<Jul 19, 2018 5:38:59 PM CST> <Info> <Security> <BEA-090906> <Changing the default Random Number Generator in RSA CryptoJ from ECDRBG to FIPS186PRNG. To disable this change, specify -

Dweblogic.security.allowCryptoJDefaultPRNG=true> 
<Jul 19, 2018 5:38:59 PM CST> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with OpenJDK 64-Bit Server VM Version 1.6.0-b09 from Sun Microsystems Inc.> 
<Jul 19, 2018 5:39:00 PM CST> <Info> <Management> <BEA-141107> <Version: WebLogic Server 10.3.6.0  Tue Nov 15 08:52:36 PST 2011 1441050 > 
<Jul 19, 2018 5:39:02 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 
<Jul 19, 2018 5:39:02 PM CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool> 
<Jul 19, 2018 5:39:03 PM CST> <Notice> <Log Management> <BEA-170019> <The server log file /wls11g/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All 

server side log events will be written to this file.> 
<Jul 19, 2018 5:39:05 PM CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.> 
<Jul 19, 2018 5:39:08 PM CST> <Warning> <Deployer> <BEA-149617> <Non-critical internal application wls-wsat was not deployed. Error: [Deployer:149158]No application files exist at 

'/wls11g/wlserver_10.3/server/lib/wls-wsat.war'.> 
<Jul 19, 2018 5:39:09 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY> 
<Jul 19, 2018 5:39:09 PM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 

对于12.1.3.0版本使用OPatch来进行补丁安装
1.将最新的OPatch工具上传到WebLogic所在服务器并解压

[root@ldjc wls12c]# unzip p6880880_132000_Generic.zip
Archive:  p6880880_132000_Generic.zip
replace OPatch/ocm/lib/emocmutl.jar? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: OPatch/ocm/lib/emocmutl.jar  
replace OPatch/ocm/doc/dummy.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
 extracting: OPatch/ocm/doc/dummy.txt  
 extracting: OPatch/ocm/bin/dummy    
  inflating: OPatch/ocm/ocm_platforms.txt  
 extracting: OPatch/ocm/generic.zip  
  inflating: OPatch/oplan/README.html  
  inflating: OPatch/oplan/oplan      
  inflating: OPatch/oplan/README.txt  
  inflating: OPatch/oplan/jlib/EMrepoDrivers.jar  
  inflating: OPatch/oplan/jlib/automation.jar  
  inflating: OPatch/oplan/jlib/Validation.jar  
  inflating: OPatch/oplan/jlib/apache-commons/commons-cli-1.0.jar  
  inflating: OPatch/oplan/jlib/CRSProductDriver.jar  
  inflating: OPatch/oplan/jlib/OsysModel.jar  
  inflating: OPatch/oplan/jlib/oplan.jar  
  inflating: OPatch/oplan/jlib/jaxb/activation.jar  
  inflating: OPatch/oplan/jlib/jaxb/jaxb-api.jar  
  inflating: OPatch/oplan/jlib/jaxb/jaxb-impl.jar  
  inflating: OPatch/oplan/jlib/jaxb/jsr173_1.0_api.jar  
  inflating: OPatch/oplan/jlib/ValidationRules.jar  
  inflating: OPatch/oplan/jlib/patchsdk.jar  
  inflating: OPatch/oplan/jlib/osysmodel-utils.jar  
  inflating: OPatch/oplan/jlib/oracle.oplan.classpath.jar  
  inflating: OPatch/operr.bat        
  inflating: OPatch/opatchprereqs/oui/knowledgesrc.xml  
   creating: OPatch/opatchprereqs/opatch/
  inflating: OPatch/opatchprereqs/opatch/opatch_prereq.xml  
  inflating: OPatch/opatchprereqs/opatch/rulemap.xml  
  inflating: OPatch/opatchprereqs/opatch/runtime_prereq.xml  
  inflating: OPatch/opatchprereqs/opatch_prereq.sh  
  inflating: OPatch/opatchprereqs/prerequisite.properties  
  inflating: OPatch/opatch           
  inflating: OPatch/emdpatch.pl      
  inflating: OPatch/version.txt      
  inflating: OPatch/opatch.ini       
  inflating: OPatch/operr            
  inflating: OPatch/README.txt       
  inflating: OPatch/opatch.pl        
  inflating: OPatch/scripts/opatch_wls.bat  
  inflating: OPatch/scripts/opatch_jvm_discovery.bat  
  inflating: OPatch/scripts/opatch_wls  
  inflating: OPatch/scripts/opatch_jvm_discovery  
  inflating: OPatch/docs/operr_readme.txt  
  inflating: OPatch/docs/README.txt  
  inflating: OPatch/jlib/oracle.opatch.classpath.windows.jar  
  inflating: OPatch/jlib/opatchsdk.jar  
  inflating: OPatch/jlib/oracle.opatch.classpath.unix.jar  
  inflating: OPatch/jlib/opatch.jar  
  inflating: OPatch/jlib/oracle.opatch.classpath.jar  
  inflating: OPatch/opatch.bat       

[root@ldjc wls12c]# chown -R xxxx:xxxx /wls12c/OPatch

2.将补丁包上传unzip p27919943_121300_Generic.zip到WebLogic所在服务器并解压

[root@ldjc soft]# unzip p27919943_121300_Generic.zip
Archive:  p27919943_121300_Generic.zip
   creating: 27919943/
   creating: 27919943/etc/
   creating: 27919943/etc/config/
  inflating: 27919943/etc/config/actions.xml  
  inflating: 27919943/etc/config/inventory.xml  
   creating: 27919943/files/
   creating: 27919943/files/inventory/
   creating: 27919943/files/inventory/Components/
   creating: 27919943/files/inventory/Components/oracle.css.mod/
   creating: 27919943/files/inventory/Components/oracle.css.mod/12.1.3.0.0/
   creating: 27919943/files/inventory/Components/oracle.css.mod/12.1.3.0.0/patches/
   creating: 27919943/files/inventory/Components/oracle.css.mod/12.1.3.0.0/patches/22153233/
  inflating: 27919943/files/inventory/Components/oracle.css.mod/12.1.3.0.0/patches/22153233/compDef.xml  
   creating: 27919943/files/inventory/Components/oracle.fmwconfig.common.shared/
...省略...

3.安装补丁

[weblogic@ldjc OPatch]$ ./opatch apply /soft/27919943/
Oracle Interim Patch Installer version 13.2.0.0.0
Copyright (c) 2014, Oracle Corporation.  All rights reserved.


Oracle Home       : /wls12c
Central Inventory : /home/weblogic/oraInventory
   from           : /wls12c/oraInst.loc
OPatch version    : 13.2.0.0.0
OUI version       : 13.2.0.0.0
Log file location : /wls12c/cfgtoollogs/opatch/27919943_Jul_20_2018_06_54_37/apply2018-07-20_06-54-29AM_1.log


OPatch detects the Middleware Home as "/wls12c"

Jul 20, 2018 6:54:41 AM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level  0
Applying interim patch '27919943' to OH '/wls12c'
Verifying environment and performing prerequisite checks...
Interim patch 27919943 is a superset of the patch(es) [  22250567 21370953 ] in the Oracle Home
OPatch will roll back the subset patches and apply the given patch.
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/wls12c')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Rolling back interim patch '22250567' from OH '/wls12c'

Patching component oracle.wls.libraries, 12.1.3.0.0...

Patching component oracle.wls.libraries, 12.1.3.0.0...

Patching component oracle.wls.clients, 12.1.3.0.0...

Patching component oracle.wls.clients, 12.1.3.0.0...
RollbackSession removing interim patch '22250567' from inventory
Rolling back interim patch '21370953' from OH '/wls12c'

Patching component oracle.wls.libraries, 12.1.3.0.0...

Patching component oracle.wls.libraries, 12.1.3.0.0...

Patching component oracle.wls.clients, 12.1.3.0.0...

Patching component oracle.wls.clients, 12.1.3.0.0...

Patching component oracle.wls.core.app.server, 12.1.3.0.0...

Patching component oracle.wls.core.app.server, 12.1.3.0.0...

Patching component oracle.wls.libraries.mod, 12.1.3.0.0...

Patching component oracle.wls.libraries.mod, 12.1.3.0.0...

Patching component oracle.webservices.wls, 12.1.3.0.0...

Patching component oracle.webservices.wls, 12.1.3.0.0...

Patching component oracle.wls.server.shared.with.core.engine, 12.1.3.0.0...

Patching component oracle.wls.server.shared.with.core.engine, 12.1.3.0.0...

Patching component oracle.wls.workshop.code.completion.support, 12.1.3.0.0...

Patching component oracle.wls.workshop.code.completion.support, 12.1.3.0.0...

Patching component oracle.wls.admin.console.en, 12.1.3.0.0...

Patching component oracle.wls.admin.console.en, 12.1.3.0.0...
RollbackSession removing interim patch '21370953' from inventory


OPatch back to application of the patch '27919943' after auto-rollback.


Patching component oracle.wls.workshop.code.completion.support, 12.1.3.0.0...

Patching component oracle.wls.workshop.code.completion.support, 12.1.3.0.0...

Patching component oracle.css.mod, 12.1.3.0.0...

Patching component oracle.css.mod, 12.1.3.0.0...

Patching component oracle.fmwconfig.common.shared, 12.1.3.0.0...

Patching component oracle.fmwconfig.common.shared, 12.1.3.0.0...

Patching component oracle.wls.common.nodemanager, 12.1.3.0.0...

Patching component oracle.wls.common.nodemanager, 12.1.3.0.0...

Patching component oracle.wls.server.shared.with.core.engine, 12.1.3.0.0...

Patching component oracle.wls.server.shared.with.core.engine, 12.1.3.0.0...

Patching component oracle.webservices.base, 12.1.3.0.0...

Patching component oracle.webservices.base, 12.1.3.0.0...

Patching component oracle.wls.shared.with.cam, 12.1.3.0.0...

Patching component oracle.wls.shared.with.cam, 12.1.3.0.0...

Patching component oracle.webservices.orawsdl, 12.1.3.0.0...

Patching component oracle.webservices.orawsdl, 12.1.3.0.0...

Patching component oracle.wls.libraries.mod, 12.1.3.0.0...

Patching component oracle.wls.libraries.mod, 12.1.3.0.0...

Patching component oracle.wls.admin.console.en, 12.1.3.0.0...

Patching component oracle.wls.admin.console.en, 12.1.3.0.0...

Patching component oracle.wls.core.app.server, 12.1.3.0.0...

Patching component oracle.wls.core.app.server, 12.1.3.0.0...

Patching component oracle.webservices.wls, 12.1.3.0.0...

Patching component oracle.webservices.wls, 12.1.3.0.0...

Patching component oracle.wls.clients, 12.1.3.0.0...

Patching component oracle.wls.clients, 12.1.3.0.0...

Patching component oracle.wls.wlsportable.mod, 12.1.3.0.0...

Patching component oracle.wls.wlsportable.mod, 12.1.3.0.0...

Patching component oracle.fmwconfig.common.wls.shared, 12.1.3.0.0...

Patching component oracle.fmwconfig.common.wls.shared, 12.1.3.0.0...

Patching component oracle.wls.libraries, 12.1.3.0.0...

Patching component oracle.wls.libraries, 12.1.3.0.0...

Verifying the update...
Patch 27919943 successfully applied
Log file location: /wls12c/cfgtoollogs/opatch/27919943_Jul_20_2018_06_54_37/apply2018-07-20_06-54-29AM_1.log

OPatch succeeded.

4.查看补丁是否安装成功从输出结果可以看到已经安装成功

[weblogic@ldjc OPatch]$ ./opatch lspatches
Jul 20, 2018 7:00:17 AM oracle.sysman.oii.oiii.OiiiInstallAreaControl initAreaControl
INFO: Install area Control created with access level  0
27919943;WLS PATCH SET UPDATE 12.1.3.0.180717
20741228;JDBC 12.1.3.1 BP1

OPatch succeeded.

5.重启weblogic

[root@ldjc base_domain]# service weblogic restart
Stopping weblogic: 
Starting weblogic: 
.
JAVA Memory arguments: -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m  -XX:MaxPermSize=256m
.
CLASSPATH=/opt/jdk1.7.0_75/lib/tools.jar:/wls12c/wlserver/server/lib/weblogic_sp.jar:/wls12c/wlserver/server/lib/weblogic.jar:/wls12c/wlserver/../oracle_common/modules/net.sf.antcontrib_1.1

.0.0_1-0b3/lib/ant-contrib.jar:/wls12c/wlserver/modules/features/oracle.wls.common.nodemanager_2.0.0.0.jar:/wls12c/wlserver/../oracle_common/modules/com.oracle.cie.config-wls-

online_8.1.0.0.jar:/wls12c/wlserver/common/derby/lib/derbyclient.jar:/wls12c/wlserver/common/derby/lib/derby.jar:/wls12c/wlserver/server/lib/xqrl.jar
.
PATH=/wls12c/wlserver/server/bin:/wls12c/wlserver/../oracle_common/modules/org.apache.ant_1.9.2/bin:/opt/jdk1.7.0_75/jre/bin:/opt/jdk1.7.0_75/bin:/sbin:/usr/sbin:/bin:/usr/bin
.
***************************************************
*  To start WebLogic Server, use a username and   *
*  password assigned to an admin-level user.  For *
*  server administration, use the WebLogic Server *
*  console at http://hostname:port/console        *
***************************************************
starting weblogic with Java version:
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
Starting WLS with line:
/opt/jdk1.7.0_75/bin/java -server   -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=128m  -XX:MaxPermSize=256m -Dweblogic.Name=AdminServer -

Djava.security.policy=/wls12c/wlserver/server/lib/weblogic.policy  -Xverify:none -Djava.endorsed.dirs=/opt/jdk1.7.0_75/jre/lib/endorsed:/wls12c/wlserver/../oracle_common/modules/endorsed  

-da -Dwls.home=/wls12c/wlserver/server -Dweblogic.home=/wls12c/wlserver/server     -Dweblogic.utils.cmm.lowertier.ServiceDisabled=true  weblogic.Server


<Jul 20, 2018 7:20:33 AM CST> <Notice> <Log Management> <BEA-170019> <The server log file /wls12c/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All 

server side log events will be written to this file.> 
<Jul 20, 2018 7:20:35 AM CST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.> 
<Jul 20, 2018 7:20:35 AM CST> <Warning> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.1.249:7001/jndi/weblogic.management.mbeanservers.runtime.> 
<Jul 20, 2018 7:20:35 AM CST> <Warning> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://192.168.1.249:7001/jndi/weblogic.management.mbeanservers.domainruntime.> 
<Jul 20, 2018 7:20:35 AM CST> <Warning> <JMX> <BEA-149512> <JMX Connector Server started at service:jmx:iiop://12.18.1.249:7001/jndi/weblogic.management.mbeanservers.edit.> 
<Jul 20, 2018 7:20:36 AM CST> <Warning> <Deployer> <BEA-149617> <Non-critical internal application com.oracle.webservices.wls.wsat-endpoints-impl_12.1.3 was not deployed. Error: 

[Deployer:149158]No application files exist at "/wls12c/wlserver/server/lib/../../../oracle_common/modules/com.oracle.webservices.wls.wsat-endpoints-impl_12.1.3.war".> 
<Jul 20, 2018 7:20:36 AM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STANDBY.> 
<Jul 20, 2018 7:20:36 AM CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING.> 

到此补丁升级完成

Proudly powered by WordPress | Indrajeet by Sus Hill.