验证DG最大性能模式下使用ARCH/LGWR及STANDBYLOG的不同情况
总结: --两台单实例数据库做DG,数据库版本10.2.0.1.0 1.主库配置为:arch async,备库无STANDBY LOG。 日志中会有:RFS[4]: No standby redo logfiles created 2.主库配置为:arch async,备库有STANDBY LOG,日志中未显示使用。 特殊情况:主库配置为:arc
总结: --两台单实例数据库做DG,数据库版本10.2.0.1.01.主库配置为:arch async,备库无STANDBY LOG。
日志中会有:RFS[4]: No standby redo logfiles created
2.主库配置为:arch async,备库有STANDBY LOG,日志中未显示使用。
特殊情况:主库配置为:arch async,备库有STANDBY LOG,备库未打开日志应用 ,日志中有:RFS[8]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
3.主库修改参数为:lgwr async,备库有STANDBY LOG,日志如下:
RFS[10]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
4.主库修改参数为:log_archive_dest_2 == SERVICE=PROD,只写SERVICE=PROD主库归档不能传送到备库。
实验1:主库配置为:arch async,备库无STANDBY LOG。
1.主库配置及日志:主库:
SQL> select protection_mode,database_role,protection_level from v$database;
PROTECTION_MODE DATABASE_ROLE PROTECTION_LEVEL
-------------------- ---------------- --------------------
MAXIMUM PERFORMANCE PRIMARY MAXIMUM PERFORMANCE
15:47:43 SQL> show parameter log_archive_dest_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=prod1 arch async VALI
D_FOR=(ONLINE_LOGFILES,PRIMARY
_ROLE) DB_UNIQUE_NAME=prod1
15:47:49 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
27
备库:
SQL> select protection_mode,database_role,protection_level from v$database;
PROTECTION_MODE DATABASE_ROLE PROTECTION_LEVEL
-------------------- ---------------- --------------------
MAXIMUM PERFORMANCE PHYSICAL STANDBY MAXIMUM PERFORMANCE
03:48:02 SQL> select group#,thread#,bytes/1024/1024 mb,status from v$standby_log;
no rows selected
03:48:05 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
27
####################
2.主库做REDO日志切换并查看日志:
15:48:18 SQL> alter system switch logfile;
System altered.
15:49:33 SQL> alter system switch logfile;
System altered.
15:50:11 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
29
备库已经接收:
03:49:48 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
29
主库日志:
[oracle@ocm1 ~]$ tail -f alert_PROD.log
Sun Apr 20 15:49:33 2014
Thread 1 advanced to log sequence 29
Current log# 2 seq# 29 mem# 0: /u01/app/oracle/prod/disk1/redo02.log
Current log# 2 seq# 29 mem# 1: /u01/app/oracle/prod/disk2/log2b.log
Sun Apr 20 15:50:11 2014
Thread 1 advanced to log sequence 30
Current log# 3 seq# 30 mem# 0: /u01/app/oracle/prod/disk1/redo03.log
Current log# 3 seq# 30 mem# 1: /u01/app/oracle/prod/disk2/log3b.log
备库日志:
[oracle@ocm2 ~]$ tail -f alert_PROD1.log
RFS[4]: Archived Log: '/u01/app/oracle/prod/arch/1_28_844894247.arc'
Sun Apr 20 03:49:30 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_28_844894247.arc
Media Recovery Waiting for thread 1 sequence 29
Sun Apr 20 03:50:07 2014
RFS[4]: No standby redo logfiles created
RFS[4]: Archived Log: '/u01/app/oracle/prod/arch/1_29_844894247.arc'
Sun Apr 20 03:50:10 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_29_844894247.arc
Media Recovery Waiting for thread 1 sequence 30
##########################################################
实验2:主库配置为:arch async,备库有STANDBY LOG,此时会自动使用备库的STANDBY LOG。
主库配置不变。备库增加STANDBY LOG:
03:55:04 SQL> alter database recover managed standby database cancel;
Database altered.
03:56:39 SQL> alter database add standby logfile '/u01/app/oracle/prod/disk1/standbylog1.log' size 100m;
Database altered.
03:56:50 SQL> alter database add standby logfile '/u01/app/oracle/prod/disk1/standbylog2.log' size 100m;
Database altered.
03:56:55 SQL> alter database add standby logfile '/u01/app/oracle/prod/disk1/standbylog3.log' size 100m;
Database altered.
03:57:00 SQL> alter database add standby logfile '/u01/app/oracle/prod/disk1/standbylog4.log' size 100m;
Database altered.
03:57:05 SQL> select group#,thread#,bytes/1024/1024 mb,status from v$standby_log;
GROUP# THREAD# MB STATUS
---------- ---------- ---------- ----------
4 0 100 UNASSIGNED
5 0 100 UNASSIGNED
6 0 100 UNASSIGNED
7 0 100 UNASSIGNED
04:13:33 SQL> alter database recover managed standby database disconnect from session;
Database altered.
04:14:12 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
38
###在主库切换日志:
16:15:40 SQL> alter system switch logfile;
System altered.
16:15:53 SQL> alter system switch logfile;
System altered.
16:16:10 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
40
备库查询:
04:02:47 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
32
04:02:49 SQL>
############################
第二次正常时的日志:
[oracle@ocm1 ~]$ tail -f alert_PROD.log
Sun Apr 20 16:18:21 2014
Thread 1 cannot allocate new log, sequence 42
Checkpoint not complete
Current log# 2 seq# 41 mem# 0: /u01/app/oracle/prod/disk1/redo02.log
Current log# 2 seq# 41 mem# 1: /u01/app/oracle/prod/disk2/log2b.log
Thread 1 advanced to log sequence 42
Current log# 3 seq# 42 mem# 0: /u01/app/oracle/prod/disk1/redo03.log
Current log# 3 seq# 42 mem# 1: /u01/app/oracle/prod/disk2/log3b.log
Sun Apr 20 16:19:08 2014
Thread 1 cannot allocate new log, sequence 43
Checkpoint not complete
Current log# 3 seq# 42 mem# 0: /u01/app/oracle/prod/disk1/redo03.log
Current log# 3 seq# 42 mem# 1: /u01/app/oracle/prod/disk2/log3b.log
Thread 1 advanced to log sequence 43
Current log# 1 seq# 43 mem# 0: /u01/app/oracle/prod/disk1/redo01.log
Current log# 1 seq# 43 mem# 1: /u01/app/oracle/prod/disk2/log1b.log
Sun Apr 20 16:20:41 2014
Expanded controlfile section 11 from 56 to 112 records
Requested to grow by 56 records; added 2 blocks of records
备库:
[oracle@ocm2 ~]$ tail -f alert_PROD1.log
Sun Apr 20 04:20:36 2014
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[8]: Assigned to RFS process 16069
RFS[8]: Identified database type as 'physical standby'
RFS[8]: Archived Log: '/u01/app/oracle/prod/arch/1_40_844894247.arc'
RFS[8]: Archived Log: '/u01/app/oracle/prod/arch/1_41_844894247.arc'
RFS[8]: Archived Log: '/u01/app/oracle/prod/arch/1_42_844894247.arc'
Sun Apr 20 04:20:37 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_40_844894247.arc
Media Recovery Log /u01/app/oracle/prod/arch/1_41_844894247.arc
Media Recovery Log /u01/app/oracle/prod/arch/1_42_844894247.arc
Media Recovery Waiting for thread 1 sequence 43
实验4:接上一步,备库关闭日志应用 :
04:23:03 SQL> alter database recover managed standby database cancel;Database altered.
04:23:17 SQL>
主库切换日志:
16:20:17 SQL> alter system switch logfile;
System altered.
16:23:25 SQL> alter system switch logfile;
System altered.
16:25:06 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
44
备库查询:
04:26:21 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
44
此期间主库日志:
Sun Apr 20 16:23:25 2014
Thread 1 advanced to log sequence 44
Current log# 2 seq# 44 mem# 0: /u01/app/oracle/prod/disk1/redo02.log
Current log# 2 seq# 44 mem# 1: /u01/app/oracle/prod/disk2/log2b.log
Sun Apr 20 16:23:25 2014
ARC0: Standby redo logfile selected for thread 1 sequence 43 for destination LOG_ARCHIVE_DEST_2
Sun Apr 20 16:25:06 2014
Thread 1 advanced to log sequence 45
Current log# 3 seq# 45 mem# 0: /u01/app/oracle/prod/disk1/redo03.log
Current log# 3 seq# 45 mem# 1: /u01/app/oracle/prod/disk2/log3b.log
Sun Apr 20 16:25:06 2014
ARC0: Standby redo logfile selected for thread 1 sequence 44 for destination LOG_ARCHIVE_DEST_2
##此期间备库日志:
Managed Standby Recovery Canceled (PROD1)
Sun Apr 20 04:23:17 2014
Completed: alter database recover managed standby database cancel
Sun Apr 20 04:23:20 2014
RFS[8]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
Sun Apr 20 04:25:01 2014
RFS[8]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
实验5:主库修改参数为:lgwr async,备库有STANDBY LOG
总结:此时主库上操作:
16:28:46 SQL> show parameter log_archive_dest_2
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string SERVICE=prod1 lgwr async VALI
D_FOR=(ONLINE_LOGFILES,PRIMARY
_ROLE) DB_UNIQUE_NAME=prod1
16:28:47 SQL> alter system switch logfile;
System altered.
16:30:06 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
45
16:30:36 SQL> alter system switch logfile;
System altered.
16:30:45 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
46
16:33:08 SQL> alter system switch logfile;
System altered.
16:33:09 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
47
备库上查询:
04:29:17 SQL> alter database recover managed standby database disconnect from session;
Database altered.
04:29:32 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
46
04:30:44 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
46
04:33:09 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
47
############
此期间主库日志:
Sun Apr 20 16:28:25 2014
ALTER SYSTEM SET log_archive_dest_2='SERVICE=prod1 lgwr async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prod1' SCOPE=BOTH;
LNS1 started with pid=16, OS id=12273
Sun Apr 20 16:30:06 2014
Thread 1 advanced to log sequence 46
Current log# 1 seq# 46 mem# 0: /u01/app/oracle/prod/disk1/redo01.log
Current log# 1 seq# 46 mem# 1: /u01/app/oracle/prod/disk2/log1b.log
Sun Apr 20 16:30:06 2014
ARC0: Standby redo logfile selected for thread 1 sequence 45 for destination LOG_ARCHIVE_DEST_2
Sun Apr 20 16:30:07 2014
******************************************************************
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2
******************************************************************
LNS: Standby redo logfile selected for thread 1 sequence 46 for destination LOG_ARCHIVE_DEST_2
Sun Apr 20 16:30:42 2014
Thread 1 cannot allocate new log, sequence 47
Checkpoint not complete
Current log# 1 seq# 46 mem# 0: /u01/app/oracle/prod/disk1/redo01.log
Current log# 1 seq# 46 mem# 1: /u01/app/oracle/prod/disk2/log1b.log
Thread 1 advanced to log sequence 47
Current log# 2 seq# 47 mem# 0: /u01/app/oracle/prod/disk1/redo02.log
Current log# 2 seq# 47 mem# 1: /u01/app/oracle/prod/disk2/log2b.log
Sun Apr 20 16:30:45 2014
LNS: Standby redo logfile selected for thread 1 sequence 47 for destination LOG_ARCHIVE_DEST_2
###
Sun Apr 20 16:33:09 2014
Thread 1 advanced to log sequence 48
Current log# 3 seq# 48 mem# 0: /u01/app/oracle/prod/disk1/redo03.log
Current log# 3 seq# 48 mem# 1: /u01/app/oracle/prod/disk2/log3b.log
Sun Apr 20 16:33:10 2014
LNS: Standby redo logfile selected for thread 1 sequence 48 for destination LOG_ARCHIVE_DEST_2
此期间备库日志:
Sun Apr 20 04:29:32 2014
Completed: alter database recover managed standby database disconnect from session
Sun Apr 20 04:30:01 2014
RFS[9]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
Sun Apr 20 04:30:01 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_45_844894247.arc
Media Recovery Waiting for thread 1 sequence 46
Sun Apr 20 04:30:01 2014
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[10]: Assigned to RFS process 12480
RFS[10]: Identified database type as 'physical standby'
Primary database is in MAXIMUM PERFORMANCE mode
Primary database is in MAXIMUM PERFORMANCE mode
RFS[10]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
Sun Apr 20 04:30:36 2014
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[11]: Assigned to RFS process 12574
RFS[11]: Identified database type as 'physical standby'
Sun Apr 20 04:30:40 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[10]: Successfully opened standby log 5: '/u01/app/oracle/prod/disk1/standbylog2.log'
Sun Apr 20 04:30:40 2014
Expanded controlfile section 11 from 28 to 280 records
Requested to grow by 252 records; added 9 blocks of records
Sun Apr 20 04:30:41 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_46_844894247.arc
Media Recovery Waiting for thread 1 sequence 47 (in transit)
###
Sun Apr 20 04:33:04 2014
Primary database is in MAXIMUM PERFORMANCE mode
RFS[10]: Successfully opened standby log 4: '/u01/app/oracle/prod/disk1/standbylog1.log'
Sun Apr 20 04:33:06 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_47_844894247.arc
Media Recovery Waiting for thread 1 sequence 48 (in transit)
#########################
实验6:接上一步,模拟网络中断:--备库上SERVICE NETWORK STOP
主库做归档16:35:19 SQL>
16:37:37 SQL> alter system switch logfile;
System altered.
16:37:38 SQL> alter system switch logfile;
System altered.
16:39:46 SQL>
16:43:34 SQL> alter system switch logfile;
System altered.
16:43:38 SQL>
16:44:18 SQL> alter system switch logfile;
System altered.
16:44:19 SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
51
备库网络中断期间主库归档时日志:
[oracle@ocm1 ~]$ tail -f alert_PROD.log
Sun Apr 20 16:37:38 2014
Thread 1 advanced to log sequence 49
Current log# 1 seq# 49 mem# 0: /u01/app/oracle/prod/disk1/redo01.log
Current log# 1 seq# 49 mem# 1: /u01/app/oracle/prod/disk2/log1b.log
Sun Apr 20 16:39:43 2014
ARC0: Controlfile enqueue unavailable
Sun Apr 20 16:39:43 2014
Errors in file /u01/app/oracle/product/10.2.0.1/dbhome_1/rdbms/log/prod_arc0_9993.trc:
ORA-16146: standby destination control file enqueue unavailable
LNS1 started with pid=16, OS id=12597
Sun Apr 20 16:39:46 2014
Thread 1 advanced to log sequence 50
Current log# 2 seq# 50 mem# 0: /u01/app/oracle/prod/disk1/redo02.log
Current log# 2 seq# 50 mem# 1: /u01/app/oracle/prod/disk2/log2b.log
Sun Apr 20 16:39:49 2014
Error 12560 received logging on to the standby
Sun Apr 20 16:39:49 2014
Errors in file /u01/app/oracle/product/10.2.0.1/dbhome_1/rdbms/log/prod_lns1_12597.trc:
ORA-12560: TNS:protocol adapter error
LGWR: Error 12560 creating archivelog file 'prod1'
LNS: Failed to archive log 2 thread 1 sequence 50 (12560)
Sun Apr 20 16:43:38 2014
Thread 1 advanced to log sequence 51
Current log# 3 seq# 51 mem# 0: /u01/app/oracle/prod/disk1/redo03.log
Current log# 3 seq# 51 mem# 1: /u01/app/oracle/prod/disk2/log3b.log
Sun Apr 20 16:44:19 2014
Thread 1 advanced to log sequence 52
Current log# 1 seq# 52 mem# 0: /u01/app/oracle/prod/disk1/redo01.log
Current log# 1 seq# 52 mem# 1: /u01/app/oracle/prod/disk2/log1b.log
Sun Apr 20 16:48:11 2014
ARC0: Standby redo logfile selected for thread 1 sequence 49 for destination LOG_ARCHIVE_DEST_2
Sun Apr 20 16:48:14 2014
ARCH: Possible network disconnect with primary database
备库网络恢复后日志:
[oracle@ocm2 ~]$ tail -f alert_PROD1.log
RFS[12]: Assigned to RFS process 14171
RFS[12]: Identified database type as 'physical standby'
RFS[12]: Archived Log: '/u01/app/oracle/prod/arch/1_48_844894247.arc'
Sun Apr 20 04:48:07 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_48_844894247.arc
Media Recovery Log /u01/app/oracle/prod/arch/1_49_844894247.arc
Media Recovery Waiting for thread 1 sequence 50
Fetching gap sequence in thread 1, gap sequence 50-50
Sun Apr 20 04:48:08 2014
RFS[12]: Archived Log: '/u01/app/oracle/prod/arch/1_50_844894247.arc'
Sun Apr 20 04:48:38 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_50_844894247.arc
Media Recovery Waiting for thread 1 sequence 51
Fetching gap sequence in thread 1, gap sequence 51-51
Sun Apr 20 04:48:38 2014
RFS[12]: Archived Log: '/u01/app/oracle/prod/arch/1_51_844894247.arc'
Sun Apr 20 04:49:08 2014
Media Recovery Log /u01/app/oracle/prod/arch/1_51_844894247.arc
Media Recovery Waiting for thread 1 sequence 52

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











MetaMask (also called Little Fox Wallet in Chinese) is a free and well-received encryption wallet software. Currently, BTCC supports binding to the MetaMask wallet. After binding, you can use the MetaMask wallet to quickly log in, store value, buy coins, etc., and you can also get 20 USDT trial bonus for the first time binding. In the BTCCMetaMask wallet tutorial, we will introduce in detail how to register and use MetaMask, and how to bind and use the Little Fox wallet in BTCC. What is MetaMask wallet? With over 30 million users, MetaMask Little Fox Wallet is one of the most popular cryptocurrency wallets today. It is free to use and can be installed on the network as an extension

NetEase Mailbox, as an email address widely used by Chinese netizens, has always won the trust of users with its stable and efficient services. NetEase Mailbox Master is an email software specially created for mobile phone users. It greatly simplifies the process of sending and receiving emails and makes our email processing more convenient. So how to use NetEase Mailbox Master, and what specific functions it has. Below, the editor of this site will give you a detailed introduction, hoping to help you! First, you can search and download the NetEase Mailbox Master app in the mobile app store. Search for "NetEase Mailbox Master" in App Store or Baidu Mobile Assistant, and then follow the prompts to install it. After the download and installation is completed, we open the NetEase email account and log in. The login interface is as shown below

Cloud storage has become an indispensable part of our daily life and work nowadays. As one of the leading cloud storage services in China, Baidu Netdisk has won the favor of a large number of users with its powerful storage functions, efficient transmission speed and convenient operation experience. And whether you want to back up important files, share information, watch videos online, or listen to music, Baidu Cloud Disk can meet your needs. However, many users may not understand the specific use method of Baidu Netdisk app, so this tutorial will introduce in detail how to use Baidu Netdisk app. Users who are still confused can follow this article to learn more. ! How to use Baidu Cloud Network Disk: 1. Installation First, when downloading and installing Baidu Cloud software, please select the custom installation option.

Windows 10 vs. Windows 11 performance comparison: Which one is better? With the continuous development and advancement of technology, operating systems are constantly updated and upgraded. As one of the world's largest operating system developers, Microsoft's Windows series of operating systems have always attracted much attention from users. In 2021, Microsoft released the Windows 11 operating system, which triggered widespread discussion and attention. So, what is the difference in performance between Windows 10 and Windows 11? Which

Even answering calls in Do Not Disturb mode can be a very annoying experience. As the name suggests, Do Not Disturb mode turns off all incoming call notifications and alerts from emails, messages, etc. You can follow these solution sets to fix it. Fix 1 – Enable Focus Mode Enable focus mode on your phone. Step 1 – Swipe down from the top to access Control Center. Step 2 – Next, enable “Focus Mode” on your phone. Focus Mode enables Do Not Disturb mode on your phone. It won't cause any incoming call alerts to appear on your phone. Fix 2 – Change Focus Mode Settings If there are some issues in the focus mode settings, you should fix them. Step 1 – Open your iPhone settings window. Step 2 – Next, turn on the Focus mode settings

Ollama is a super practical tool that allows you to easily run open source models such as Llama2, Mistral, and Gemma locally. In this article, I will introduce how to use Ollama to vectorize text. If you have not installed Ollama locally, you can read this article. In this article we will use the nomic-embed-text[2] model. It is a text encoder that outperforms OpenAI text-embedding-ada-002 and text-embedding-3-small on short context and long context tasks. Start the nomic-embed-text service when you have successfully installed o

Xiaomi car software provides remote car control functions, allowing users to remotely control the vehicle through mobile phones or computers, such as opening and closing the vehicle's doors and windows, starting the engine, controlling the vehicle's air conditioner and audio, etc. The following is the use and content of this software, let's learn about it together . Comprehensive list of Xiaomi Auto app functions and usage methods 1. The Xiaomi Auto app was launched on the Apple AppStore on March 25, and can now be downloaded from the app store on Android phones; Car purchase: Learn about the core highlights and technical parameters of Xiaomi Auto, and make an appointment for a test drive. Configure and order your Xiaomi car, and support online processing of car pickup to-do items. 3. Community: Understand Xiaomi Auto brand information, exchange car experience, and share wonderful car life; 4. Car control: The mobile phone is the remote control, remote control, real-time security, easy

The performance comparison of PHP array key value flipping methods shows that the array_flip() function performs better than the for loop in large arrays (more than 1 million elements) and takes less time. The for loop method of manually flipping key values takes a relatively long time.
