一篇文章深入了解Oracle常用命令

1. 数据库

1.1. 数据库启动 & 关闭

–启动数据库

SQL> startup nomount; 
SQL> alter database mount; 
SQL> alter database open;

–关闭数据库

SQL> shutdown immediate;

1.2. 连接数据库

–登录普通用户
SQL>sqlplus 用户名/密码@实例名–登陆普通用户,@实例名可省略

–登陆普通用户 scott

SQL>sqlplus scott/tiger; 

–登陆sys帐户

SQL>sqlplus / as sysdba;
SQL>sqlplus sys as sysdba;

说明:

sys :系统管理员,拥有最高权限
system :本地管理员,次高权限

1.3. 查看数据库名

SELECT NAME FROM V$DATABASE;

1.4. 查看实例

select * from global_name;

2. 用户

2.1. 创建用户

create user 用户名 identified by 密码;

–创建用户user1,密码为123

create user user1 identified by 123;

2.2. 重置密码

alter user 用户名 identified by 密码;

–重置用户user1的密码为456
alter user user1 identified by 456;

2.3. 账号解锁

alter user 用户名 account unlock;

–解锁user1账号

alter user user1 account unlock;

2.4. 账号赋权

–授予scott用户创建session权限,即登录权限

grant create session to scott;

–授予scott用户使用表空间的权限

grant unlimited session to scott;

–授予创建表的权限

grant create table to scott;

–授予删除表的权限

grante drop table to scott;

–授予插入表的权限

grant insert table to scott;

–授予修改表的权限

grant update table to scott;

–授予scott用户alert任意表的权限

grant alert all table to scott;

–授予所有权限(all)给所有用户(public)

grant all to public; 

oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权。

–授予scott用户查看指定表的权限

grant select on tablename to scott;

–授予指定表的删除表权限

grant drop on tablename to scott;

–授予指定表的插入权限

grant insert on tablename to scott;

–授予修改指定表的权限

grant update on tablename to scott;

–授予对指定表特定字段的插入权限

grant insert(id) on tablename to scott;

–授予对指定表特定字段的修改权限

grant update(id) on tablename to scott;

–授予角色role1(role1为已存在的角色)

grant role1 to test;

2.5. 账号撤销权限

基本语法同 grant,关键字为 revoke

2.6. 删除用户

drop user 用户名称 cascade;

–删除scott用户

drop user scott cascade;

2.7. 查询所有用户(DBA账号执行)

select * from all_users;

2.8. 查看当前用户连接

select * from v$Session;

2.9. 查看用户角色

SELECT * FROM USER_ROLE_PRIVS;

2.10.角色授权

--GRANT 数据库角色 TO 用户
grant connect to jack;--授权connect角色(必须)
grant resource to jack;--授予resource角色
grant dba to jack; -- 授予管理员dba角色 --GRANT 用户的系统权限 to 用户
grant create session to jack; -- 授予用户登录数据库的权限-- 授予用户操作表空间的权限:
grant unlimited tablespace to jack;  -- 授予用户无限制的操作表空间的权限
grant create tablespace to jack;
grant alter tablespace to jack;
grant drop tablespace to jack;
grant manage tablespace to jack;-- 授予用户操作表的权限:
grant create table to jack; (包含有create index权限, alter table, drop table权限)-- 授予用户操作视图的权限:
grant create view to jack; (包含有alter view, drop view权限)-- 授予用户操作触发器的权限:
grant create trigger to jack; (包含有alter trigger, drop trigger权限)-- 授予用户操作存储过程的权限:
grant create procedure to jack;(包含有alter procedure, drop procedure 和function 以及 package权限)-- 授予用户操作序列的权限:
grant create sequence to jack; (包含有创建、修改、删除以及选择序列)-- 授予用户回退段权限:
grant create rollback segment to jack;grant alter rollback segment to jack;-- 授予用户同义词权限:
grant create synonym to jack;(包含drop synonym权限)
grant create public synonym to jack;
grant drop public synonym to jack;-- 授予用户关于用户的权限:
grant create user to jack;
grant alter user to jack;
grant become user to jack;
grant drop user to jack;-- 授予用户关于角色的权限:
grant create role to jack;-- 授予用户操作概要文件的权限
grant create profile to jack;
grant alter profile to jack;
grant drop profile to jack;-- 允许从sys用户所拥有的数据字典表中进行选择
grant select any dictionary to jack;--GRANT 用户的对象权限 on 对象 TO 用户
grant select, insert, update, delete on JSQUSER to STUDENT;--登陆scott用户把emp表的全部操作权限授予jack用户
grant all on scott.emp to jack;

