当前位置: 首页 > news >正文

Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步

Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步

目录

  • Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步
    • 一、在主库执行备份操作
        • 1、在主库创建备份目录
        • 2、使用 RMAN 命令全备数据库
    • 二、把备份文件复制到备库
        • 1、在备库上创建存放备份文件的目录
        • 2、把主库的备份文件复制到备库
        • 3、查看备库中的主库备份文件
    • 三、在备库上恢复数据库
        • 1、启动数据库到 nomount
        • 2、启动 rman,恢复控制文件,启动数据库到 mount
        • 3、查看控制文件中的数据文件与临时文件信息
        • 4、开始恢复数据库
        • 5、数据库恢复完成,修改日志文件
        • 6、启动数据库
    • 四、开启实时同步
        • 1、开启实时同步
        • 2、查看备库进程
        • 3、查看主库进程信息
        • 4、查看备库信息
        • 5、查看主库信息
    • 五、数据同步验证
        • 1、在主库执行以下 SQL
        • 2、在备库执行以下 SQL查询数据

一、在主库执行备份操作

1、在主库创建备份目录
[oracle@ora dbs]$ mkdir /home/oracle/bak0101
[oracle@ora dbs]$ ll /home/oracle/
总用量 76
drwxr-xr-x 2 oracle oinstall     6 11 19:48 bak0101
-rwxr-xr-x 1 oracle oinstall 44551 1230 21:44 dbca.rsp
-rw-r--r-- 1 oracle oinstall 25283 1230 21:12 db_install.rsp
drwxr-xr-x 3 oracle oinstall   114 1230 20:52 soft
-rw-r--r-- 1 oracle oinstall  1386 11 17:31 spfile1231.ora
2、使用 RMAN 命令全备数据库

(1)设置备份参数:备份到磁盘,使用 6 个通道

RMAN> configure device type disk parallelism 6 backup type to backupset;using target database control file instead of recovery catalog
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 6 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored

(2)设置备份参数:设置备份文件的位置及文件名格式

RMAN> configure channel device type disk format '/home/oracle/bak0101/%d_%I_%s_%p_%T.bkp';new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/home/oracle/bak0101/%d_%I_%s_%p_%T.bkp';
new RMAN configuration parameters are successfully stored

(3)备份控制文件

-- 备份成 standby 类型的控制文件
RMAN> backup current controlfile for standby format ='/home/oracle/bak0101/control_bak_%s.bak';Starting backup at 01-JAN-25
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=40 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=44 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=38 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=43 device type=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: SID=1 device type=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: SID=42 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including standby control file in backup set
channel ORA_DISK_1: starting piece 1 at 01-JAN-25
channel ORA_DISK_1: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/control_bak_12.bak tag=TAG20250101T205548 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 01-JAN-25

(4)备份数据库

RMAN> backup as compressed backupset database;Starting backup at 01-JAN-25
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/usr/local/oradata/hisdb/system01.dbf
channel ORA_DISK_1: starting piece 1 at 01-JAN-25
channel ORA_DISK_2: starting compressed full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00002 name=/usr/local/oradata/hisdb/sysaux01.dbf
channel ORA_DISK_2: starting piece 1 at 01-JAN-25
channel ORA_DISK_3: starting compressed full datafile backup set
channel ORA_DISK_3: specifying datafile(s) in backup set
input datafile file number=00003 name=/usr/local/oradata/hisdb/undotbs01.dbf
channel ORA_DISK_3: starting piece 1 at 01-JAN-25
channel ORA_DISK_4: starting compressed full datafile backup set
channel ORA_DISK_4: specifying datafile(s) in backup set
channel ORA_DISK_5: starting compressed full datafile backup set
channel ORA_DISK_5: specifying datafile(s) in backup set
input datafile file number=00004 name=/usr/local/oradata/hisdb/users01.dbf
channel ORA_DISK_5: starting piece 1 at 01-JAN-25
channel ORA_DISK_6: starting compressed full datafile backup set
channel ORA_DISK_6: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_6: starting piece 1 at 01-JAN-25
including current control file in backup set
channel ORA_DISK_4: starting piece 1 at 01-JAN-25
channel ORA_DISK_6: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/HISDB_2101731232_7_1_20250101.bkp tag=TAG20250101T195259 comment=NONE
channel ORA_DISK_6: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_3: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/HISDB_2101731232_4_1_20250101.bkp tag=TAG20250101T195259 comment=NONE
channel ORA_DISK_3: backup set complete, elapsed time: 00:00:03
channel ORA_DISK_4: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/HISDB_2101731232_5_1_20250101.bkp tag=TAG20250101T195259 comment=NONE
channel ORA_DISK_4: backup set complete, elapsed time: 00:00:03
channel ORA_DISK_5: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/HISDB_2101731232_6_1_20250101.bkp tag=TAG20250101T195259 comment=NONE
channel ORA_DISK_5: backup set complete, elapsed time: 00:00:05
channel ORA_DISK_2: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/HISDB_2101731232_3_1_20250101.bkp tag=TAG20250101T195259 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:28
channel ORA_DISK_1: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/HISDB_2101731232_2_1_20250101.bkp tag=TAG20250101T195259 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:38
Finished backup at 01-JAN-25

(5)备份归档日志

