Oracle10g Logical DataGuard 详细搭建过程

2024-02-01 08:48

本文主要是介绍Oracle10g Logical DataGuard 详细搭建过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

logical standby是在physical standby基础上搭建

Oracle10g Physical DataGuard 详细搭建过程


--停止standby上的日志应用

SQL> alter database recover managed standby database  cancel;


Database altered.



--修改主库log_archive_dest_3参数,当切换为备库时在线日志归档路径

SQL> alter system set log_archive_dest_3='LOCATION=/u01/app/oracle/oradata/dbserver/arch valid_for=(standby_logfiles,standby_role) db_unique_name=dbserver';


System altered.


SQL> alter system set log_archive_dest_state_3=enable;


System altered.


--主库执行,alert.log显示Logminer Bld: Done

SQL> execute dbms_logstdby.build;


PL/SQL procedure successfully completed.



--修改备库log_archive_dest_3参数,备库在线日志归档路径

SQL> alter system set log_archive_dest_3='LOCATION=/u01/app/oracle/oradata/standby/arch valid_for=(standby_logfiles,standby_role) db_unique_name=standby';


System altered.


SQL> alter system set log_archive_dest_state_3=enable;


System altered.


--如果备库没有临时表空间需要创建

--在standby端将物理备库转为逻辑备库,最后一个standby是逻辑备库名称

SQL> select status from v$instance;


STATUS
------------
MOUNTED


SQL> select database_role from v$database;


DATABASE_ROLE
----------------
PHYSICAL STANDBY


SQL> startup mount force
ORACLE instance started.


Total System Global Area  612368384 bytes
Fixed Size                  2085872 bytes
Variable Size             167775248 bytes
Database Buffers          436207616 bytes
Redo Buffers                6299648 bytes
Database mounted.
SQL> alter database recover to logical standby standby;


Database altered.


SQL> select status from v$instance;


STATUS
------------
STARTED


SQL> startup mount force
ORACLE instance started.


Total System Global Area  612368384 bytes
Fixed Size                  2085872 bytes
Variable Size             167775248 bytes
Database Buffers          436207616 bytes
Redo Buffers                6299648 bytes
Database mounted.
SQL> select database_role from v$database;


DATABASE_ROLE
----------------
LOGICAL STANDBY


SQL> alter database open resetlogs;


Database altered.


SQL> select name from v$database;


NAME
---------
STANDBY



--在主库switch logfile

SQL> alter system switch logfile;


System altered.


SQL> /


System altered.


SQL> /


System altered.


SQL> /


System altered.


SQL> /


System altered.


SQL> /


System altered.



--standby alert.log

RFS[3]: Assigned to RFS process 10806
RFS[3]: Identified database type as 'logical standby'
Mon Mar  3 13:10:28 2014
RFS LogMiner: Client enabled and ready for notification
RFS[3]: Successfully opened standby log 6: '/u01/app/oracle/oradata/standby/standby03.log'
Mon Mar  3 13:10:28 2014
RFS LogMiner: Client enabled and ready for notification
Mon Mar  3 13:11:21 2014
RFS LogMiner: Client enabled and ready for notification
Mon Mar  3 13:11:22 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[2]: Successfully opened standby log 5: '/u01/app/oracle/oradata/standby/standby02.log'
Mon Mar  3 13:11:33 2014
RFS LogMiner: Client enabled and ready for notification
Mon Mar  3 13:11:34 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[2]: Successfully opened standby log 5: '/u01/app/oracle/oradata/standby/standby02.log'


--在备库启用实时应用

SQL> alter database start logical standby apply immediate;


Database altered.



--接下来就是测试了,在主库插入数据在备库查看是否同步,以下是备库的alert.log