2.11. 查看用户的权限和角色

(一)、查看用户

show user; //查看当前用户名

1.查看所有用户:

select * from dba_users;select * from all_users;
select * from user_users;    //查看当前用户 

(二)、查看角色

1.当前用户被激活的全部角色

select * from session_roles;

2.当前当前用户被授予的角色

select * from user_role_privs;

3.全部用户被授予的角色

select * from dba_role_privs;

4.查看某个用户所拥有的角色

select * from dba_role_privs where grantee='用户名';

5.一个角色包含的系统权限

select * from dba_sys_privs where grantee='角色名'  select * from dba_sya_privs where grantee='COONNECT';

connect要大写
或者

select * from role_sys_privs where role='角色名'  select * from role_sys_privs where grantee='COONNECT'; 

connect要大写
6.一个角色包含的对象权限

select * from dba_tab_privs where grantee='角色名' 

7.查看所有角色

select * from dba_roles; 

(三)、查看权限

1.基本权限查询:

select * from session_privs; --当前用户所拥有的全部权限
select * from user_sys_privs;--当前用户的系统权限
select * from user_tab_privs;--当前用户的对象权限
select * from dba_sys_privs ;--查询某个用户所拥有的系统权限
select * from role_sys_privs;--查看角色(只能查看登陆用户拥有的角色)所包含的权限
  1. 查看用户的系统权限(直接赋值给用户或角色的系统权限)
select * from dba_sys_privs;select * from user_sys_privs;

3.查看用户的对象权限:

select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;

4.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限)

select * from v$pwfile_users; 

补充
1、以下语句可以查看Oracle提供的系统权限

select name from sys.system_privilege_map

2、查看一个用户的所有系统权限(包含角色的系统权限)

select privilege from dba_sys_privs where grantee='SCOTT'  
union  
select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='SCOTT' ); 

3、 查询当前用户可以访问的所有数据字典视图。

select * from dict where comments like '%grant%';   

4、显示当前数据库的全称

select * from global_name;

2.12. 查看所有用户拥有的角色(DBA账号执行)

SELECT * FROM DBA_ROLE_PRIVS;

2.13. 创建用户并指定表空间

create user 用户名 identified by 密码 
default tablespace 默认表空间名 
temporary tablespace 默认临时表空间名;

2.14. 查看当前用户的缺省表空间

select username,default_tablespace from user_users;

3. 视图

3.1. 创建视图

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] 
AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY]

参数说明:

OR REPLACE :若所创建的试图已经存在,则替换旧视图;

FORCE:不管基表是否存在ORACLE都会自动创建该视图(即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用);

NOFORCE :如果基表不存在,无法创建视图,该项是默认选项(只有基表都存在ORACLE才会创建该视图)。

alias:为视图产生的列定义的别名;

subquery :一条完整的SELECT语句,可以在该语句中定义别名;

WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;

WITH READ ONLY :默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

3.2. 删除视图

DROP VIEW schema_name.view_name
[CASCADE CONSTRAINT];

参数说明 :

schema_name :指定包含视图的模式的名称。如果跳过模式名称,则Oracle假定该视图位于当前用户模式中。
view_name:指定要删除的视图的名称。如果一个视图被其他视图,物化视图或同义词所引用,Oracle将把这些对象标记为INVALID,但不会将其移除。
CASCADE CONSTRAINT :如果视图有任何约束,则必须指定CASCADE CONSTRAINT子句以删除引用视图中的主键和唯一键的所有参照完整性约束。如果不这样做,存在这样的约束时,DROP VIEW语句将会失败。

4. 角色

4.1. 创建角色

create role 角色名;
create role myrole;

4.2. 给角色赋权

–给角色 role1 赋予查询表 table1 的权限