--设置备份文件格式:
RMAN> configure channel device type disk format '/home/oracle/bak0101/arch_%d_%I_%s_%p_%T.bkp';old RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/home/oracle/bak0101/%d_%I_%s_%p_%T.bkp';
new RMAN configuration parameters:
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT   '/home/oracle/bak0101/arch_%d_%I_%s_%p_%T.bkp';
new RMAN configuration parameters are successfully stored
released channel: ORA_DISK_1
released channel: ORA_DISK_2
released channel: ORA_DISK_3
released channel: ORA_DISK_4
released channel: ORA_DISK_5
released channel: ORA_DISK_6-- 备份归档日志:
RMAN> backup as compressed backupset archivelog all;Starting backup at 01-JAN-25
current log archived
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=43 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=38 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=40 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=44 device type=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: SID=45 device type=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: SID=46 device type=DISK
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=7 RECID=1 STAMP=1189224012
channel ORA_DISK_1: starting piece 1 at 01-JAN-25
channel ORA_DISK_2: starting compressed archived log backup set
channel ORA_DISK_2: specifying archived log(s) in backup set
input archived log thread=1 sequence=8 RECID=2 STAMP=1189272700
channel ORA_DISK_2: starting piece 1 at 01-JAN-25
channel ORA_DISK_3: starting compressed archived log backup set
channel ORA_DISK_3: specifying archived log(s) in backup set
input archived log thread=1 sequence=9 RECID=3 STAMP=1189272703
channel ORA_DISK_3: starting piece 1 at 01-JAN-25
channel ORA_DISK_4: starting compressed archived log backup set
channel ORA_DISK_4: specifying archived log(s) in backup set
input archived log thread=1 sequence=10 RECID=4 STAMP=1189281347
channel ORA_DISK_4: starting piece 1 at 01-JAN-25
channel ORA_DISK_2: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_9_1_20250101.bkp tag=TAG20250101T195548 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_3: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_10_1_20250101.bkp tag=TAG20250101T195548 comment=NONE
channel ORA_DISK_3: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_4: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_11_1_20250101.bkp tag=TAG20250101T195548 comment=NONE
channel ORA_DISK_4: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: finished piece 1 at 01-JAN-25
piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_8_1_20250101.bkp tag=TAG20250101T195548 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
Finished backup at 01-JAN-25

(6)查看备份文件信息

[oracle@ora bak0101]$ cd /home/oracle/bak0101
[oracle@ora bak0101]$ ll
总用量 308812
-rw-r----- 1 oracle oinstall  13821952 1月   1 20:57 arch_HISDB_2101731232_19_1_20250101.bkp
-rw-r----- 1 oracle oinstall   5672448 1月   1 20:57 arch_HISDB_2101731232_20_1_20250101.bkp
-rw-r----- 1 oracle oinstall     48640 1月   1 20:57 arch_HISDB_2101731232_21_1_20250101.bkp
-rw-r----- 1 oracle oinstall   2004992 1月   1 20:57 arch_HISDB_2101731232_22_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1540608 1月   1 20:57 arch_HISDB_2101731232_23_1_20250101.bkp
-rw-r----- 1 oracle oinstall   9797632 1月   1 20:55 control_bak_12.bak
-rw-r----- 1 oracle oinstall 202989568 1月   1 20:57 HISDB_2101731232_13_1_20250101.bkp
-rw-r----- 1 oracle oinstall  76685312 1月   1 20:56 HISDB_2101731232_14_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1359872 1月   1 20:56 HISDB_2101731232_15_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1097728 1月   1 20:56 HISDB_2101731232_16_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1097728 1月   1 20:56 HISDB_2101731232_17_1_20250101.bkp
-rw-r----- 1 oracle oinstall     98304 1月   1 20:56 HISDB_2101731232_18_1_20250101.bkp

二、把备份文件复制到备库

1、在备库上创建存放备份文件的目录
[oracle@oradg dbs]$ mkdir /home/oracle/bak11
2、把主库的备份文件复制到备库
[oracle@ora bak0101]$ scp * oracle@oradg:/home/oracle/bak11
oracle@oradg's password: 
arch_HISDB_2101731232_19_1_20250101.bkp       100%   13MB  13.2MB/s   00:00    
arch_HISDB_2101731232_20_1_20250101.bkp       100% 5540KB   5.4MB/s   00:00    
arch_HISDB_2101731232_21_1_20250101.bkp       100%   48KB  47.5KB/s   00:00    
arch_HISDB_2101731232_22_1_20250101.bkp       100% 1958KB   1.9MB/s   00:00    
arch_HISDB_2101731232_23_1_20250101.bkp       100% 1505KB   1.5MB/s   00:00    
control_bak_12.bak                            100% 9568KB   9.3MB/s   00:01    
HISDB_2101731232_13_1_20250101.bkp            100%  194MB  96.8MB/s   00:02    
HISDB_2101731232_14_1_20250101.bkp            100%   73MB  73.1MB/s   00:01    
HISDB_2101731232_15_1_20250101.bkp            100% 1328KB   1.3MB/s   00:01    
HISDB_2101731232_16_1_20250101.bkp            100% 1072KB   1.1MB/s   00:00    
HISDB_2101731232_17_1_20250101.bkp            100% 1072KB   1.1MB/s   00:00    
HISDB_2101731232_18_1_20250101.bkp            100%   96KB  96.0KB/s   00:00    
3、查看备库中的主库备份文件
[oracle@oradg dbs]$ cd /home/oracle/bak11
[oracle@oradg bak11]$ ll
总用量 308812
-rw-r----- 1 oracle oinstall  13821952 1月   1 20:58 arch_HISDB_2101731232_19_1_20250101.bkp
-rw-r----- 1 oracle oinstall   5672448 1月   1 20:58 arch_HISDB_2101731232_20_1_20250101.bkp
-rw-r----- 1 oracle oinstall     48640 1月   1 20:58 arch_HISDB_2101731232_21_1_20250101.bkp
-rw-r----- 1 oracle oinstall   2004992 1月   1 20:58 arch_HISDB_2101731232_22_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1540608 1月   1 20:58 arch_HISDB_2101731232_23_1_20250101.bkp
-rw-r----- 1 oracle oinstall   9797632 1月   1 20:58 control_bak_12.bak
-rw-r----- 1 oracle oinstall 202989568 1月   1 20:58 HISDB_2101731232_13_1_20250101.bkp
-rw-r----- 1 oracle oinstall  76685312 1月   1 20:58 HISDB_2101731232_14_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1359872 1月   1 20:58 HISDB_2101731232_15_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1097728 1月   1 20:58 HISDB_2101731232_16_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1097728 1月   1 20:58 HISDB_2101731232_17_1_20250101.bkp
-rw-r----- 1 oracle oinstall     98304 1月   1 20:58 HISDB_2101731232_18_1_20250101.bkp

