使用 ErrorStack 在出现报错 ORA-14402 时产生的日志量
=======================================================
0、测试结论:
测试结果:设置 ErrorStack 级别为 1 时产生 Trace 的日志量最小,大小为 308K,同时在 alert 日志中也存在记录。
1、准备测试数据:
sqlplus / as sysdba
show pdbs
alter session set container=pdb;
create table my_part_table
(
id int not null,
addr varchar2(20))
partition by range (id)
(
partition p1 values less than (1000),
partition P2 values less than (2000),
partition P3 values less than (maxvalue)
);
insert into my_part_table values(1,'addr1');
insert into my_part_table values(2,'addr2');
insert into my_part_table values(3,'addr3');
insert into my_part_table values(1001,'addr1001');
insert into my_part_table values(1002,'addr1002');
insert into my_part_table values(1003,'addr1003');
insert into my_part_table values(2001,'addr2001');
insert into my_part_table values(2002,'addr2002');
insert into my_part_table values(2003,'addr2003');
commit;
select rowid,a.* from my_part_table partition(p1) a;
select rowid,a.* from my_part_table partition(p2) a;
select rowid,a.* from my_part_table partition(p3) a;
2、设置 ErrorStack 级别为 3 时捕获跟踪详细日志:
alter session set events='14402 trace name errorstack forever,level 3';
3、执行对 Oracle 分区表分区字段更新操作:
update my_part_table set id=3001 where id=1;
4、检查产生的日志量:
set linesize 200 pagesize 999
col tracefile format a100
select spid,tracefile from v$process a where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum=1));
ls -ltrh <通过上述查询得出的 trace 文件名>
测试结果:设置 ErrorStack 级别为 3 时产生 Trace 的日志量为 5.4M,同时在 alert 日志中也存在记录。
5、设置 ErrorStack 级别为 1 时产生的日志量:
conn / as sysdba
alter session set container=pdb;
alter session set events='14402 trace name errorstack forever,level 1';
update my_part_table set id=3002 where id=2;
set linesize 200 pagesize 999
col tracefile format a100
select spid,tracefile from v$process a where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum=1));
ls -ltrh <通过上述查询得出的 trace 文件名>
测试结果:设置 ErrorStack 级别为 1 时产生 Trace 的日志量为 308K,同时在 alert 日志中也存在记录。
6、设置 ErrorStack 级别为 0 时产生的日志量:
conn / as sysdba
alter session set container=pdb;
alter session set events='14402 trace name errorstack forever,level 0';
update my_part_table set id=3003 where id=3;
set linesize 200 pagesize 999
col tracefile format a100
select spid,tracefile from v$process a where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum=1));
ls -ltrh <通过上述查询得出的 trace 文件名>
测试结果:设置 ErrorStack 级别为 0 时不产生 Trace 日志,同时在 alert 日志中不存在记录。
=======================================================
附录 1 - 测试日志:
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB READ WRITE NO
SQL> alter session set container=pdb;
Session altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB READ WRITE NO
SQL> create table my_part_table
2 (
3 id int not null,
4 addr varchar2(20))
5 partition by range (id)
6 (
7 partition p1 values less than (1000),
8 partition P2 values less than (2000),
9 partition P3 values less than (maxvalue)
10 );
Table created.
SQL> insert into my_part_table values(1,'addr1');
1 row created.
SQL> insert into my_part_table values(2,'addr2');
1 row created.
SQL> insert into my_part_table values(3,'addr3');
1 row created.
SQL> insert into my_part_table values(1001,'addr1001');
1 row created.
SQL> insert into my_part_table values(1002,'addr1002');
1 row created.
SQL> insert into my_part_table values(1003,'addr1003');
1 row created.
SQL> insert into my_part_table values(2001,'addr2001');
1 row created.
SQL> insert into my_part_table values(2002,'addr2002');
1 row created.
SQL> insert into my_part_table values(2003,'addr2003');
1 row created.
SQL> commit;
Commit complete.
SQL> select rowid,a.* from my_part_table partition(p1) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF28AABAAAHmxAAA 1 addr1
AAAF28AABAAAHmxAAB 2 addr2
AAAF28AABAAAHmxAAC 3 addr3
SQL> select rowid,a.* from my_part_table partition(p2) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF29AABAAAHm5AAA 1001 addr1001
AAAF29AABAAAHm5AAB 1002 addr1002
AAAF29AABAAAHm5AAC 1003 addr1003
SQL> select rowid,a.* from my_part_table partition(p3) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF2+AABAAAHnBAAA 2001 addr2001
AAAF2+AABAAAHnBAAB 2002 addr2002
AAAF2+AABAAAHnBAAC 2003 addr2003
SQL> alter session set events='14402 trace name errorstack forever,level 3';
Session altered.
SQL> update my_part_table set id=3001 where id=1;
update my_part_table set id=3001 where id=1
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
SQL> set linesize 200 pagesize 999
SQL> col tracefile format a100
SQL> select spid,tracefile from v$process a where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum=1));
SPID TRACEFILE
------------------------ ----------------------------------------------------------------------------------------------------
53919 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_53919.trc
SQL> host ls -ltrh /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_53919.trc
-rw-r----- 1 oracle asmadmin 5.4M Sep 21 10:40 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_53919.trc
SQL> host tail -15 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/alert_yqbdb1.log
Pluggable database PDB opened read write
Completed: alter pluggable database pdb open
2023-09-21T10:40:05.964639+08:00
PDB(3):Errors in file /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_53919.trc:
ORA-14402: updating partition key column would cause a partition change
2023-09-21T10:40:08.246821+08:00
PDB(3):*****************************************************************
PDB(3):An internal routine has requested a dump of selected redo.
PDB(3):This usually happens following a specific internal error, when
PDB(3):analysis of the redo logs will help Oracle Support with the
PDB(3):diagnosis.
PDB(3):It is recommended that you retain all the redo logs generated (by
PDB(3):all the instances) during the past 12 hours, in case additional
PDB(3):redo dumps are required to help with the diagnosis.
PDB(3):*****************************************************************
SQL> conn / as sysdba
Connected.
SQL> alter session set container=pdb;
Session altered.
SQL> alter session set events='14402 trace name errorstack forever,level 1';
Session altered.
SQL> update my_part_table set id=3002 where id=2;
update my_part_table set id=3002 where id=2
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
SQL> set linesize 200 pagesize 999
SQL> col tracefile format a100
SQL> select spid,tracefile from v$process a where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum=1));
SPID TRACEFILE
------------------------ ----------------------------------------------------------------------------------------------------
69852 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_69852.trc
SQL> host ls -ltrh /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_69852.trc
-rw-r----- 1 oracle asmadmin 308K Sep 21 11:05 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_69852.trc
SQL> host tail -15 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/alert_yqbdb1.log
PDB(3):Errors in file /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_53919.trc:
ORA-14402: updating partition key column would cause a partition change
2023-09-21T10:40:08.246821+08:00
PDB(3):*****************************************************************
PDB(3):An internal routine has requested a dump of selected redo.
PDB(3):This usually happens following a specific internal error, when
PDB(3):analysis of the redo logs will help Oracle Support with the
PDB(3):diagnosis.
PDB(3):It is recommended that you retain all the redo logs generated (by
PDB(3):all the instances) during the past 12 hours, in case additional
PDB(3):redo dumps are required to help with the diagnosis.
PDB(3):*****************************************************************
2023-09-21T11:05:30.198564+08:00
PDB(3):Errors in file /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_69852.trc:
ORA-14402: updating partition key column would cause a partition change
SQL> conn / as sysdba
Connected.
SQL> alter session set container=pdb;
Session altered.
SQL> alter session set events='14402 trace name errorstack forever,level 0';
Session altered.
SQL> update my_part_table set id=3003 where id=3;
update my_part_table set id=3003 where id=3
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
SQL> set linesize 200 pagesize 999
SQL> col tracefile format a100
SQL> select spid,tracefile from v$process a where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum=1));
SPID TRACEFILE
------------------------ ----------------------------------------------------------------------------------------------------
81453 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_81453.trc
SQL> host ls -ltrh /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_81453.trc
ls: cannot access /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_81453.trc: No such file or directory
SQL> host tail -15 /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/alert_yqbdb1.log
PDB(3):Errors in file /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_53919.trc:
ORA-14402: updating partition key column would cause a partition change
2023-09-21T10:40:08.246821+08:00
PDB(3):*****************************************************************
PDB(3):An internal routine has requested a dump of selected redo.
PDB(3):This usually happens following a specific internal error, when
PDB(3):analysis of the redo logs will help Oracle Support with the
PDB(3):diagnosis.
PDB(3):It is recommended that you retain all the redo logs generated (by
PDB(3):all the instances) during the past 12 hours, in case additional
PDB(3):redo dumps are required to help with the diagnosis.
PDB(3):*****************************************************************
2023-09-21T11:05:30.198564+08:00
PDB(3):Errors in file /oracle/app/oracle/diag/rdbms/yqbdb/yqbdb1/trace/yqbdb1_ora_69852.trc:
ORA-14402: updating partition key column would cause a partition change
SQL>
附录 2 - 解决 Oracle 分区表不能更新分区字段的方法:
默认情况下,Oracle 分区表对于分区字段是不允许进行 update 操作的,如果更新就会报 ORA-14402 错误,解决方法是临时开启表的 row movement 属性:
alter table my_part_table enable row movement;
update my_part_table set id=3003 where id=3;
commit;
select rowid,a.* from my_part_table partition(p1) a;
select rowid,a.* from my_part_table partition(p2) a;
select rowid,a.* from my_part_table partition(p3) a;
alter table my_part_table disable row movement;
update my_part_table set id=3002 where id=2;
限制:对于普通表( heap-organized )行迁移后 rowid 会发生变化,对于索引表( index-organized )rowid 虽然依然有效但是其实际对应的物理构成是错误的。
测试日志:
SQL> conn / as sysdba
Connected.
SQL> alter session set container=pdb;
Session altered.
SQL> select rowid,a.* from my_part_table partition(p1) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF3HAABAAAHnJAAA 1 addr1
AAAF3HAABAAAHnJAAB 2 addr2
AAAF3HAABAAAHnJAAC 3 addr3
SQL> select rowid,a.* from my_part_table partition(p2) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF3IAABAAAHnRAAA 1001 addr1001
AAAF3IAABAAAHnRAAB 1002 addr1002
AAAF3IAABAAAHnRAAC 1003 addr1003
SQL> select rowid,a.* from my_part_table partition(p3) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF3JAABAAAHnZAAA 2001 addr2001
AAAF3JAABAAAHnZAAB 2002 addr2002
AAAF3JAABAAAHnZAAC 2003 addr2003
SQL> update my_part_table set id=3003 where id=3;
update my_part_table set id=3003 where id=3
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
SQL> alter table my_part_table enable row movement;
Table altered.
SQL> update my_part_table set id=3003 where id=3;
1 row updated.
SQL> commit;
Commit complete.
SQL> select rowid,a.* from my_part_table partition(p1) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF3HAABAAAHnJAAA 1 addr1
AAAF3HAABAAAHnJAAB 2 addr2
SQL> select rowid,a.* from my_part_table partition(p2) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF3IAABAAAHnRAAA 1001 addr1001
AAAF3IAABAAAHnRAAB 1002 addr1002
AAAF3IAABAAAHnRAAC 1003 addr1003
SQL> select rowid,a.* from my_part_table partition(p3) a;
ROWID ID ADDR
------------------ ---------- --------------------
AAAF3JAABAAAHnZAAA 2001 addr2001
AAAF3JAABAAAHnZAAB 2002 addr2002
AAAF3JAABAAAHnZAAC 2003 addr2003
AAAF3JAABAAAHnZAAD 3003 addr3
SQL> alter table my_part_table disable row movement;
Table altered.
SQL> update my_part_table set id=3002 where id=2;
update my_part_table set id=3002 where id=2
*
ERROR at line 1:
ORA-14402: updating partition key column would cause a partition change
相关文章:

使用 ErrorStack 在出现报错 ORA-14402 时产生的日志量
0、测试结论: 测试结果:设置 ErrorStack 级别为 1 时产生 Trace 的日志量最小,大小为 308K,同时在 alert 日志中也存在记录。 1、准备测试数据: sqlplus / as sysdba show pdbs alter session set containerpdb; …...

详解Spring-ApplicationContext
加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。 这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。 配…...

关键字extern、static与const
关键字extern、static与const extern关键字与include的区别 extern:于声明某个函数或变量是外部的(其他源文件中)include:用于批量引入 项目中可以根据需要引入的函数或变量数量决定使用extern还是include static关键字 static关键字用于限制函数和全局变量的作用域仅在当…...

虹科方案|国庆出游季,古建筑振动监测让历史古迹不再受损
全文导读: 国庆长假即将到来,各位小伙伴是不是都做好了出游计划呢?今年中秋、国庆“双节”连休八天,多地预计游客接待量将创下新高,而各地的名胜古迹更是人流爆满。迎接游客的同时,如何保障历史古迹不因巨大…...

Python学习笔记-使用哈希算法Hash,Hashlib进行数据加密
文章目录 一、概述1.1 哈希算法1.2 常见算法分类1.2.1 SHA算法1.2.2 MD4算法1.2.3 MD5算法 1.3 Hash算法的特性1.4 Hash算法的应用场景1.4.1 数据校验1.4.2 安全加密1.4.3 数字签名 二、Hash算法使用2.1 使用hash函数直接获取hash值2.2 使用hashlib库进行hash计算2.2.1 基本使用…...

跨境电商能否成为黄河流域产业带的新引擎?
近年来,随着全球贸易格局的不断演变和中国经济的快速崛起,跨境电商已经成为中国外贸的一大亮点。而在中国国内,黄河流域产业带一直以其丰富的资源和悠久的历史而闻名,但也面临着转型升级的挑战。那么,跨境电商是否有潜…...

从数据到决策:企业投资信息查询API的关键作用
前言 在现代商业环境中,数据是一项无价的资产。企业不仅需要访问大量数据,还需要将这些数据转化为有用的见解,以支持战略决策。对于企业投资而言,准确的信息和实时的市场数据至关重要。在这个信息时代,企业投资信息查…...

NSIC2050JBT3G 车规级120V 50mA ±15% 用于LED照明的线性恒流调节器(CCR) 增强汽车安全
随着汽车行业的巨大变革,高品质的汽车氛围灯效、仪表盘等LED指示灯效已成为汽车内饰设计中不可或缺的元素。深力科安森美LED驱动芯片系列赋能智能座舱灯效充满艺术感和科技感——NSIC2050JBT3G LED驱动芯片,实现对每路LED亮度和颜色进行细腻控制…...

LuatOS-SOC接口文档(air780E)-- ftp - ftp 客户端
ftp.login(adapter,ip_addr,port,username,password)# FTP客户端 参数 传入值类型 解释 int 适配器序号, 只能是socket.ETH0, socket.STA, socket.AP,如果不填,会选择平台自带的方式,然后是最后一个注册的适配器 string ip_addr 地址 string port 端口,默认21 string…...

第二证券:市净率高好还是低好?
市净率是一个衡量公司股票投资价值的指标,通过比较公司股票价格和公司每股净资产的比值来评估公司股票的估值水平。市净率高好还是低好这个问题并没有一个简单的答案,取决于具体的市场环境和投资者的需求。本文将从多个角度分析市净率高好还是低好。 首…...

HTTP协议是什么
HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议,是一种网络通信协议。 超文本:所谓 “超文本” 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些其他的资源, 比如图片, 视频, 音频等二进制的数据。…...

微服务09-Sentinel的入门
文章目录 微服务中的雪崩现象解决办法:1. 超时处理2. 舱壁模式3. 熔断降级4.流量控制 Sentinel1.介绍2.使用操作3.限流规则4.实战:流量监控5.高级选项功能的使用1.关联模式2.链路模式3.总结 流控效果1.预热模式2.排队等待模式3.总结4.热点参数限流5.实战…...

2023-2024-1 高级语言程序设计实验一: 选择结构
7-1 古时年龄称谓知多少? 输入一个人的年龄(岁),判断出他属于哪个年龄段 ? 0-9 :垂髫之年; 10-19: 志学之年; 20-29 :弱冠之年; 30-39 &#…...

js事件循环详解
事件循环简介 JavaScript的事件循环是一种处理异步事件和回调函数的机制,它是在浏览器或Node.js环境中运行,用于管理任务队列和调用栈,以及在适当的时候执行回调函数。 事件循环的基本原理是,JavaScript引擎在空闲时等待事件的到…...

实战指南:使用 kube-prometheus-stack 监控 K3s 集群
作者简介 王海龙,Rancher 中国社区技术经理,Linux Foundation APAC Evangelist,负责 Rancher 中国技术社区的维护和运营。拥有 9 年的云计算领域经验,经历了 OpenStack 到 Kubernetes 的技术变革,无论底层操作系统 Lin…...

golang调用scws实现简易中文分词
1、安装 scws 官网以及文档 https://github.com/hightman/scws wget -q -O - http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 | tar xjf -cd scws-1.2.3 ./configure --prefix/usr/local/scws --enable-shared make && make installLibraries have been ins…...

Excel 中使用数据透视图进行数据可视化
使用数据透视表(PivotTable)是在Excel中进行数据可视化的强大工具。下面将提供详细的步骤来使用数据透视表进行数据可视化。 **步骤一:准备数据** 首先,确保你有一个包含所需数据的Excel表格。数据应该按照一定的结构和格式组织…...

在SIP 语音呼叫中出现单通时要怎么解决?
在VoIP的环境中,特别是基于SIP通信的环境中,我们经常会遇到一些非常常见的问题,例如,单通,注册问题,回声,单通等。这些问题事实上都有非常直接的排查方式和解决办法,用户可以按照一定…...

