Oracle 常用命令大全
数据库
----数据库启动 & 关闭
- 启动数据库
SQL> startup nomount;
SQL> alter database mount;
SQL> alter database open;
- 关闭数据库
SQL> shutdown immediate;
更多内容请参考:Oracle数据库启动和关闭
----连接数据库
- 登陆普通用户
SQL>sqlplus 用户名/密码@实例名//登陆普通用户,@实例名可省略
例:
SQL>sqlplus scott/tiger; //登陆普通用户 scott
- 登陆sys帐户
SQL>sqlplus / as sysdba; //登陆 sys 帐户
SQL>sqlplus sys as sysdba;//登陆 sys 帐户
说明:
sys :系统管理员,拥有最高权限
system :本地管理员,次高权限
scott :普通用户,密码默认为tiger,默认未解锁
----查看数据库名
SELECT NAME FROM V$DATABASE;
----查看实例
- Linux下查看oracle上已启动实例
$ ps -ef|grep smon
- 查看当前启动的实例
SQL>select * from global_name;
- 查看默认实例
$ echo $ORACLE_SID
- 切换实例
$ export ORACLE_SID=实例名
用户
----创建用户 :create user 用户名 identified by 密码;
例:
create user user1 identified by 123;
----重置密码:alter user 用户名 identified by 密码;
例:
alter user user1 identified by 456;
----账户解锁:alter user 用户名 account unlock;
例:
alter user user1 account unlock;
----账号赋权:
grant create session to zhangsan; //授予zhangsan用户创建session的权限,即登陆权限
grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限
grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan; //授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限
grant all to public; //授予所有权限(all)给所有用户(public)
oracle对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权
grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限
grant drop on tablename to zhangsan;//授予删除表的权限
grant insert on tablename to zhangsan;//授予插入的权限
grant update on tablename to zhangsan;//授予修改指定表的权限
grant insert(id) on tablename to zhangsan;//授予对指定表特定字段的插入权限
grant update(id) on tablename to zhangsan;//授予对指定表特定字段的修改权限
grant role1 to test;//授予角色role1(role1为已存在的角色)
----账户撤销权限
基本语法同 grant,关键字为 revoke
----删除用户:
例:
drop user zhangsan; //仅删除用户
drop user zhangsan cascade; //删除用户的同时,删除此用户名下所有的对象
----查询所有用户(DBA账号执行):
select * from all_users;
----查看当前用户连接:
select * from v$Session;
----查看用户角色:
SELECT * FROM USER_ROLE_PRIVS;
----查看当前用户权限:
select * from session_privs;
select * from user_sys_privs;//查看当前用户所有权限
select * from user_tab_privs;//查看所用用户对表的权限
----查看所有用户所拥有的角色(DBA账号执行):
SELECT * FROM DBA_ROLE_PRIVS;
----创建用户并指定表空间
create user 用户名 identified by 密码
default tablespace 默认表空间名
temporary tablespace 默认临时表空间名;
----查看当前用户的缺省表空间
select username,default_tablespace from user_users;
视图
----创建视图
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说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。
例:基于EMP表和DEPT表创建视图
CREATE OR REPLACE VIEW EMPDETAIL AS
SELECT EMPNO,ENAME,JOB,HIREDATE,EMP.DEPTNO,DNAME
FROM EMP JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO
WITH READ ONLY
----删除视图
DROP VIEW schema_name.view_name
[CASCADE CONSTRAINT];
参数说明 :
* schema_name :指定包含视图的模式的名称。如果跳过模式名称,则Oracle假定该视图位于当前用户模式中。
* view_name:指定要删除的视图的名称。如果一个视图被其他视图,物化视图或同义词所引用,Oracle将把这些对象标记为INVALID,但不会将其移除。
* CASCADE CONSTRAINT :如果视图有任何约束,则必须指定CASCADE CONSTRAINT子句以删除引用视图中的主键和唯一键的所有参照完整性约束。如果不这样做,存在这样的约束时,DROP VIEW语句将会失败。
角色
----创建角色:create role 角色名;
例:
create role myrole;
----给角色赋权:
例:
grant select on table1 to role1;//给角色 role1 赋予查询表 table1 的权限
----将角色赋予某用户:grant 角色名 to 用户名;
例:
grant role1 to zhangsan;//role1为已存在的角色
----删除角色:drop role 角色名;
例:
drop role myrole;
----查看角色权限:
例:
select * from dba_role_privs where grantee ='role1'
select * from dba_role_privs where grantee like'%role1%'
表空间
----创建表空间
create tablespace 表空间名 datafile '/oracle/.../数据文件名.dbf' size 100m autoextend on next 100m maxsize 400m extent management local;
----删除表空间
drop tablespace 表空间名 ;
----查看数据库的表空间使用状态
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;
----查看表空间的datafile
select * from dba_data_files where tablespace_name like '表空间名' order by 1 desc;
----表空间扩容
- 添加数据文件,以达扩大表空间
ALTER TABLESPACE 表空间名 ADD DATAFILE '/oradata/.../数据文件名.dbf'
SIZE 4000M AUTOEXTEND ON NEXT 100M;
- resize 数据文件方式,以达扩大表空间
alter database datafile FILE_ID resize BYTES字段目标值;
例:
alter database datafile 179 resize 8194304000;
----查看表空间使用量(全库 )
select SUM(a.BYTES/1024/1024) "Size" from dba_segments a
----查看特定数据库的表空间使用率
select SUM(a.BYTES/1024/1024) "Size" from dba_segments a where a.owner = '数据库名';
----查看 temp tablespace(临时表空间)
select t.tablespace_name,t.contents,t.* from dba_tablespaces t
----查看 temp tablespace 的 datafile
select * from dba_temp_files
----添加temp tablespace的datafile
alter tablespace TEMP add tempfile '/oradata/.../数据文件名.dbf' size 2000m autoextend on next 100m maxsize unlimited;
表
----创建新表
- 直接创建
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
- 根据已有旧表创建
create table tab_new like tab_old //创建与旧表结构完全一致的新表
create table tab_new as select col1,col2… from tab_old definition only//选择旧表的某些字段创建新表
----表结构
- 修改表结构
* 增加一列
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;
----查询表数据
select * from tabname (where 字句);
----表数据
- 插入数据
insert into table1(field1,field2) values(value1,value2)
- 更新数据
update table1 set field1=value1 where 条件;
- 删除表中数据:
delete from table_name where子句;//删除筛选数据
truncate table table_name;//删除表中所有数据
----删除表
drop table table_name;
----索引
- 根据索引名,查询表索引字段
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='列名';
系统监控
----查询正在执行的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
----锁(lock)
- 查看当前被锁对象
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#;
- 查看死锁语句
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID
或
select * from v$lock where block=1
- kill死锁
alter system kill session 'SID,serial#';//实际操作时,将SID和serial#替换成实际数值
例:
ALTER SYSTEM KILL SESSION '2210,2769';
补:操作系统级别杀掉进程:
#top
#kill -9 SPID
- 查询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;
- 查询锁住的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
- 查询等待事件
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
- 根据 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 = xxor p.spid = yy
- 根据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;
- 根据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 = xx
- 查询执行过的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 '2020-06-01/09:00:00' and'2020-06-30/15:39:00'order by b.FIRST_LOAD_TIME desc;
- 查看正在执行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
- 查看占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
----监听
- 查看监听状态
lsnrctl status
- 启动监听器
lsnrctl start
- 关闭监听器
lsnrctl stop
----防火墙
- 查看防火墙状态
#firewall-cmd --state
- 关闭防火墙
#systemctl stop firewalld.service
- 启动防火墙
#systemctl start firewalld.service
本文转自 https://blog.csdn.net/Ruishine/article/details/113178508,如有侵权,请联系删除。
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
Oracle 常用命令大全
数据库 ----数据库启动 & 关闭 启动数据库 SQL> startup nomount; SQL> alter database mount; SQL> alter database open;关闭数据库 SQL> shutdown immediate;更多内容请参考:Oracle数据库启动和关闭 ----连接数据库 登陆普通用…...
![](https://www.ngui.cc/images/no-images.jpg)
Mysql 开启ssl连接
本文是针对Mysql 5.7版本以上数据库 1. 检查当前SSL / TLS状态 我们将使用-h指定IPv4本地环回接口,以强制客户端与TCP连接,而不是使用本地套接字文件。 这将允许我们检查TCP连接的SSL状态: mysql -u root -p -h 127.0.0.1键入以下内容以显示SSL / TLS变量的状态: SHOW …...
![](https://www.ngui.cc/images/no-images.jpg)
Java Stream流对List集合进行分页
有一种情况,我们有时不便在数据库层面进行分页。我们知道Mybatis的startPage();方法也是对数据库进行limit操作,有没有一种方式,只对List集合进行分页呢? 当然有,我们可以使用Stream流的方式对List集合进行操作&#…...
![](https://img-blog.csdnimg.cn/5aec45b7381a46efb3bc485f06a3487b.png)
Docker(二)、linux环境Docker的部署以及构建镜像
linux环境Docker的部署以及构建镜像 一、docker部署1、快速部署常用的命令:1.1、demo-部署tomcat1.2、tomcat容器内部结构1.2.1、每个tomcat容器,都包含三个组件1.2.2、在容器内部执行命令 1.3、容器生命周期 二、Dockerfile构建镜像1、demo-Dockerfile自…...
![](https://img-blog.csdnimg.cn/3e49a937d1684227b5abfa0698a01666.png)
GEE错误——Image.select: Pattern ‘MDF‘ did not match any bands
问题 ImageCollection (Error) Collection query aborted after accumulating over 5000 elements. ImageCollection (268 elements) Mean DOD550: Layer error: ImageCollection.reduce: Error in map(ID=MCD19A2_A2001001_h15v17_061_2022161165308_01): Image.select: Patte…...
![](https://img-blog.csdnimg.cn/73dc3521e75e4409bebf0bfe2e890c93.png)
前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(四)
开始吧,做时间的主人! 把时间分给睡眠,分给书籍,分给运动, 分给花鸟树木和山川湖海, 分给你对这个世界的热爱, 而不是将自己浪费在无聊的人和事上。 思维导图 函数 为什么需要函数 <!DO…...
![](https://img-blog.csdnimg.cn/2087e30411ed4ec6ab6ce744d128f86f.png)
mysql超级聚合with rollup
超级聚合,是在group by的基础上,再次进行聚合。 它再次聚合的列,是select中没有用到聚合函数的列。 文章目录 例子1解释例子2表以及数据 例子1 mysql> SELECT year, country, product, SUM(profit) AS profitFROM salesGROUP BY year, c…...
![](https://img-blog.csdnimg.cn/img_convert/42173ea9c1e76a0ee934c5afe1a58183.jpeg)
浅谈电动汽车充电桩设计与应用研究
安科瑞 华楠 摘要:目前,随着我国社会经济的快速发展,我国的各个领域都取得了突破性的发展,尤其是在电动汽车充电桩的设计方法,新型的电动汽车充电桩设计已经广泛的受到了人民群众的青睐与认可,而这种发展前…...
![](https://www.ngui.cc/images/no-images.jpg)
tensorflow Windows安装说明
TensorFlow官网教程 Tensorflow 2.10是最后一个在本地windows上支持GPU的版本。从2.11版本开始,需要在windows WLS2(适用于 Linux 的 Windows 子系统)上安装才能使用GPU。 在anaconda shell控制台中,切换至虚拟环境, 安装TensorFlow 这是用…...
![](https://img-blog.csdnimg.cn/388e08487c6b422fbbe320bc29f85cc1.png)
【Leetcode热题】打卡 day11——20(更新至11)
1、合并两个有序链表 - 链表 暴力 / 递归 21. 合并两个有序链表 (1)暴力 class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {ListNode dummynew ListNode();ListNode curdummy;while(l1!null&&l2!null){if(l1.val&l…...
![](https://img-blog.csdnimg.cn/a850cf57727340db859e449383d7c265.png)
linux使用操作[3]
文章目录 版权声明环境变量$符号自行设置环境变量 上传、下载rz、sz命令 压缩、解压tar命令压缩tar解压zip 命令压缩文件unzip 命令解压文件 版权声明 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权利人…...
![](https://img-blog.csdnimg.cn/80c406682f73466ca01a2b95d17d920d.jpeg#pic_center)
梦想让生活得以忍受-寄语机器视觉工程师
我,曾梦想梦想走天涯,看看这世界的繁华,年少的心总有些轻狂,如今四海为家。 大家都听过这首歌,迎来很多打工人的共鸣,著名作家海明威曾说,“一个人可以被打败,但不可以被毁灭”&…...
![](https://img-blog.csdnimg.cn/183063791e684c419e93375b419ca535.png)
linux 设置打开文件数
可以使用下面的文件进行设置 /etc/security/limits.d/90-nproc.conf 先来看/etc/security/limits.d/90-nproc.conf 配置文件: [root ~]# cat /etc/security/limits.d/90-nproc.conf # Default limit for number of users processes to prevent # accidental fork…...
![](https://img-blog.csdnimg.cn/10c2e338302c4a00864538cc8d9772a4.png)
MySQL基础篇-约束
目录 1.约束概述 2.分类 3.测试user表的约束情况 主键约束 非空约束及唯一约束 检查约束 默认约束 4.外键约束 外键约束的语法 外键约束的删除/更新行为 小结 1.约束概述 MySQL约束(Constraints)是用于确保表中数据完整性和一致性的规则。它们定…...
![](https://img-blog.csdnimg.cn/img_convert/8f3338e0fa74c5ecb8ade0a5e8015b89.png)
系统工程知识体系(SEBoK)
介绍 《系统工程知识体系》(SEBoK)是以一种理念设计的,即如果工程师有一个实时更新、实用的指南,他们就能做出更优秀的工作。如果你以前没有使用过这个资源,也没有关系;因为已经有一个完整的指南供你参考&…...
![](https://www.ngui.cc/images/no-images.jpg)
Spring DI (Dependency Injection)
What Is DI? 当一个类需要依赖另一个对象,把另一个对象实例化之后注入给这个对象的过程我们称之为DI # Create an object dependency in traditional programming public class Store {private Item item;public Store() {item new ItemImpl1(); } }# Using …...
![](https://img-blog.csdnimg.cn/20200609090142926.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2l0ZXllXzM3NTA=,size_16,color_FFFFFF,t_70)
Spring Boot : ORM 框架 JPA 与连接池 Hikari
数据库方面我们选用 Mysql , Spring Boot 提供了直接使用 JDBC 的方式连接数据库,毕竟使用 JDBC 并不是很方便,需要我们自己写更多的代码才能使用,一般而言在 Spring Boot 中我们常用的 ORM 框架有 JPA 和 Mybaties ,本…...
![](https://img-blog.csdnimg.cn/047b3aa327bc44aeaa4d4f6c66c1e3ab.png)
Wireshark抓包分析ICMP协议
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 分析目的:分析ICMP协议的数据格式、报文…...
![](https://img-blog.csdnimg.cn/7d6bbae7f14e4133ae1ed1577897ef50.png)
C++——安装环境、工具
一、进入官网下载 Visual Studio 下载地址:https://visualstudio.microsoft.com/zh-hans/ 二、安装 三、安装完后如果出现window SDK 下载失败,可自行下载,如果没有请跳过这一步 Window SDK 官方地址:https://developer.microsoft…...
![](https://www.ngui.cc/images/no-images.jpg)
征稿啦!第 18 届「中国 Linux 内核开发者大会」重磅启动
第十八届中国 Linux 内核开发者大会(CLK )如期而至。CLK 以“自由、协作、创新”为理念,以开源技术的推广和普及为使命,旨在促进 Linux 内核开发爱好者相互交流,共同进步。 经过组委会公开征集承办单位和各意向承办单…...
![](https://www.ngui.cc/images/no-images.jpg)
JDBC8.0+
首先创建工程,导入jar包 1.注册驱动 //注册驱动//利用反射,较为灵活Class.forName("com.mysql.cj.jdbc.Driver");/**问题:会注册俩次驱动* 解决方案:只触发静态代码块* 触发静态代码块:* 类加载机制&…...
![](https://www.ngui.cc/images/no-images.jpg)
聊聊常见的IO模型 BIO/NIO/AIO 、DIO、多路复用等IO模型
文章目录 一、前言1. 什么是IO模型2. 为什么需要IO模型 二、常见的IO模型1. 同步阻塞IO(Blocking IO,BIO)2. 同步非阻塞IO(Non-blocking IO,NIO)3. 异步非阻塞IO(Asynchronous IO,AI…...
![](https://img-blog.csdnimg.cn/ba2c0b3d6c37478c9ea1ca43f4e9f441.png)
Linux- 网络编程初探
原始套接字(Raw Socket) 原始套接字(Raw Socket)是一种提供较低级别网络访问的套接字。通过使用原始套接字,应用程序可以直接发送或接收网络层如IP的数据包,或者传输层如TCP、UDP的段,而无需通…...
![](https://img-blog.csdnimg.cn/img_convert/c0fa8764f7cc59d3376c33dc2eac06a7.gif)
AVLoadingIndicatorView - 一个很好的Android加载动画集合
官网 GitHub - HarlonWang/AVLoadingIndicatorView: DEPRECATED 项目简介 AVLoadingIndicatorView is a collection of nice loading animations for Android. You can also find iOS version of this here. Now AVLoadingIndicatorView was updated version to 2.X , If …...
![](https://img-blog.csdnimg.cn/img_convert/7279079c65726b1e0dc0350ea45a5113.webp?x-oss-process=image/format,png)
我想设计一套游戏的奖励系统,有什么值得注意的?
游戏上: 游戏成就系统的价值 游戏中的成就可以延长游戏时间,让玩家不仅仅是将游戏通关,而是必须完成游戏内所有挑战及发现秘密,这些成就可以与游戏本身的目标一致,也可以独立于游戏的主要或次要目标之外,…...
![](https://img-blog.csdnimg.cn/b9d75efe17c3426db98b06ed6c9b36db.png)
精通git,没用过git cherry-pick?
前言 git cherry-pick是git中非常有用的一个命令,cherry是樱桃的意思,cherry-pick就是挑樱桃,从一堆樱桃中挑选自己喜欢的樱桃,在git中就是多次commit中挑选一个或者几个commit出来,也可以理解为把特定的commit复制到…...
![](https://www.ngui.cc/images/no-images.jpg)
QT5|C++|通过创建子线程方式实现进度条更新
背景: 一开始是通过在主线程中写一个for循环,每次加1后睡眠1s进行进度条更新。但这样写的结果是 --> 无法动态显示进度条进度。后通过上一篇文章 [ QT5|C|通过信号槽机制实现进度条更新 ] 中的写信号槽机制实现。实现后 考虑了下有没有其他方式实现&a…...
![](https://www.ngui.cc/images/no-images.jpg)
基于mediasoup的webrtc server,性能压测时发现带宽利用率偏低(40%)
基于mediasoup的webrtc server,进行性能压测时发现,在1gbps的网络条件下,带宽利用率在40%(400Mbps)时,就会出现过高丢包率的(packet loss > 10%)的情况。这个结果是合理的吗?如果不合理,要如何提升性能&…...
![](https://www.ngui.cc/images/no-images.jpg)
Ubuntu Redis开机自启动服务
1. 建立service文件 sudo vim /etc/systemd/system/redis-server.service2. redis service文件 [Unit] DescriptionAdvanced key-value store Afternetwork.target Documentationhttp://redis.io/documentation, man:redis-server(1)[Service] Typenotify ExecStart/usr/bin/…...
![](https://img-blog.csdnimg.cn/68342eba825b485383041d80f6b32423.png)
Stm32_标准库_呼吸灯_按键控制
Stm32按键和输出差不多 PA1为LED供给正电,PB5放置按键,按键一端接PB5,另一端接负极 void Key_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //APB2总线连接着GPIOBGPIO_InitStructur.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructur.…...
![](/images/no-images.jpg)
企业做网站推广产品需要多少钱/拼多多商品关键词搜索排名
作者:瀚高PG实验室 (Highgo PG Lab)-瀚高大李 PostgreSQL是世界上功能最强大的开源数据库,在国内得到了越来越多机构和开发者的青睐和应用。随着PostgreSQL的应用越来越广泛,Oracle向PostgreSQL数据库的数据迁移需求也…...
![](/images/no-images.jpg)
wordpress 大学 主题/邮件营销
本文链接: https://blog.csdn.net/xietansheng/article/details/87799327 0. aapt 简介 aapt(Android Asset Packaging Tool)是 Android 资源打包工具。aapt 的主要作用是吧 Android 的各类资源(图片、布局文件、源码等)经过处理…...
![](/images/no-images.jpg)
网站维护的要求/新冠疫情最新情况
单项选择题 1、网络保险能解除传统保险中客户与保险机构的时间、空间制约主要体现的方式是( ) (2 分) A.一个网址 B.一对多 C.一对一 D.一个服务器 2、P2P网络借贷是( &a…...
![](/images/no-images.jpg)
佛山网上业务系统/网络优化工程师需要学什么
1、An Intuitive Explanation of Fourier Theory 这是一个介绍傅里叶变换的英文网站,比较详细。 2、对以上英文网站的粗略翻译 3、这个博客也是不错的 http://blog.sina.com.cn/s/blog_8df0c75501015vuw.html 4、推荐阅读:The Scientist and Engin…...
![](/images/no-images.jpg)
做自己的直播网站/关键词搜索指数查询工具
clean the macOS, no more input installed;in Xcode, run debug;drag debug app to ~/library/input methods;to systray, add input;in Xcode, active the input;it works!if no effect, go to 1, and then restar macOS, go to 1....
![](https://img-blog.csdnimg.cn/img_convert/01149d11a98615204346eb5a565187e4.png)
做机械设计图纸找什么网站?/国外浏览器搜索引擎入口
学习电脑快捷键能够为我们的工作大大提升工作效率,但是由于电脑快捷键过多,很难记住这些电脑快捷键,我们只需记住一些常用的快捷键即可。那么电脑有哪些常用快捷键?我们整理了70个电脑常用的快捷键大全,来看看吧。Word…...