三、在备库上恢复数据库

1、启动数据库到 nomount
SQL> startup nomount
ORACLE instance started.Total System Global Area 1068937216 bytes
Fixed Size		    2260088 bytes
Variable Size		  331350920 bytes
Database Buffers	  729808896 bytes
Redo Buffers		    5517312 bytes
2、启动 rman,恢复控制文件,启动数据库到 mount

(1)查看备份的控制文件

[oracle@oradg ~]$ cd /home/oracle/bak11
[oracle@oradg bak11]$ ll
总用量 308812
-rw-r----- 1 oracle oinstall  13821952 1月   1 20:58 arch_HISDB_2101731232_19_1_20250101.bkp
-rw-r----- 1 oracle oinstall   5672448 1月   1 20:58 arch_HISDB_2101731232_20_1_20250101.bkp
-rw-r----- 1 oracle oinstall     48640 1月   1 20:58 arch_HISDB_2101731232_21_1_20250101.bkp
-rw-r----- 1 oracle oinstall   2004992 1月   1 20:58 arch_HISDB_2101731232_22_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1540608 1月   1 20:58 arch_HISDB_2101731232_23_1_20250101.bkp
-rw-r----- 1 oracle oinstall   9797632 1月   1 20:58 control_bak_12.bak
-rw-r----- 1 oracle oinstall 202989568 1月   1 20:58 HISDB_2101731232_13_1_20250101.bkp
-rw-r----- 1 oracle oinstall  76685312 1月   1 20:58 HISDB_2101731232_14_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1359872 1月   1 20:58 HISDB_2101731232_15_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1097728 1月   1 20:58 HISDB_2101731232_16_1_20250101.bkp
-rw-r----- 1 oracle oinstall   1097728 1月   1 20:58 HISDB_2101731232_17_1_20250101.bkp
-rw-r----- 1 oracle oinstall     98304 1月   1 20:58 HISDB_2101731232_18_1_20250101.bkp

(2)恢复控制文件

RMAN> restore controlfile from '/home/oracle/bak11/control_bak_12.bak';Starting restore at 01-JAN-25
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISKchannel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/usr/local/oradata/hisdbdg/control01.ctl
output file name=/usr/local/oracle/fast_recovery_area/hisdbdg/control02.ctl
Finished restore at 01-JAN-25

(3)启动数据库到 mount

SQL> alter database mount;Database altered.
3、查看控制文件中的数据文件与临时文件信息
RMAN>  report schema;released channel: ORA_DISK_1
Starting implicit crosscheck backup at 01-JAN-25
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=27 device type=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: SID=28 device type=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: SID=29 device type=DISK
allocated channel: ORA_DISK_5
channel ORA_DISK_5: SID=30 device type=DISK
allocated channel: ORA_DISK_6
channel ORA_DISK_6: SID=31 device type=DISK
Crosschecked 11 objects
Finished implicit crosscheck backup at 01-JAN-25Starting implicit crosscheck copy at 01-JAN-25
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
Finished implicit crosscheck copy at 01-JAN-25searching for all files in the recovery area
cataloging files...
no files catalogedRMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name HISDBDGList of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    0        SYSTEM               ***     /usr/local/oradata/hisdbdg/system01.dbf
2    0        SYSAUX               ***     /usr/local/oradata/hisdbdg/sysaux01.dbf
3    0        UNDOTBS1             ***     /usr/local/oradata/hisdbdg/undotbs01.dbf
4    0        USERS                ***     /usr/local/oradata/hisdbdg/users01.dbfList of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /usr/local/oradata/hisdbdg/temp01.dbf
4、开始恢复数据库

(1)核对备份文件

RMAN> crosscheck backup;using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/control_bak_1.bak RECID=1 STAMP=1189281129
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_7_1_20250101.bkp RECID=2 STAMP=1189281181
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_4_1_20250101.bkp RECID=3 STAMP=1189281180
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_5_1_20250101.bkp RECID=4 STAMP=1189281182
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_6_1_20250101.bkp RECID=5 STAMP=1189281181
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_3_1_20250101.bkp RECID=6 STAMP=1189281179
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_2_1_20250101.bkp RECID=7 STAMP=1189281179
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_10_1_20250101.bkp RECID=8 STAMP=1189281348
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_11_1_20250101.bkp RECID=9 STAMP=1189281349
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_9_1_20250101.bkp RECID=10 STAMP=1189281348
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_8_1_20250101.bkp RECID=11 STAMP=1189281348
Crosschecked 11 objects

(2)删除失效的备份文件

