例如:核对web层和mid层保费收入的差异:
创新互联公司专业为企业提供德州网站建设、德州做网站、德州网站设计、德州网站制作等企业网站建设、网页设计与制作、德州企业网站模板建站服务,十年德州做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
首先把这两个模块看做两张表,而且这两个模块出的字段一致,需要编号和钱,核对这个钱的数据为啥不对。
①WEB层
SELECT SUM(A.PREMIUMCNY) "保费收入(含税) "
FROM WEB_XG_SALESMAN_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE '2019-09-01' AND DATE '2019-09-30';
②MID层
SELECT SUM(NVL(A.PREMIUM, 0)) AS 保费收入
FROM MID_CB_PREMIUM_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE'2019-09-01' AND DATE'2019-09-30';
----------------------------------------------------------------------------------------
结果:(需要把两个模块的编号 和 钱 都写出来)
SQL:
SELECT A.POLICYNO, --编号
SUM(A."保费收入(含税) ") AS BFSRHS,
B.POLICYNO,
SUM(B.保费收入) AS BFSR
FROM
(SELECT A.POLICYNO,SUM(A.PREMIUMCNY) "保费收入(含税) "
FROM WEB_XG_SALESMAN_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE '2019-09-01' AND DATE '2019-09-30'
GROUP BY A.POLICYNO
) A
FULL JOIN
(SELECT A.POLICYNO,SUM(NVL(A.PREMIUM, 0)) AS 保费收入
FROM MID_CB_PREMIUM_RISK_ALL A
WHERE TRUNC(A.STATDATE) BETWEEN DATE'2019-09-01' AND DATE'2019-09-30'
GROUP BY A.POLICYNO
) B
ON A.POLICYNO = B.POLICYNO --用编号关联
WHERE A.POLICYNO IS NULL OR B.POLICYNO IS NULL --是否一致
OR A.BFSRHS B.BFSR
group BY A.POLICYNO,
B.POLICYNO
如何检查oracle数据库性能
oracle的性能判断需要综合数据库的多个运行指标来判断:
1、进程数量和占用cpu:这个主要看有没有长时间占用cpu的进行。通常会判断大出sql,需要优化;这个可以用执行计划或者awr报告查看;
2、内存占用:主要用系统命令查看ora_占用和系统总内存的比例,swap的使用率;通常swap使用率低就没事;这个主要使用系统命令;
3、磁盘占用率:防止磁盘空间不足,需要的主要在系统和用户表空间、RMAN等操作上;这个主要使用系统命令;RMAN命令查看
1、打开服务
启动OracleOraDb10g_home1TNSListener服务。
2、进入命令
输入lsnrctl start即可启动。
输入lsnrctl stop停止服务。
输入lsnrctl status查看状态。
创建监听有多重方式,下面是一个监听配置的标准模板:
1、 PROTOCOL指的是监听接收链接的协议。
2、 HOST是指的监听运行的主机或者IP地址。
3、 PORT指的是监听运行的端口。
4、 SID_NAME指的是监听服务的实例名。
5、 GLOBAL_NAME指的是监听服务的服务名。
6、ORACLE_HOME指的是监听服务的$ORACLE_HOME。
1、检查oracle监听服务运行状态,输入lsnrctl status命令来查看,看到提示信息TNS:no listener,表示监听没有启动,
2、监听没有启动,则需要输入lsnrctl start启动监听服务,当看到提示信息"The command completed successfully",则表示启动成功,
提示主键冲突。检查办法 ,假设表table1 ,主键 a,b
插入集合为表table2
检查办法是看tabl2中a,b列是否有重复冲突情况。
select count(*),a,b from table2 group by a,b having count(*)1
如何有返回值说明插入时,a,b会主键冲突。没有返回值可以正常插入。你检查存储过程中的查询结果。看是否存在冲突情况
select
status
from
v$instance;
如果报错不能执行(用dba用户,或者有查看$视图权限的用户),那么就是没启动。
如果结果为nomount,那么就是仅仅搭载了初始文件,分配了内存,但是还没有加载控制文件。
mount就是加载了控制文件。
open就是完全启动了。
除了open意外,其他状态都不算完全启动数据库。