grant select on table1 to role1;

4.3. 将角色赋予某用户

grant 角色名 to 用户名;

–将角色role1赋予用户scott

grant role1 to scott;

4.4. 删除角色

drop role 角色名;
drop role myrole;

4.5. 查看角色权限

select * from dba_role_privs where grantee ='role1'
select * from dba_role_privs where grantee like'%role1%'

5. 表空间

5.1. 创建表空间

create tablespace 表空间名 datafile '/oracle/.../数据文件名.dbf' size 100m autoextend on next 100m maxsize 400m extent management local;

5.2. 删除表空间

drop tablespace 表空间名;

5.3. 查看数据库的表空间使用状态

select a.tablespace_name tnm,b.FILE_PATH,--b.autoextensible,b.cnt,trunc(a.bytes/1024/1024/1024) total_G,trunc(a.bytes/1024/1024/1024/b.cnt) avg_G,trunc(c.bytes/1024/1024/1024) free_G,trunc((a.bytes-c.bytes)*100/a.bytes,2) used--,(c.bytes*100)/a.bytes "% FREE"from SYS.SM$TS_AVAIL A,SYS.SM$TS_FREE C,(select tablespace_name,substr(file_name,1,instr(file_name,'/',2)) FILE_PATH, --f.autoextensible,count(*) cnt from dba_data_files  f group by tablespace_name,substr(file_name,1,instr(file_name,'/',2))--,autoextensible) bWHERE  A.TABLESPACE_NAME=C.TABLESPACE_NAME(+)AND A.TABLESPACE_NAME=B.TABLESPACE_NAME--   AND A.TABLESPACE_NAME IN (select distinct tablespace_name from dba_tablespaces)order by  avg_g desc;

5.4. 查看表空间的datafile

select * from dba_data_files where tablespace_name like '表空间名' order by 1 desc;

5.5. 表空间扩容

5.5.1. 添加数据文件,以达扩大表空间

ALTER TABLESPACE 表空间名 ADD DATAFILE '/oradata/.../数据文件名.dbf'
SIZE 4000M AUTOEXTEND ON NEXT 100M;

5.5.2. resize 数据文件方式,以达扩大表空间

alter database datafile FILE_ID resize BYTES字段目标值;

5.6. 查看表空间使用量(全库 )

select SUM(a.BYTES/1024/1024) "Size" from dba_segments a

5.7. 查看特定数据库的表空间使用率

select SUM(a.BYTES/1024/1024) "Size" from dba_segments a where a.owner = '数据库名';

5.8. 查看 temp tablespace(临时表空间)

select t.tablespace_name,t.contents,t.* from dba_tablespaces t

5.9. 查看 temp tablespace 的 datafile

select * from dba_temp_files

5.10. 添加temp tablespace的datafile

alter tablespace TEMP add tempfile '/oradata/.../数据文件名.dbf' size 2000m autoextend on next 100m maxsize unlimited;

6. 表

6.1. 创建新表

6.1.1. 直接创建

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

6.1.2. 根据已有旧表创建

–创建与旧表结构完全一致的新表

create table tab_new like tab_old

–选择旧表的某些字段创建新表

create table tab_new as select col1,col2… from tab_old definition only

6.2. 表结构

6.2.1. 修改表结构

–增加一列

Alter table 表名 add column 列名;

–添加主键(Create/Recreate primary)

alter table 表名 add constraint 主键名 primary key(字段名);

–删除表主键

ALTER TABLE 表名 DROP CONSTRAINT 主键名;

–添加索引(Create/Recreate indexes)

create unique index 索引名 on 表名 (字段名);

–删除索引

drop index schema.indexname;

6.2.2. 查询表数据

select * from tabname (where 字句);

6.3. 表数据

–插入数据

insert into table1(field1,field2) values(value1,value2)

–更新数据

update table1 set field1=value1 where 条件;

–删除表满足条件的数据

delete from table_name where子句;

–删除表中所有数据

truncate table table_name;

6.4. 删除表

drop table table_name;

6.5. 索引

–根据索引名,查询表索引字段

select * from user_ind_columns where index_name='索引名';

–根据表名,查询一张表的索引