RMAN> delete expired backup;using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
1       1       1   1   EXPIRED     DISK        /home/oracle/bak0101/control_bak_1.bak
2       2       1   1   EXPIRED     DISK        /home/oracle/bak0101/HISDB_2101731232_7_1_20250101.bkp
3       3       1   1   EXPIRED     DISK        /home/oracle/bak0101/HISDB_2101731232_4_1_20250101.bkp
4       4       1   1   EXPIRED     DISK        /home/oracle/bak0101/HISDB_2101731232_5_1_20250101.bkp
5       5       1   1   EXPIRED     DISK        /home/oracle/bak0101/HISDB_2101731232_6_1_20250101.bkp
6       6       1   1   EXPIRED     DISK        /home/oracle/bak0101/HISDB_2101731232_3_1_20250101.bkp
7       7       1   1   EXPIRED     DISK        /home/oracle/bak0101/HISDB_2101731232_2_1_20250101.bkp
8       8       1   1   EXPIRED     DISK        /home/oracle/bak0101/arch_HISDB_2101731232_10_1_20250101.bkp
9       9       1   1   EXPIRED     DISK        /home/oracle/bak0101/arch_HISDB_2101731232_11_1_20250101.bkp
10      10      1   1   EXPIRED     DISK        /home/oracle/bak0101/arch_HISDB_2101731232_9_1_20250101.bkp
11      11      1   1   EXPIRED     DISK        /home/oracle/bak0101/arch_HISDB_2101731232_8_1_20250101.bkpDo you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/home/oracle/bak0101/control_bak_1.bak RECID=1 STAMP=1189281129
deleted backup piece
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_7_1_20250101.bkp RECID=2 STAMP=1189281181
deleted backup piece
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_4_1_20250101.bkp RECID=3 STAMP=1189281180
deleted backup piece
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_5_1_20250101.bkp RECID=4 STAMP=1189281182
deleted backup piece
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_6_1_20250101.bkp RECID=5 STAMP=1189281181
deleted backup piece
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_3_1_20250101.bkp RECID=6 STAMP=1189281179
deleted backup piece
backup piece handle=/home/oracle/bak0101/HISDB_2101731232_2_1_20250101.bkp RECID=7 STAMP=1189281179
deleted backup piece
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_10_1_20250101.bkp RECID=8 STAMP=1189281348
deleted backup piece
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_11_1_20250101.bkp RECID=9 STAMP=1189281349
deleted backup piece
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_9_1_20250101.bkp RECID=10 STAMP=1189281348
deleted backup piece
backup piece handle=/home/oracle/bak0101/arch_HISDB_2101731232_8_1_20250101.bkp RECID=11 STAMP=1189281348
Deleted 11 EXPIRED objects

(3)重新核对备份文件

RMAN> crosscheck backup;using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6
specification does not match any backup in the repository

(4)更新备份文件

RMAN> catalog start with '/home/oracle/bak11';searching for all files that match the pattern /home/oracle/bak11List of Files Unknown to the Database
=====================================
File Name: /home/oracle/bak11/arch_HISDB_2101731232_19_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_20_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_21_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_22_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_23_1_20250101.bkp
File Name: /home/oracle/bak11/control_bak_12.bak
File Name: /home/oracle/bak11/HISDB_2101731232_13_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_14_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_15_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_16_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_17_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_18_1_20250101.bkpDo you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging doneList of Cataloged Files
=======================
File Name: /home/oracle/bak11/arch_HISDB_2101731232_19_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_20_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_21_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_22_1_20250101.bkp
File Name: /home/oracle/bak11/arch_HISDB_2101731232_23_1_20250101.bkp
File Name: /home/oracle/bak11/control_bak_12.bak
File Name: /home/oracle/bak11/HISDB_2101731232_13_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_14_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_15_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_16_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_17_1_20250101.bkp
File Name: /home/oracle/bak11/HISDB_2101731232_18_1_20250101.bkp

(5)查看备份集信息

RMAN> list backup of database;List of Backup Sets
===================BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
6       Full    193.57M    DISK        00:00:00     01-JAN-25      BP Key: 6   Status: AVAILABLE  Compressed: YES  Tag: TAG20250101T195259Piece Name: /home/oracle/bak11/HISDB_2101731232_2_1_20250101.bkpList of Datafiles in backup set 6File LV Type Ckp SCN    Ckp Time  Name---- -- ---- ---------- --------- ----1       Full 1063667    01-JAN-25 /usr/local/oradata/hisdb/system01.dbfBS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
7       Full    72.98M     DISK        00:00:00     01-JAN-25      BP Key: 7   Status: AVAILABLE  Compressed: YES  Tag: TAG20250101T195259Piece Name: /home/oracle/bak11/HISDB_2101731232_3_1_20250101.bkpList of Datafiles in backup set 7File LV Type Ckp SCN    Ckp Time  Name---- -- ---- ---------- --------- ----2       Full 1063668    01-JAN-25 /usr/local/oradata/hisdb/sysaux01.dbfBS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8       Full    1.20M      DISK        00:00:00     01-JAN-25      BP Key: 8   Status: AVAILABLE  Compressed: YES  Tag: TAG20250101T195259Piece Name: /home/oracle/bak11/HISDB_2101731232_4_1_20250101.bkpList of Datafiles in backup set 8File LV Type Ckp SCN    Ckp Time  Name---- -- ---- ---------- --------- ----3       Full 1063669    01-JAN-25 /usr/local/oradata/hisdb/undotbs01.dbfBS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
10      Full    1.04M      DISK        00:00:00     01-JAN-25      BP Key: 10   Status: AVAILABLE  Compressed: YES  Tag: TAG20250101T195259Piece Name: /home/oracle/bak11/HISDB_2101731232_6_1_20250101.bkpList of Datafiles in backup set 10File LV Type Ckp SCN    Ckp Time  Name---- -- ---- ---------- --------- ----4       Full 1063671    01-JAN-25 /usr/local/oradata/hisdb/users01.dbf

(6)恢复数据库

/*
run{
set newname for datafile  1  to  '/usr/local/oradata/hisdbdg/system01.dbf';
set newname for datafile  2  to  '/usr/local/oradata/hisdbdg/sysaux01.dbf';
set newname for datafile  4  to  '/usr/local/oradata/hisdbdg/undotbs01.dbf';
set newname for datafile  3  to  '/usr/local/oradata/hisdbdg/users01.dbf';
set newname for tempfile  1  to  '/usr/local/oracle/data/oradata/temp01';
restore database;
switch datafile all;
switch tempfile all;
recover database;
}
*/RMAN> run{
set newname for datafile  1  to  '/usr/local/oradata/hisdbdg/system01.dbf';
set newname for datafile  2  to  '/usr/local/oradata/hisdbdg/sysaux01.dbf';
set newname for datafile  4  to  '/usr/local/oradata/hisdbdg/undotbs01.dbf';
set newname for datafile  3  to  '/usr/local/oradata/hisdbdg/users01.dbf';
set newname for tempfile  1  to  '/usr/local/oracle/data/oradata/temp01';
restore database;
switch datafile all;
switch tempfile all;
recover database;
11> }executing command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 01-JAN-25
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /usr/local/oradata/hisdbdg/system01.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/bak11/HISDB_2101731232_13_1_20250101.bkp
channel ORA_DISK_2: starting datafile backup set restore
channel ORA_DISK_2: specifying datafile(s) to restore from backup set
channel ORA_DISK_2: restoring datafile 00002 to /usr/local/oradata/hisdbdg/sysaux01.dbf
channel ORA_DISK_2: reading from backup piece /home/oracle/bak11/HISDB_2101731232_14_1_20250101.bkp
channel ORA_DISK_3: starting datafile backup set restore
channel ORA_DISK_3: specifying datafile(s) to restore from backup set
channel ORA_DISK_3: restoring datafile 00003 to /usr/local/oradata/hisdbdg/users01.dbf
channel ORA_DISK_3: reading from backup piece /home/oracle/bak11/HISDB_2101731232_15_1_20250101.bkp
channel ORA_DISK_4: starting datafile backup set restore
channel ORA_DISK_4: specifying datafile(s) to restore from backup set
channel ORA_DISK_4: restoring datafile 00004 to /usr/local/oradata/hisdbdg/undotbs01.dbf
channel ORA_DISK_4: reading from backup piece /home/oracle/bak11/HISDB_2101731232_17_1_20250101.bkp
channel ORA_DISK_4: piece handle=/home/oracle/bak11/HISDB_2101731232_17_1_20250101.bkp tag=TAG20250101T205640
channel ORA_DISK_4: restored backup piece 1
channel ORA_DISK_4: restore complete, elapsed time: 00:00:01
channel ORA_DISK_3: piece handle=/home/oracle/bak11/HISDB_2101731232_15_1_20250101.bkp tag=TAG20250101T205640
channel ORA_DISK_3: restored backup piece 1
channel ORA_DISK_3: restore complete, elapsed time: 00:00:07
channel ORA_DISK_1: piece handle=/home/oracle/bak11/HISDB_2101731232_13_1_20250101.bkp tag=TAG20250101T205640
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:25
channel ORA_DISK_2: piece handle=/home/oracle/bak11/HISDB_2101731232_14_1_20250101.bkp tag=TAG20250101T205640
channel ORA_DISK_2: restored backup piece 1
channel ORA_DISK_2: restore complete, elapsed time: 00:00:25
Finished restore at 01-JAN-25datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=1189287623 file name=/usr/local/oradata/hisdbdg/users01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=1189287623 file name=/usr/local/oradata/hisdbdg/undotbs01.dbfrenamed tempfile 1 to /usr/local/oracle/data/oradata/temp01 in control fileStarting recover at 01-JAN-25
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6starting media recoverychannel ORA_DISK_1: starting archived log restore to default destination
channel ORA_DISK_1: restoring archived log
archived log thread=1 sequence=11
channel ORA_DISK_1: reading from backup piece /home/oracle/bak11/arch_HISDB_2101731232_23_1_20250101.bkp
channel ORA_DISK_1: piece handle=/home/oracle/bak11/arch_HISDB_2101731232_23_1_20250101.bkp tag=TAG20250101T205722
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/usr/local/oracle/fast_recovery_area/HISDBDG/archivelog/2025_01_01/o1_mf_1_11_mqbkg85f_.arc thread=1 sequence=11
channel default: deleting archived log(s)
archived log file name=/usr/local/oracle/fast_recovery_area/HISDBDG/archivelog/2025_01_01/o1_mf_1_11_mqbkg85f_.arc RECID=2 STAMP=1189287624
unable to find archived log
archived log thread=1 sequence=12
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 01/01/2025 21:40:25
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 12 and starting SCN of 1068028

恢复报错,把数据库恢复到 SCN=1068028:

RMAN> recover database until scn 1068028;Starting recover at 01-JAN-25
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5
using channel ORA_DISK_6starting media recovery
media recovery complete, elapsed time: 00:00:00Finished recover at 01-JAN-25
5、数据库恢复完成,修改日志文件

(1)查看日志文件

SQL> select member from v$logfile;MEMBER
--------------------------------------------------------------------------------
/usr/local/oradata/hisdbdg/redo03.log
/usr/local/oradata/hisdbdg/redo02.log
/usr/local/oradata/hisdbdg/redo01.log
/usr/local/oradata/hisdbdg/standby01.log
/usr/local/oradata/hisdbdg/standby02.log
/usr/local/oradata/hisdbdg/standby03.log
/usr/local/oradata/hisdbdg/standby04.log7 rows selected.

(2)修改日志文件名(此步骤不用做)

/*
alter database rename file '/usr/local/oradata/hisdb/redo01.log' to '/usr/local/oradata/hisdbdg/redo01.log';
alter database rename file '/usr/local/oradata/hisdb/redo02.log' to '/usr/local/oradata/hisdbdg/redo02.log';
alter database rename file '/usr/local/oradata/hisdb/redo03.log' to '/usr/local/oradata/hisdbdg/redo03.log';alter database rename file '/usr/local/oradata/hisdb/standby01.log' to '/usr/local/oradata/hisdbdg/standby01.log';
alter database rename file '/usr/local/oradata/hisdb/standby02.log' to '/usr/local/oradata/hisdbdg/standby02.log';
alter database rename file '/usr/local/oradata/hisdb/standby03.log' to '/usr/local/oradata/hisdbdg/standby03.log';
alter database rename file '/usr/local/oradata/hisdb/standby04.log' to '/usr/local/oradata/hisdbdg/standby04.log';
*/SQL> alter database rename file '/usr/local/oradata/hisdb/redo01.log' to '/usr/local/oradata/hisdbdg/redo01.log';Database altered.SQL> alter database rename file '/usr/local/oradata/hisdb/redo02.log' to '/usr/local/oradata/hisdbdg/redo02.log';Database altered.SQL> alter database rename file '/usr/local/oradata/hisdb/redo03.log' to '/usr/local/oradata/hisdbdg/redo03.log';Database altered.SQL> alter database rename file '/usr/local/oradata/hisdb/standby01.log' to '/usr/local/oradata/hisdbdg/standby01.log';Database altered.SQL> alter database rename file '/usr/local/oradata/hisdb/standby02.log' to '/usr/local/oradata/hisdbdg/standby02.log';Database altered.SQL> alter database rename file '/usr/local/oradata/hisdb/standby03.log' to '/usr/local/oradata/hisdbdg/standby03.log';Database altered.SQL> alter database rename file '/usr/local/oradata/hisdb/standby04.log' to '/usr/local/oradata/hisdbdg/standby04.log';Database altered.
6、启动数据库
SQL> alter database open;Database altered.

四、开启实时同步

1、开启实时同步
SQL> alter database recover managed standby database using current logfile disconnect from session;Database altered.
2、查看备库进程
SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;PROCESS   STATUS	  THREAD#  SEQUENCE#	 BLOCK#     BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
ARCH	  CONNECTED		0	   0	      0 	 0
ARCH	  CONNECTED		0	   0	      0 	 0
ARCH	  CONNECTED		0	   0	      0 	 0
ARCH	  CONNECTED		0	   0	      0 	 0
RFS	  IDLE			1	  38	   8009 	 1
RFS	  IDLE			0	   0	      0 	 0
RFS	  IDLE			0	   0	      0 	 0
RFS	  IDLE			0	   0	      0 	 0
MRP0	  APPLYING_LOG		1	  38	   8009     1024009 rows selected.
3、查看主库进程信息
SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;PROCESS   STATUS	  THREAD#  SEQUENCE#	 BLOCK#     BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
ARCH	  CLOSING		1	  35	  32769        251
ARCH	  CLOSING		1	  37	  28672        799
ARCH	  CLOSING		1	  37	      1      29470
ARCH	  CLOSING		1	  34	  77825       2456
LNS	  	  WRITING       1	  38	   7895 	 1
4、查看备库信息
SQL> select open_mode,log_mode,open_mode ,database_role from v$database;OPEN_MODE	     LOG_MODE	  OPEN_MODE	       DATABASE_ROLE
-------------------- ------------ -------------------- ----------------
READ ONLY WITH APPLY ARCHIVELOG   READ ONLY WITH APPLY PHYSICAL STANDBY
5、查看主库信息
SQL> select open_mode,log_mode,open_mode ,database_role from v$database;OPEN_MODE	     LOG_MODE	  OPEN_MODE	       DATABASE_ROLE
-------------------- ------------ -------------------- ----------------
READ WRITE	     ARCHIVELOG   READ WRITE	       PRIMARY

五、数据同步验证

1、在主库执行以下 SQL
SQL> create table t01(id int primary key, name varchar2(20));Table created.insert into t01 values(1,'jack');1 row created.SQL> commit;Commit complete.SQL> select * from t01;ID NAME
---------- --------------------1 jack
2、在备库执行以下 SQL查询数据
SQL> select * from t01;ID NAME
---------- --------------------1 jack

相关文章:

Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步

Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步 目录 Oracle Dataguard(主库为单节点)配置详解(4):将主库复制到备库并启动同步一、…...

OpenCL(贰):浅析CL内核程序接口函数

目录 1.前言 2.获取平台信息 1.cl_int类型 2.cl_platform_id类型 3.clGetPlatformIDs():查询系统OpenCL平台数量或获取具体的平台信息 4.clGetPlatformInfo():查询指定OpenCL平台的信息,例如平台名称、供应商、版本等 3.设置OpenCL上下文…...