RFS LogMiner: Registered logfile [/u01/app/oracle/oradata/standby/arch/ARC0000000136_0839199018.0001] to LogMiner session id [1]
LOGMINER: session# = 1, reader process P000 started with pid=40 OS id=10844
LOGMINER: session# = 1, builder process P001 started with pid=41 OS id=10846
LOGMINER: session# = 1, preparer process P002 started with pid=42 OS id=10848
Mon Mar  3 13:17:08 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 136, /u01/app/oracle/oradata/standby/arch/ARC0000000136_0839199018.0001
Mon Mar  3 13:17:08 2014
LOGMINER: Turning ON Log Auto Delete
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000136_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 137, /u01/app/oracle/oradata/standby/arch/ARC0000000137_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000137_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 138, /u01/app/oracle/oradata/standby/arch/ARC0000000138_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000138_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 139, /u01/app/oracle/oradata/standby/arch/ARC0000000139_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000139_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 140, /u01/app/oracle/oradata/standby/arch/ARC0000000140_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000140_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 141, /u01/app/oracle/oradata/standby/arch/ARC0000000141_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000141_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 142, /u01/app/oracle/oradata/standby/arch/ARC0000000142_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000142_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 143, /u01/app/oracle/oradata/standby/arch/ARC0000000143_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000143_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 144, /u01/app/oracle/oradata/standby/arch/ARC0000000144_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000144_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 145, /u01/app/oracle/oradata/standby/arch/ARC0000000145_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000145_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 146, /u01/app/oracle/oradata/standby/arch/ARC0000000146_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000146_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 147, /u01/app/oracle/oradata/standby/arch/ARC0000000147_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000147_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 148, /u01/app/oracle/oradata/standby/arch/ARC0000000148_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000148_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: Begin mining logfile during dictionary load for session 1 thread 1 sequence 149, /u01/app/oracle/oradata/standby/arch/ARC0000000149_0839199018.0001
Mon Mar  3 13:17:14 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000149_0839199018.0001
LNS1 started with pid=43, OS id=10850
Mon Mar  3 13:17:17 2014
Thread 1 advanced to log sequence 2 (LGWR switch)
  Current log# 2 seq# 2 mem# 0: /u01/app/oracle/oradata/standby/redo02.log
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_ATTRCOL$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_CCOL$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_CDEF$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_COL$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_COLTYPE$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_ICOL$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_IND$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_INDCOMPART$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_INDPART$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_INDSUBPART$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_LOB$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_LOBFRAG$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_OBJ$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_TAB$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_TABCOMPART$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_TABPART$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_TABSUBPART$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_TS$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_TYPE$ have been marked unusable
Mon Mar  3 13:17:19 2014
Some indexes or index [sub]partitions of table SYSTEM.LOGMNR_USER$ have been marked unusable
Indexes of table  SYSTEM.LOGMNR_ATTRCOL$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_ATTRIBUTE$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_CCOL$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_CDEF$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_COL$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_COLTYPE$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_DICTIONARY$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_ICOL$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_IND$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_INDCOMPART$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_INDPART$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_INDSUBPART$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_LOB$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_LOBFRAG$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_OBJ$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_TAB$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_TABCOMPART$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_TABPART$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_TABSUBPART$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_TS$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_TYPE$ have been rebuilt and are now usable
Indexes of table  SYSTEM.LOGMNR_USER$ have been rebuilt and are now usable
LSP2 started with pid=44, OS id=10853
Mon Mar  3 13:17:26 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 136, /u01/app/oracle/oradata/standby/arch/ARC0000000136_0839199018.0001
Mon Mar  3 13:17:26 2014
LOGMINER: Turning ON Log Auto Delete
LOGSTDBY Analyzer process P003 started with pid=45 OS id=10855
LOGSTDBY Apply process P006 started with pid=48 OS id=10861
LOGSTDBY Apply process P008 started with pid=50 OS id=10865
LOGSTDBY Apply process P007 started with pid=49 OS id=10863
LOGSTDBY Apply process P004 started with pid=46 OS id=10857
LOGSTDBY Apply process P005 started with pid=47 OS id=10859
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000136_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 137, /u01/app/oracle/oradata/standby/arch/ARC0000000137_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000137_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 138, /u01/app/oracle/oradata/standby/arch/ARC0000000138_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000138_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 139, /u01/app/oracle/oradata/standby/arch/ARC0000000139_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000139_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 140, /u01/app/oracle/oradata/standby/arch/ARC0000000140_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000140_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 141, /u01/app/oracle/oradata/standby/arch/ARC0000000141_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000141_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 142, /u01/app/oracle/oradata/standby/arch/ARC0000000142_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000142_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 143, /u01/app/oracle/oradata/standby/arch/ARC0000000143_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000143_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 144, /u01/app/oracle/oradata/standby/arch/ARC0000000144_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000144_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 145, /u01/app/oracle/oradata/standby/arch/ARC0000000145_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000145_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 146, /u01/app/oracle/oradata/standby/arch/ARC0000000146_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000146_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 147, /u01/app/oracle/oradata/standby/arch/ARC0000000147_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000147_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 148, /u01/app/oracle/oradata/standby/arch/ARC0000000148_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000148_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 149, /u01/app/oracle/oradata/standby/arch/ARC0000000149_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: End mining logfile: /u01/app/oracle/oradata/standby/arch/ARC0000000149_0839199018.0001
Mon Mar  3 13:17:27 2014
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 150, /u01/app/oracle/oradata/standby/standby03.log
Mon Mar  3 13:18:05 2014
RFS LogMiner: RFS id [10797] assigned as thread [1] PING handler

这篇关于Oracle10g Logical DataGuard 详细搭建过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666725

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni