ORACLE 12c RAC的常用管理命令
ORACLE 12c RAC的常用管理命令
一、查询
1、RAC查询
1.1、查询节点
[grid@swnode1 ~]$ su - grid
[grid@swnode1 ~]$ /u01/app/12.2.0/grid/bin/olsnodes -s
[grid@swnode1 ~]$ /u01/app/12.2./grid/bin/olsnodes -s
swnode1 Active
swnode2 Active
查看群集的名称:
[grid@swnode1 ~]$ /oracle/app/12.2.0/grid/bin/cemutlo -n
swnode-cluster
1.2、查询群集状态
[grid@swnode1 ~]$ /u01/app/12.2.0/grid/bin/crsctl check cluster //也可以加-all 查询所有节点
[grid@swnode1 ~]$ /u01/app/12.2./grid/bin/crsctl check cluster //也可以加-all 查询所有节点
CRS-: Cluster Ready Services is online
CRS-: Cluster Synchronization Services is online
CRS-: Event Manager is online
1.3、检查集群中资源的状态
两个命令都可以
crsctl stat res -t
crs_stat -t (crs_*命令oracle官方已经不建议使用了)
[grid@swnode1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.DATA.dg
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.MGMT.dg
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.OCR.dg
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.net1.network
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.ons
ONLINE ONLINE swnode1 STABLE
ONLINE ONLINE swnode2 STABLE
ora.proxy_advm
OFFLINE OFFLINE swnode1 STABLE
OFFLINE OFFLINE swnode2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
ONLINE ONLINE swnode2 STABLE
ora.MGMTLSNR
ONLINE ONLINE swnode2 169.254.186.118 10.0
.0.2,STABLE
ora.asm
ONLINE ONLINE swnode1 Started,STABLE
ONLINE ONLINE swnode2 Started,STABLE
OFFLINE OFFLINE STABLE
ora.cvu
ONLINE ONLINE swnode2 STABLE
ora.mgmtdb
ONLINE ONLINE swnode2 Open,STABLE
ora.orcl.db
ONLINE ONLINE swnode1 Open,HOME=/u01/app/o
racle/product/12.2.
/db_1,STABLE
ONLINE ONLINE swnode2 Open,HOME=/u01/app/o
racle/product/12.2.
/db_1,STABLE
ora.qosmserver
ONLINE ONLINE swnode2 STABLE
ora.scan1.vip
ONLINE ONLINE swnode2 STABLE
ora.swnode1.vip
ONLINE ONLINE swnode1 STABLE
ora.swnode2.vip
ONLINE ONLINE swnode2 STABLE
--------------------------------------------------------------------------------
[grid@swnode1 ~]$ crsctl stat res -t
1.4、节点应用程序状态
[grid@swnode1 ~]$ srvctl status nodeapps
VIP 192.168.137.21 已启用
VIP 192.168.137.21 正在节点上运行: swnode1
VIP 192.168.137.22 已启用
VIP 192.168.137.22 正在节点上运行: swnode2
网络已启用
网络正在节点上运行: swnode1
网络正在节点上运行: swnode2
ONS 已启用
ONS 守护程序正在节点上运行:swnode1
ONS 守护程序正在节点上运行:swnode2
2、ASM查询
2.1、状态查看
[grid@swnode1 ~]$ srvctl status asm
[grid@swnode1 ~]$ srvctl status asm
ASM 正在 swnode2,swnode1 上运行
[grid@swnode1 ~]$ srvctl status asm -a
[grid@swnode1 ~]$ srvctl status asm -a
ASM 正在 swnode2,swnode1 上运行
ASM 已启用。
ASM 实例 +ASM1 正在节点 swnode1 上运行
连接的客户机数:
客户机名称: gnnt1:orcl:swnode-cluster swnode1:_OCR:swnode-cluster
ASM 实例 +ASM2 正在节点 swnode2 上运行
连接的客户机数:
客户机名称: -MGMTDB:_mgmtdb:swnode-cluster gnnt2:orcl:swnode-cluster swnode2:_OCR:swnode-cluster
2.2、查看asm配置
[grid@swnode1 ~]$ srvctl config asm -a
[grid@swnode1 ~]$ srvctl config asm -a
ASM 主目录: <CRS home>
口令文件: +OCR/orapwASM
Backup of Password file:
ASM 监听程序: LISTENER
ASM 已启用。
ASM 已在以下节点上分别启用:
ASM 已在以下节点上分别禁用:
ASM 实例计数:
集群 ASM 监听程序: ASMNET1LSNR_ASM
2.3、查看asm是不是Flex
[grid@swnode1 ~]$ asmcmd showclustermode
[grid@swnode1 ~]$ asmcmd showclustermode
ASM cluster : Flex mode enabled
3、监听查看
3.1、查看监听状态
[grid@swnode1 ~]$ srvctl status listener
[grid@swnode1 ~]$ srvctl status listener
监听程序 LISTENER 已启用
监听程序 LISTENER 正在节点上运行: swnode2,swnode1
3.2、查看监听配置
[grid@swnode1 ~]$ srvctl config listener -a
[grid@swnode1 ~]$ srvctl config listener -a
名称: LISTENER
类型: Database Listener
网络: , 所有者: grid
主目录: <CRS home>
节点 swnode2,swnode1 上的 /u01/app/12.2./grid
端点: TCP:
监听程序已启用。
监听程序已在以下节点上分别启用:
监听程序已在以下节点上分别禁用:
3.3、查看scan监听器的状态
[grid@swnode1 ~]$ srvctl status scan_listener
[grid@swnode1 ~]$ srvctl status scan_listener
SCAN 监听程序 LISTENER_SCAN1 已启用
SCAN 监听程序 LISTENER_SCAN1 正在节点 swnode2 上运行
[grid@swnode1 ~]$ srvctl status scan
[grid@swnode1 ~]$ srvctl status scan
SCAN VIP scan1 已启用
SCAN VIP scan1 正在节点 swnode2 上运行
3.4、查看scan网络配置
[grid@swnode1 ~]$ srvctl config scan
[grid@swnode1 ~]$ srvctl config scan
SCAN 名称: swnode-cluster-scan, 网络:
子网 IPv4: 192.168.137.0/255.255.255.0/bond0, static
子网 IPv6:
SCAN IPv4 VIP: 192.168.137.137
SCAN VIP 已启用。
SCAN VIP 已在以下节点上分别启用:
SCAN VIP 已在以下节点上分别禁用:
3.5、查看vip网络
srvctl status vip -n swnode1
srvctl config vip -n swnode1
3.6、节点应用程序配置(VIP、GSD、ONS、监听器)
[grid@swnode1 ~]$ srvctl config nodeapps
[grid@swnode1 ~]$ srvctl config nodeapps
网络1存在
子网 IPv4: 192.168.137.0/255.255.255.0/bond0, static
子网 IPv6:
试通目标:
网络已启用
网络已在以下节点上分别启用:
网络已在以下节点上分别禁用:
VIP 存在: 网络编号 , 托管节点 swnode1
VIP 名称: swnode1-vip
VIP IPv4 地址: 192.168.137.21
VIP IPv6 地址:
VIP 已启用。
VIP 已在以下节点上分别启用:
VIP 已在以下节点上分别禁用:
VIP 存在: 网络编号 , 托管节点 swnode2
VIP 名称: swnode2-vip
VIP IPv4 地址: 192.168.137.22
VIP IPv6 地址:
VIP 已启用。
VIP 已在以下节点上分别启用:
VIP 已在以下节点上分别禁用:
ONS 存在: 本地端口 , 远程端口 , EM 端口 , 使用 SSL true
ONS 已启用
ONS 已在以下节点上分别启用:
ONS 已在以下节点上分别禁用:
4、数据库查看
4.1、数据库状态
数据库名查询
[grid@swnode1 ~]$ srvctl config database
[grid@swnode1 ~]$ srvctl config database
orcl
[grid@swnode1 ~]$ srvctl status database -d orcl
[grid@swnode1 ~]$ srvctl status database -d orcl -f -v
实例 gnnt1 正在节点 swnode1 上运行。实例状态: Open。
实例 gnnt2 正在节点 swnode2 上运行。实例状态: Open。
4.2、查看数据库配置
[grid@swnode1 ~]$ srvctl config database -d orcl -a
[grid@swnode1 ~]$ srvctl config database -d orcl -a
数据库唯一名称: orcl
数据库名: orcl
Oracle 主目录: /u01/app/oracle/product/12.2.0/db_1
Oracle 用户: oracle
Spfile: +MGMT/ORCL/PARAMETERFILE/spfile.292.977561595
口令文件: +MGMT/ORCL/PASSWORD/pwdorcl.273.977557691
域:
启动选项: open
停止选项: immediate
数据库角色: PRIMARY
管理策略: AUTOMATIC
服务器池:
磁盘组: MGMT,DATA
装载点路径:
服务:
类型: RAC
启动并行:
停止并行:
数据库已启用
数据库已在以下节点上分别启用:
数据库已在以下节点上分别禁用:
OSDBA 组: dba
OSOPER 组: oper
数据库实例: gnnt1,gnnt2
已配置的节点: swnode1,swnode2
CSS 关键型: no
CPU 计数: 0
内存目标: 0
最大内存: 0
数据库服务的默认网络编号:
数据库是管理员管理的
4.3、检查数据库的状态
[grid@swnode1 ~]$ srvctl status database -d orcl
[grid@swnode1 ~]$ srvctl status database -d orcl
实例 gnnt1 正在节点 swnode1 上运行
实例 gnnt2 正在节点 swnode2 上运行
srvctl status instance -d orcl -i gnnt1 # 检查指定实例的状态
二、管理命令
1、RAC群集管理命令
1.1、crs_start命令起停rac环境
[grid@swnode1 ~]$ crs_start -all 启动
[grid@swnode1 ~]$ crs_start -t 查看
[grid@swnode1 ~]$ crs_stop -all 关闭
1.2、crsctl起停单节点RAC
[root@swnode1 ~]# /u01/app/12.2./grid/bin/crsctl start cluster -all
CRS-: The following nodes did not reply within the allotted time:
swnode2
CRS-: Oracle Clusterware is already running on 'swnode1'
CRS-: Command Start failed, or completed with errors.
从OCR中删除已有的数据库:
srvctl remove database -d orcl
向OCR中添加一个数据库的实例:
srvctl add instance -d -i -n
srvctl add instance -d -i -n
1.3、通过srvctl 命令管理一个节点的rac
srvctl start|stop|status nodeapps -n rac_node
[grid@swnode1 ~]$ srvctl status nodeapps -n swnode1
VIP 192.168.137.21 已启用
VIP 192.168.137.21 正在节点上运行: swnode1
网络已启用
网络正在节点上运行: swnode1
ONS 已启用
ONS 守护程序正在节点上运行:swnode1
2、ORACLE数据库管理命令
2.1、通过SRVCTL命令来start/stop/check所有的实例:
srvctl start|stop|status database -d db_name
[grid@swnode1 ~]$ srvctl status database -d orcl
实例 gnnt1 正在节点 swnode1 上运行
实例 gnnt2 正在节点 swnode2 上运行
2.2、通过SRVCTL命令来start/stop/check管理指定实例:
srvctl start|stop|status instance -d -i
[grid@swnode1 ~]$ srvctl status instance -d orcl -i gnnt1
实例 gnnt1 正在节点 swnode1 上运行
3、ASM管理命令
启动前确保css、has服务启动
上面RAC状态检查
启动ASM实例
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> startup
SQL> col instance_name for a15
SQL> col status for a15
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
--------------- ---------------
+ASM STARTED
进入ASM
asmcmd -p
三、重启RAC数据库
pdb管理:
查看状态
SQL> select name,open_mode from v$pdbs ; NAME OPEN_MODE
---------- --------------------
PDB$SEED READ ONLY
GNNT_PDB READ WRITE //状态是开启
关闭
SQL> alter pluggable database GNNT_PDB close; Pluggable database altered. SQL> select name,open_mode from v$pdbs ; NAME OPEN_MODE
---------- --------------------
GNNT_PDB MOUNTED //状态变为了关闭
打开pdb
SQL> alter pluggable database GNNT_PDB open; Pluggable database altered. 也可以切换到pdb下操作
SQL> alter session set container=gnnt_pdb; Session altered. SQL> shutdown;
Pluggable Database closed. SQL> startup;
Pluggable Database closed.
关闭database
[oracle@swnode1 ~]$ srvctl stop database -d orcl
[oracle@swnode1 ~]$ srvctl status database -d orcl
实例 gnnt1 没有在 swnode1 节点上运行
实例 gnnt2 没有在 swnode2 节点上运行
关闭rac
[root@swnode1 ~]# /u01/app/12.2./grid/bin/crsctl stop cluster -all
CRS-: 尝试停止 'ora.crsd' (在 'swnode1' 上)
CRS-: 正在开始关闭服务器 'swnode1' 上集群就绪服务管理的资源的操作
CRS-: 尝试停止 'ora.OCR.dg' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.DATA.dg' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.MGMT.dg' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.LISTENER.lsnr' (在 'swnode1' 上)
CRS-: 成功停止 'ora.LISTENER.lsnr' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.swnode1.vip' (在 'swnode1' 上)
CRS-: 成功停止 'ora.OCR.dg' (在 'swnode1' 上)
CRS-: 成功停止 'ora.MGMT.dg' (在 'swnode1' 上)
CRS-: 成功停止 'ora.DATA.dg' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.asm' (在 'swnode1' 上)
CRS-: 成功停止 'ora.asm' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.ASMNET1LSNR_ASM.lsnr' (在 'swnode1' 上)
CRS-: 成功停止 'ora.swnode1.vip' (在 'swnode1' 上)
CRS-: 成功停止 'ora.ASMNET1LSNR_ASM.lsnr' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.ons' (在 'swnode1' 上)
CRS-: 成功停止 'ora.ons' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.net1.network' (在 'swnode1' 上)
CRS-: 成功停止 'ora.net1.network' (在 'swnode1' 上)
CRS-: 关闭 'swnode1' 上集群就绪服务管理的资源的操作已完成
CRS-: 成功停止 'ora.crsd' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.ctssd' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.evmd' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.storage' (在 'swnode1' 上)
CRS-: 成功停止 'ora.storage' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.asm' (在 'swnode1' 上)
CRS-: 成功停止 'ora.ctssd' (在 'swnode1' 上)
CRS-: 成功停止 'ora.evmd' (在 'swnode1' 上)
CRS-: 成功停止 'ora.asm' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.cluster_interconnect.haip' (在 'swnode1' 上)
CRS-: 成功停止 'ora.cluster_interconnect.haip' (在 'swnode1' 上)
CRS-: 尝试停止 'ora.cssd' (在 'swnode1' 上)
CRS-: 成功停止 'ora.cssd' (在 'swnode1' 上)
CRS-: The following nodes did not reply within the allotted time:
swnode2 //提示再节点2上执行超时,那就在2节点上单独执行
[root@swnode2 ~]# /u01/app/12.2./grid/bin/crsctl stop cluster
CRS-: Attempting to stop 'ora.crsd' on 'swnode2'
CRS-: Starting shutdown of Cluster Ready Services-managed resources on server 'swnode2'
CRS-: Attempting to stop 'ora.OCR.dg' on 'swnode2'
CRS-: Attempting to stop 'ora.mgmtdb' on 'swnode2'
CRS-: Attempting to stop 'ora.DATA.dg' on 'swnode2'
CRS-: Attempting to stop 'ora.swnode1.vip' on 'swnode2'
CRS-: Attempting to stop 'ora.LISTENER.lsnr' on 'swnode2'
CRS-: Attempting to stop 'ora.cvu' on 'swnode2'
CRS-: Attempting to stop 'ora.qosmserver' on 'swnode2'
CRS-: Attempting to stop 'ora.LISTENER_SCAN1.lsnr' on 'swnode2'
CRS-: Stop of 'ora.swnode1.vip' on 'swnode2' succeeded
CRS-: Stop of 'ora.OCR.dg' on 'swnode2' succeeded
CRS-: Stop of 'ora.DATA.dg' on 'swnode2' succeeded
CRS-: Stop of 'ora.cvu' on 'swnode2' succeeded
CRS-: Stop of 'ora.LISTENER_SCAN1.lsnr' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.scan1.vip' on 'swnode2'
CRS-: Stop of 'ora.LISTENER.lsnr' on 'swnode2' succeeded
CRS-: Stop of 'ora.scan1.vip' on 'swnode2' succeeded
CRS-: Stop of 'ora.mgmtdb' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.MGMT.dg' on 'swnode2'
CRS-: Attempting to stop 'ora.MGMTLSNR' on 'swnode2'
CRS-: Stop of 'ora.MGMT.dg' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.asm' on 'swnode2'
CRS-: Stop of 'ora.qosmserver' on 'swnode2' succeeded
CRS-: Stop of 'ora.asm' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.ASMNET1LSNR_ASM.lsnr' on 'swnode2'
CRS-: Stop of 'ora.MGMTLSNR' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.swnode2.vip' on 'swnode2'
CRS-: Stop of 'ora.swnode2.vip' on 'swnode2' succeeded
CRS-: Stop of 'ora.ASMNET1LSNR_ASM.lsnr' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.ons' on 'swnode2'
CRS-: Stop of 'ora.ons' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.net1.network' on 'swnode2'
CRS-: Stop of 'ora.net1.network' on 'swnode2' succeeded
CRS-: Shutdown of Cluster Ready Services-managed resources on 'swnode2' has completed
CRS-: Stop of 'ora.crsd' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.ctssd' on 'swnode2'
CRS-: Attempting to stop 'ora.evmd' on 'swnode2'
CRS-: Attempting to stop 'ora.storage' on 'swnode2'
CRS-: Stop of 'ora.storage' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.asm' on 'swnode2'
CRS-: Stop of 'ora.evmd' on 'swnode2' succeeded
CRS-: Stop of 'ora.ctssd' on 'swnode2' succeeded
CRS-: Stop of 'ora.asm' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.cluster_interconnect.haip' on 'swnode2'
CRS-: Stop of 'ora.cluster_interconnect.haip' on 'swnode2' succeeded
CRS-: Attempting to stop 'ora.cssd' on 'swnode2'
CRS-: Stop of 'ora.cssd' on 'swnode2' succeeded
ORACLE 12c RAC的常用管理命令的更多相关文章
- Oracle 12C CDB、PDB常用管理命令
Oracle 12C CDB.PDB常用管理命令 --查看PDB信息(在CDB模式下) show pdbs --查看所有pdbselect name,open_mode from v$pdbs; ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:3.安装Oracle RAC-3.6.集群管理命令
3.6. 集群管理命令 3.6.1. RAC的启动与关闭 oracle rac默认会开机自启动,如需维护时可使用以下命令: 关闭: crsctl stop cluster 停止本节点集群服务 crsc ...
- Oracle 12c RAC 静默安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- DATAGUARD常用管理命令
--DATAGUARD常用管理命令 ----------------------------2014/04/22 备用服务器的管理模式与只读模式 1.1备库启动到管理恢复模式 SQL>shutd ...
- docker专题(2):docker常用管理命令(上)
http://segmentfault.com/a/1190000000751601 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备 ...
- oracle 11g rac集群重启顺序以及常用管理命令简介
转至:https://www.cnblogs.com/yj411511/p/12459533.html 目录 1.关闭数据库 1.1 查看数据库实例状态 1.2 停止所有节点上实例 1.3 确认数据库 ...
- Oracle 11g常用管理命令(用户、表空间、权限)
PS:下面是Oracle 11g最常用的基本管理命令,包括创建用户.表空间,权限分配等.以下命令本人都验证操作过,并加上了本人的小结与说明. 1.启动oracle数据库: 从root切换到oracle ...
- Oracle 12c RAC 安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Oracle 12c RAC 日志体系结构的变化
1 说明 在11g中,查看GRID的日志,会进入$ORACLE_HOM/log. [grid@cndba.cn ~]$ cd $ORACLE_HOME/log/ [grid@cndba.cn l ...
随机推荐
- github=>git=>composer Packages 使用教程
2018年12月17日14:32:05 因为要做搜索,所以需要用分词工具php的分词不借助的第三方的真的很少, 目前选择的是 http://www.phpbone.com/phpanalysis/ 但 ...
- 数学和物理太难?这些 GIF 让你秒懂抽象概念
把科学带回家,给孩子最好的科学教育 觉得数学和物理很抽象很难懂吗?今天我们来分享一组数学和物理相关的动图,让你秒懂抽象概念. 数学动图 △ 从椭圆的一个焦点射出的光线总会通过另一个焦点. △ 真人版. ...
- CMC+混频v103测试(scrt,vbs文件)
Sub Main Dim cnte Dim cnt Dim delay Dim time Dim onetime onetime = 9999999 delay = 5000 time = 700 F ...
- vue加载流程
首先加载main.js,main.js中new一个vue实例,这个实例中会有一个id="app"映射到app.vue,启动时候首页映射到index.html,其中<div i ...
- js把页面的table标签导出为csv
// 使用该保存方法,table必须外嵌一个div且不能有任何其他元素 否则ie下载会出现其他数据 //tableid , title 为文件保存的文件名 function saveCode(tabl ...
- sqlplus用户登录
1.运行SQLPLUS工具 C:\Users\wd-pc>sqlplus 2.直接进入SQLPLUS命令提示符 C:\Users\wd-pc>sqlplus /nolog 3.以OS身份连 ...
- mysql 的mgr集群
mysql 的mgr集群 http://wubx.net/mgr%E7%9B%91%E6%8E%A7%E5%8F%8A%E4%BC%98%E5%8C%96%E7%82%B9/ MGR调优参数因为基本复 ...
- [Freemarker]自定义时间戳函数
使用freemarker的web项目经常需要用在Url后面加上时间戳来保证资源不被缓存,我们可以自定义方法实现时间戳. 先看freemarker配置信息: <bean id="free ...
- mybatis多参数传递(其中包括数组)
mapper接口 public void batchDelete(@Param(value = "activityId") Integer activityId, @Param(v ...
- feifeicms后台任意文件读取
前台大略看了下,本身内容比较简单,经过“洗礼”后以及没什么问题了,基本上输入都过滤了. 这次审计找到了一个后台的任意文件读取,可以读取数据库配置文件. 在DataAction.class.php文件中 ...