Leetcode 3407. Substring Matching Pattern

Leetcode 3407. Substring Matching Pattern 1. 解题思路2. 代码实现 题目链接:3407. Substring Matching Pattern 1. 解题思路 这一题是一道leetcode easy的题目,照说应该没啥的,不过实际我做的时候在这里卡了一下,所以还是拿…...

学英语学压测:02jmeter组件-测试计划和线程组ramp-up参数的作用

📢📢📢:先看关键单词,再看英文,最后看中文总结,再回头看一遍英文原文,效果更佳!! 关键词 Functional Testing功能测试[ˈfʌŋkʃənəl ˈtɛstɪŋ]Sample样…...

Vue笔记-001-声明式渲染

https://cn.vuejs.org/tutorial/#step-2https://cn.vuejs.org/tutorial/#step-2 Vue 单文件组件 (Single-File Component,缩写为 SFC) 单文件组件是一种可复用的代码组织形式,它将从属于同一个组件的 HTML、CSS 和 JavaScript 封装在使用 .vue 后缀的文件…...

26考研资料分享 百度网盘

26考研资料分享考研资料合集 百度网盘(仅供参考学习) 基础班: 通过网盘分享的文件:2026【考研英语】等3个文件 链接: https://pan.baidu.com/s/1Q6rvKop3sWiL9zBHs87kAQ?pwd5qnn 提取码: 5qnn --来自百度网盘超级会员v3的分享…...

.NET 8 + Ocelot + Consul 实现代理网关、服务发现

.NET 8 Ocelot Consul 实现代理网关、服务发现 本文环境:.NET 8 Ocelot 23.4.2 Consul 1.7.14.6 1 实现网关 分别创建3个WebApi工程:OcelotGw、TestGwAService、TestGwBService;在OcelotGw工程中安装Ocelot包:Install-Packag…...

使用 Nginx 轻松处理跨域请求(CORS)

使用 Nginx 轻松处理跨域请求(CORS) 在现代 Web 开发中,跨域资源共享(CORS)是一种重要的机制,用于解决浏览器的同源策略限制。CORS 允许服务器声明哪些来源可以访问其资源,从而确保安全性与可用…...

【LeetCode Hot100 二分查找】搜索插入位置、搜索二维矩阵、搜索旋转排序数组、寻找两个正序数组的中位数

二分查找 搜索插入位置搜索二维矩阵在排序数组中查找元素的第一个和最后一个位置寻找旋转排序数组中的最小值搜索旋转排序数组寻找两个正序数组的中位数(hard) 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并…...

使用MediaPipe Face Mesh 面部动作检测

一、技术选型 OpenCV(Open Source Computer Vision Library) 用于视频流捕捉、图像预处理和基本图像处理操作。 MediaPipe 提供高效的人脸检测与关键点提取功能(Face Mesh)。 Python 作为后端开发语言,整合上述库进行…...

【Vue】<script setup>和 <script>区别是什么?在使用时的写法区别?

<script setup> 是 Vue 3 引入的一种新的脚本语法&#xff0c;它提供了一种更简洁和声明式的方式来编写组件逻辑。它是为了解决传统 <script> 标签在 Vue 单文件组件&#xff08;SFC&#xff09;中的一些局限性而设计的。 <script setup> 与 <script>…...

微服务框架,Http异步编程中,如何保证数据的最终一致性

一、背景 在微服务框架下&#xff0c;跨服务之间的调用&#xff0c;当遇到操作耗时或者量大的情况&#xff0c;我们一般会采用异步编程实现。 本文出现的问题是&#xff1a;异步回调过来时&#xff0c;却未查询到数据库中的任务&#xff0c;导致未能正常处理回调。 下面是当…...

vue3-dom-diff算法

vue3diff算法 什么是vue3diff算法 Vue3中的diff算法是一种用于比较虚拟DOM树之间差异的算法&#xff0c;其目的是为了高效地更新真实DOM&#xff0c;减少不必要的重渲染 主要过程 整个过程主要分为以下五步 前置预处理后置预处理仅处理新增仅处理后置处理包含新增、卸载、…...

年会抽奖Html

在这里插入图片描述 <!-- <video id"backgroundMusic" src"file:///D:/background.mp3" loop autoplay></video> --> <divstyle"width: 290px; height: 580px; margin-left: 20px; margin-top: 20px; background: url(D:/nianhu…...

ubuntu16 重启之后lvm信息丢失故障恢复

一、背景 1、问题背景 业务有一台物理开发服务器&#xff0c;文件系统有损坏&#xff1b;由于重启时没有检查&#xff0c;导致重启卡住。后面通过断电重新启动之后&#xff0c;无法进入系统&#xff1b;进入救援模式&#xff0c;注释数据盘挂载。重启之后进入系统&#xff0c…...

【华为OD-E卷 - 热点网站统计 100分(python、java、c++、js、c)】

【华为OD-E卷 - 热点网站统计 100分&#xff08;python、java、c、js、c&#xff09;】 题目 企业路由器的统计页面&#xff0c;有一个功能需要动态统计公司访问最多的网页URL top N。请设计一个算法&#xff0c;可以高效动态统计Top N的页面 输入描述 每一行都是一个URL或…...

Ubuntu下安装Android Sdk

下载android sdk命令行工具 https://developer.android.com/studio?hlzh-cn#command-tools mkdir android-sdk cd android-sdk unzip commandlinetools-linux-11076708_latest.zip 添加环境变量到~/.bashrc export ANDROID_HOME$HOME/android-sdk export PATH$PATH:$ANDRO…...