select * from user_indexes where table_name='表名';

–通过列名查询表名

select table_name from user_tab_columns where column_name='列名';

7. 系统监控

7.1. 查询正在执行的sql语句及执行该语句的用户

SELECT b.sid oracleID,b.username 登录Oracle用户名,b.serial#,spid 操作系统ID,paddr,sql_text 正在执行的SQL,
b.machine 计算机名 
v$sql.sql_id,
s.terminal,
s.program,
from v$process a, v$session b, v$sqlarea c 
WHERE a.addr = b.paddrAND b.sql_hash_value = c.hash_value; 
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT from v$session a, v$sqlarea b where a.sql_address = b.address

7.2. 锁(lock)

7.2.1. 查看当前被锁对象

SELECT l.session_id sid,s.serial#,l.locked_mode 锁模式,l.oracle_username 登录用户,l.os_user_name 登录机器用户名,s.machine 机器名,s.terminal 终端用户名,o.object_name 被锁对象名,s.logon_time 登录数据库时间 FROM v$locked_object l, all_objects o, v$session s WHERE l.object_id = o.object_idAND l.session_id = s.sid ORDER BY sid, s.serial#;

7.2.2. 查看死锁语句

select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID
select * from v$lock where block=1

7.2.3. kill死锁

–实际操作时,将SID和serial#替换成实际数值

alter system kill session 'SID,serial#';

7.2.4. 查询DML死锁会话sid

select sid,blocking_session,LOGON_TIME,sql_id,status,event,seconds_in_wait,state,BLOCKING_SESSION_STATUSfrom v$sessionwhere event like 'enq%'and state = 'WAITING'and BLOCKING_SESSION_STATUS = 'VALID'
select(select username from v$session where sid=a.sid) blocker,a.sid,a.id1,a.id2,' is blocking ' "IS BLOCKING",(select username from v$session where sid=b.sid) blockee,b.sidfrom v$lock a, v$lock bwhere a.block = 1and b.request > 0and a.id1 = b.id1and a.id2 = b.id2;

7.2.5. 查询锁住的DDL对象

select d.session_id, s.SERIAL#, d.namefrom dba_ddl_locks d, v$session swhere d.owner = 'zhangsan'and d.SESSION_ID = s.sid

7.2.6. 查询等待事件

select event,sum(decode(wait_time, 0, 0, 1)) "之前等待次数",sum(decode(wait_time, 0, 1, 0)) "正在等待次数",count(*)from v$session_waitgroup by eventorder by 4 desc

7.2.7. 根据 sid 查 spid 或根据 spid 查 sid

select s.sid, s.serial#, s.LOGON_TIME, s.machine, p.spid, p.terminalfrom v$session s, v$process pwhere s.paddr = p.addrand s.sid = xxxor p.spid = yyy

7.2.8. 根据sid查看具体的sql语句

select username, sql_text, machine, osuserfrom v$session a, v$sqltext_with_newlines bwhere DECODE(a.sql_hash_value, 0, prev_hash_value, sql_hash_value) =b.hash_valueand a.sid = &sidorder by piece;

7.2.9. 根据spid查询具体的sql语句

select ss.SID,ss.SERIAL#,ss.LOGON_TIME,pr.SPID,ss.action,sa.SQL_FULLTEXT,ss.machine,ss.TERMINAL,ss.PROGRAM,ss.USERNAME,ss.STATUS,ss.OSUSER,ss.last_call_etfrom v$process pr, v$session ss, v$sqlarea sawhere ss.status = 'ACTIVE'and ss.username is not nulland pr.ADDR = ss.PADDRand ss.SQL_ADDRESS = sa.ADDRESSand ss.SQL_HASH_VALUE = sa.HASH_VALUEand pr.spid = xxx

7.2.10. 查询执行过的sql语句及执行该语句的用户

select a.USERNAME 登录Oracle用户名,a.MACHINE 计算机名,SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXTfrom v$sqlarea b, v$session awhere a.sql_hash_value = b.hash_valueand b.FIRST_LOAD_TIME between '2024-07-01/09:00:00' and'2024-07-10/15:00:00'order by b.FIRST_LOAD_TIME desc;