【师兄啊师兄2】公布,李长寿成功渡劫,敖乙叛变,又一美女登场
Hello,小伙伴们,我是小郑继续为大家深度解析国漫资讯。 由玄机制作的师兄啊师兄第一季这才完结没有多久,没想到现在第二季就公布了,连海报和预告都出来了,看样子已经做得差不多了。预告看下来,能够明显感觉到官方又进步…...

视频倒着播放,原来是这么实现的
视频倒放是当今最流行的内容类型之一,这些视频服务于不同的目的,例如营销、娱乐、教育等。它们以独特的内容脱颖而出,并给观众留下深刻印象,将视频编辑带到了一个全新的水平。 在本文中,您将了解有关视频倒着播放的内…...

# 02 初识Verilog HDL
02 初识Verilog HDL 对于Verilog的语言的学习,我认为没必要一开始就从头到尾认真的学习这个语言,把这个语言所有细节都搞清楚也不现实,我们能够看懂当前FPGA的代码的程度就可以了,随着学习FPGA深度的增加,再不断的…...

使用 Eziriz .NET Reactor 对c#程序加密
我目前测试过好几个c#加密软件。效果很多时候是加密后程序执行错误,或者字段找不到的现象 遇到这个加密软件用了一段时间都很正常,分享一下使用流程 破解版本自行百度。有钱的支持正版,我用的是 Eziriz .NET Reactor 6.8.0 第一步 安装 Ezi…...

Restclient-cpp库介绍和实际应用:爬取www.sohu.com
概述 Restclient-cpp是一个用C编写的简单而优雅的RESTful客户端库,它可以方便地发送HTTP请求和处理响应。它基于libcurl和jsoncpp,支持GET, POST, PUT, PATCH, DELETE, HEAD等方法,以及自定义HTTP头部,超时设置,代理服…...

提升市场调研和竞品分析效率:利用Appium实现App数据爬取
市场调研和竞品分析通常需要获取大量的数据,而手动收集这些数据往往耗时且容易出错。而利用Appium框架,我们可以轻松地实现自动化的App数据爬取,这种方法不仅可以节省时间和人力成本,还可以提高数据的准确性和一致性。 Appium是一…...

【Git笔记】之Git重命名详解
目录 一、Git重命名文件 二、Git重命名origin 三、Git重命名分支 四、Git重命名远程分支 五、Git重命名作者 六、Git clone重命名 七、Git重命名仓库 八、Git重命名文件夹后出现两个代码 九、Git重命名文件名 Git是一个非常流行的版本控制工具,它可以帮助程…...

201、RabbitMQ 之 Exchange 典型应用模型 之 工作队列(Work Queue)
目录 ★ 工作队列介绍代码演示测试注意点1:注意点2: ★ 工作队列介绍 工作队列: 就是让多个消费者竞争消费同一个消息队列的消息,相当于多个消费者共享消息队列。 ▲ RabbitMQ可以让多个消费者竞争消费同一个消息队列 ▲ 消息队…...

了解三层架构:表示层、业务逻辑层、数据访问层
目录 背景: 三层架构 什么是三层: 分层的目的: 三层的结构关系编辑 三层表现形式:编辑 三层的优缺点: 总结: 背景: 三层架构是一种软件设计模式,可称为客户端-服务器-架构,把各个功能模块划分…...

三相空气开关
一、三相空开的作用 三相空气开关对任意一相出现过载或短路,均起到保护作用。 二、三相空气开关原理图: 1、老式空气开关 1)、短路时,电磁脱钩器工作 2)、过载时,发热元件引起双金属片弯曲,使脱钩器工作 3)、测试按…...

uniapp 单位rpx ,设计稿尺寸px处理方式
1.使用postcss-px2rpx 插件做全局的单位转换 npm install postcss-px2rpx -D npm 安装 2.postcss.config.js修改 module.exports {plugins: {postcss-px2rpx: {// 设计稿宽度,默认750designWidth: 750,// 需要转换的最小像素值,默认1pxminPixelValue: 1…...

@所有燃气企业,城燃企业数字化转型重点抓住的八个关键点
关键词:智慧燃气、燃气数字化、设备设施数字化 数字化转型是用信息技术全面重塑企业经营管理模式,是企业发展模式的变革创新,是企业从工业经济时代迈向数字经济时代的必然选择。加快推进企业数字化转型,打造数字时代企业业务运行…...