【JVM】总结篇-类的加载篇之 类的加载器 和ClassLoader分析

文章目录 类的加载器ClassLoader自定义类加载器双亲委派机制概念源码分析优势劣势如何打破Tomcat 沙箱安全机制JDK9 双亲委派机制变化 类的加载器 获得当前类的ClassLoader clazz.getClassLoader() 获得当前线程上下文的ClassLoader Thread.currentThread().getContextClassLoa…...

怎样修改el-table主题样式

起因&#xff1a;el-table有主题样式&#xff0c;部分需要单独设置 环境&#xff1a;ideanodejs插件谷歌浏览器 第一步&#xff1a;找到scss文件&#xff1a; 谷歌浏览器打开表格页面&#xff0c;ctrlshifti打开开发者工具&#xff0c;点击后鼠标移动到表格单元格上单击一下…...

MySQL(二)MySQL DDL数据库定义语言

1. MySQL DDL数据库定义语言 1.1. MySQL定义语言 进入MySQL mysql -u root -p(回车后输入密码&#xff0c;即可进入mysq1)1.1.1. 数据库操作 &#xff08;1&#xff09;查看数据库 mysql>show databases;注:MySQL语句分隔符为“&#xff1b;”   mysql库很重要它里面有…...

【PDF PicKiller】PDF批量删除固定位置图片工具,默认解密,可去一般图、背景图、水印图!

PDF批量删除固定位置图片工具 PDF PicKiller <center>PDF PicKiller [Download](https://github.com/Peaceful-World-X/PDF-PicKiller)&#x1f929; 工具介绍&#x1f973; 主要功能&#x1f92a; 软件使用&#x1f92a; 参数解释&#x1f92a; 关键代码&#x1f929; 项…...

【机器学习】支持向量机实验报告——基于SVM进行分类预测

目录 一、实验题目描述 二、实验步骤 三、Python代码实现基于SVM进行分类预测 四、我的收获 五、我的感受 一、实验题目描述 实验题目&#xff1a;基于SVM进行分类预测 实验要求&#xff1a;通过给定数据&#xff0c;使用支持向量机算法&#xff08;SVM&#xff09;实现分…...

构建 MCP 服务器:第 2 部分 — 使用资源模板扩展资源

该图像是使用 AI 图像创建程序创建的。 这个故事是在多位人工智能助手的帮助下写成的。 这是构建MCP 服务器教程&#xff08;共四部分&#xff09;的第二部分。在第一部分中&#xff0c;我们使用基本资源创建了第一个 MCP 服务器。现在&#xff0c;我们将使用资源模板扩展服务…...

Ubuntu20.04基础配置安装——系统安装(一)

引言&#xff1a; 工作需要&#xff0c;Ubuntu的各类环境配置&#xff0c;从23年开始使用Ubuntu20.04之后&#xff0c;尽管能力在不断提升&#xff0c;但是依旧会遇到Ubuntu系统崩掉的情况&#xff0c;为了方便后续系统出现问题及时替换&#xff0c;减少从网上搜索资源进行基础…...

Shell 命令及运行原理 + 权限的概念(7)

文章目录 Shell 命令以及运行原理&#xff08;4-1.22.08&#xff09;Linux权限的概念1. 什么是权限2. 认识人&#xff08;普通用户&#xff0c;root用户&#xff09;以及两种用户的切换认识普通用户和root用户两种用户之间的切换指令提权 3. 文件的属性解析 权限属性指令ll显示…...

实现单例模式的常见方式

前言 java有多种设计模式&#xff0c;如下图所示&#xff1a; 单例模式它确保一个类只有一个实例&#xff0c;并提供一个全局访问点。 1、单例模式介绍 1.1、使用原因 为什么要使用单例模式&#xff1f; 1. 控制资源访问 核心价值&#xff1a;确保对共享资源&#xff08;如…...

React项目的状态管理:Redux Toolkit

目录 1、搭建环境 2、Redux Toolkit 包含了什么 3、使用示例 &#xff08;1&#xff09;创建user切片 &#xff08;2&#xff09;合并切片得到store &#xff08;3&#xff09;配置store和使用store 使用js来编写代码&#xff0c;方便理解一些 1、搭建环境 首先&#xf…...

<2>-MySQL库的操作

目录 一&#xff0c;创建数据库 二&#xff0c;查看字符集和校验规则 三&#xff0c;修改数据库 四&#xff0c;删除数据库 五&#xff0c;备份和恢复数据库 六&#xff0c;查看连接 一&#xff0c;创建数据库 创建一个名为bin_db的数据库&#xff0c;并设置字符集为utf8…...

在 Windows 系统上运行 Docker 容器中的 Ubuntu 镜像并显示 GUI

在 Windows 上安装一个 X Server&#xff08;如 VcXsrv 或 X410&#xff09;&#xff0c;Ubuntu 容器通过网络将图形界面转发到 Windows。 步骤&#xff1a; 安装 X Server&#xff1a; 推荐使用VcXsrv&#xff0c;免费开源。 安装后运行 XLaunch&#xff0c;选择&#xff1…...

React - 组件通信

组件通信 概念&#xff1a;组件通信就是组件之间数据传递&#xff0c;根据组件嵌套关系不同&#xff0c;有不同的通信方法 父传子 —— 基础实现 实现步骤 父组件传递数据 - 在子组件标签上绑定属性子组件接收数据 - 子组件通过props参数接收数据 声明子组件并使用 //声明子…...