7.2.11. 查看正在执行sql的发起者的发放程序

SELECT OSUSER 电脑登录身份,PROGRAM 发起请求的程序,USERNAME 登录系统的用户名,SCHEMANAME,B.Cpu_Time 花费cpu的时间,STATUS,B.SQL_TEXT 执行的sql FROM V$SESSION A LEFT JOIN V$SQL B ON A.SQL_ADDRESS = B.ADDRESSAND A.SQL_HASH_VALUE = B.HASH_VALUE ORDER BY b.cpu_time DESC

7.2.12. 查看占io较大的正在运行的session

SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,se.terminal,se.program,se.MODULE,se.sql_address,st.event,st. p1text,si.physical_reads,si.block_changesFROM v$session se, v$session_wait st, v$sess_io si, v$process prWHERE st.sid = se.sidAND st. sid = si.sidAND se.PADDR = pr.ADDRAND se.sid > 6AND st. wait_time = 0AND st.event NOT LIKE '%SQL%'ORDER BY physical_reads DESC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/53087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.9.4

继续该题,除了实在改不来的,基本快改完了 #2316. 飓风(hurricane) #1575. 【EOJ Long Round】本质不同GCD 被hack了重新写一下,乱搞复杂度大了点 #2303. 最小子列(subseq) 先从没有限制考虑起&a…

leveldb源码剖析(二)——LSM Tree

LSM Tree LSM Tree:Log-Structured Merge Tree,日志结构合并树。是一种频繁写性能很高的数据结构。 LSM Tree将写入操作与合并操作分离,数据首先写入磁盘中的日志文件(WAL),随后写入内存缓存,…

UDP英译汉网络词典

这里我们用UDP实现一个简单的英译汉小词典。我们还是仿照前一篇的UDP编程,将各自的组件封装起来,实现高内聚低耦合。 一. 字典翻译功能实现 首先我们将我们的字典知识库放在txt文本中。 apple: 苹果 banana: 香蕉 cat: 猫 dog: 狗 book: 书 pen: 笔 ha…

云计算之ECS

目录 一、ECS云服务器 1.1 ECS的构成 1.2 ECS的实例规格 1.3 镜像 1.4 磁盘 1.5 安全组 1.6 网络 1.7 产品结构 二、块存储介绍 2.1 快存储定义 2.2 块存储性能指标 2.3 快存储常用操作-云盘扩容 2.4 块存储常见问题 三、快照介绍 3.1 快照定义 3.2 快照常见问题…

flume 使用 exec 采集容器日志,转储磁盘

flume 使用 exec 采集容器日志,转储磁盘 在该场景下,docker 服务为superset,flume 的sources 选择 exec , sinks选择 file roll 。 任务配置 具体配置文件如下: #simple.conf: A single-node Flume configuration#…

随笔(1)将 CSV 文件导入 MySQL 时出现中文乱码问题解决方案

将 CSV 文件导入 MySQL 时出现中文乱码问题解决方案 一、检查 CSV 文件编码 确认 CSV 文件的编码格式。常见的编码有 UTF-8、GBK 等。你可以使用文本编辑器(如 Notepad)打开 CSV 文件,查看其编码格式。如果编码格式不是 UTF-8,可…

GPT-4o mini轻量级大模型颠覆AI的未来

GPT-4o mini发布,轻量级大模型如何颠覆AI的未来? 引言 随着人工智能技术的飞速发展,大型AI模型的发布已成常态。然而,庞大的计算资源和存储空间限制了它们在广泛场景中的应用。为满足市场需求,轻量级大模型应运而生&a…

TOMATO靶机漏洞复现

步骤一,我们来到tomato页面 什么也弄不了只有一番茄图片 弱口令不行,xxs也不行,xxe还是不行 我们来使用kali来操作... 步骤二,使用dirb再扫一下, dirb http://172.16.1.133 1.发现这个文件可以访问.我们来访问一下 /antibot_i…

【课程学习】信号检测与估计

文章目录 3.7-CRB延展到向量的形式3.8-参数变换形式的CRB CRB for transformation, pp45-463.9-高斯分布 CRLB for the General Gaussian Case3.7-CRB延展到向量的形式 0904 向量和变换形式的CRLB形式 估计参数真实值 θ \theta θ,估计值 θ ^ \hat \theta θ^ 与信号与系统…

C# NX二次开发-获取对象名称

UG软件是所有带标签对象都能设置名称和属性: 代码: theUf.Obj.AskName(body.Tag,out string name);name.NxListing(); 免责声明: 只用于参考,如果有什么问题不要找我呀。

NewStringUTF和GetStringUTFChars 的差别

NewStringUTF 和 GetStringUTFChars 是 JNI(Java Native Interface)提供的两个函数,它们都用于在 JNI 代码中处理字符串,但用途和行为有所不同: NewStringUTF 功能:NewStringUTF 用于在 JNI 代码中创建一个…

【JAVA入门】Day27 - 单列集合体系结构综述

【JAVA入门】Day27 - 单列集合体系结构 文章目录 【JAVA入门】Day27 - 单列集合体系结构1.1 Collection 集合的基本方法1.2 Collection 集合的遍历方式1.2.1 迭代器遍历1.2.2 增强 for 遍历1.2.3 利用 Lambda 表达式进行遍历 1.3 List 集合的基本方法1.4 List 集合的遍历方式 J…

WordPress自适应美图网站整站打包源码

直接服务器整站源码数据库打包了,恢复一下就可以直接投入使用。保证好用易用,无需独立服务器就可以使用。 强调一下,我这个和其他地方的不一样、不一样、不一样。具体的看下面的说明。 现在网络上同样的资源包都是用的加密带后门的主题&…

年化收益37.7%的A股小市值策略,小市值和动量因子长期有效(附具体逻辑)

“ 原创内容第640篇,专注量化投资、个人成长与财富自由” 股票的“小市值”策略,就像ETF的趋势动量一样,长期有效。 这是一个很神奇的异象。 年化37.07%,夏普0.89。 这里我做了一些特殊的处理: 1、包括排除了科创板…

LeetCode 2860.让所有学生保持开心的分组方法数:排序+遍历

【LetMeFly】2860.让所有学生保持开心的分组方法数:排序遍历 力扣题目链接:https://leetcode.cn/problems/happy-students/ 给你一个下标从 0 开始、长度为 n 的整数数组 nums ,其中 n 是班级中学生的总数。班主任希望能够在让所有学生保持…

Pencils Protocol生态新进展,即将上线 Vault 产品

“极高的盈利预期、通证的持续回购与销毁,Vault产品的推出正在成为Pencils Protocol生态发展的重磅利好。” Pencils Protocol是目前Scroll生态TVL最高的DeFi平台 ,即便是行情整体较为平淡,其仍旧能够保持在3亿美元左右的锁仓价值&#xff0c…

JS中【普通函数中的this】vs【箭头函数中的this】

在 JavaScript 中,this 关键字是一个非常重要的概念,它通常指向函数执行时的上下文对象。然而,箭头函数(arrow functions)中的 this 行为与普通函数不同,它的 this 是在函数定义时绑定的,并且无…

day35-测试之性能测试JMeter的测试报告、并发数计算和性能监控

目录 一、JMeter的测试报告 1.1.聚合报告 1.2.html报告 二、JMeter的并发数计算 2.1.性能测试时的TPS,大都是根据用户真实的业务数据(运营数据)来计算的 2.2.运营数据 2.3.普通计算方法 2.4.二八原则计算方法 2.5.计算稳定性测试并发量 2.6…

【数学建模】国赛论文模型的建立与求解写作指南

一、内容含义 1、模型的建立 模型的建立是将问题抽象成数学语言的表达式,它一定是在先前的问题分析和模型假设的基础上得来的。因为比赛时间很紧,大多数时候我们都是使用别人已经建立好的模型。这一部分需要将题目问的问题和模型紧密结合起来切记随意套…

Mybatis链路分析:JDK动态代理和责任链模式的应用

背景 此前写过关于代理模式的文章,参考:代理模式 动态代理功能:生成一个Proxy代理类,Proxy代理类实现了业务接口,而通过调用Proxy代理类实现的业务接口,实际上会触发代理类的invoke增强处理方法。 责任链功…