Board logo

标题: CentOS8_在Docker中安装Oracle19c [打印本页]

作者: admin    时间: 2023-4-29 12:05     标题: CentOS8_在Docker中安装Oracle19c

笺注:Docker的安装可参考 CentOS8_在Docker中使用Nginx的反向代理 查看Docker的版本信息: [root@centos8 ~]# docker -v Docker version 20.10.21, build baeda1f [root@centos8 ~]# 已经设置开机自动启动Docker: [root@centos8 ~]# systemctl is-enabled docker enabled [root@centos8 ~]# 从公网下载镜像:( 以下是下载Oracle19c的镜像 ) [root@centos8 ~]# docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c 19c: Pulling from zhuyijun/oracle bce8f778fef0: Pull complete 3fc3fd32c0bc: Pull complete 02948dd6d654: Pull complete 67f2dfeb2f1b: Pull complete 2e42d8039fd9: Pull complete b94f01bb60c6: Pull complete Digest: sha256:3898a9394720f30ce7f0b83ef2d172f4cd11b958282e0505f83cf2b0e5eaf7d4 Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c [root@centos8 ~]# 查看宿主机的所有镜像: [root@centos8 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle 19c 7b5eb4597688 2 years ago 6.61GB [root@centos8 ~]# 使用镜像“registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c”创建并启动容器“Rhel7_1”: [root@centos8 ~]# docker run -itd --name Rhel7_1 --restart=always -p 1521:1521 -e ORACLE_SID=ORCL -e ORACLE_PDB=ORCLPDB -e ORACLE_PWD=orcl -e ORACLE_EDITION=standard -v /opt/share:/home/dir_1 registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c bc37cca2454a1a5d212df747b70d4d880ea0d9abcb9292e8531120333d3fdb09 [root@centos8 ~]# 注释: -itd : 以交互模式情况下后台运行。 --name : 指定容器名称。 -p 端口映射 : 第一个1521是宿主机的端口,暴露给外部直接访问;第二个1521是容器的端口。 --restart=always : 让容器随宿主机的启动而启动。 ORACLE_SID=ORCL : 指定数据库实例名为ORCL -v 挂载目录 : 这里是把宿主机的目录/opt/share挂载到容器的目录/home/dir_1;假如目录不存在,就会自动创建。 registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c : 镜像名称:版本号 在宿主机查看容器“Rhel7_1”是否会随宿主机的启动而启动:(会自动启动) [root@centos8 ~]# docker inspect Rhel7_1 | grep -i -A2 'RestartPolicy' "RestartPolicy": { "Name": "always", "MaximumRetryCount": 0 [root@centos8 ~]# 在宿主机查看正在运行的容器: [root@centos8 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bc37cca2454a registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c "/bin/sh -c 'exec $O…" 45 seconds ago Up 43 seconds (health: starting) 0.0.0.0:1521->1521/tcp, :::1521->1521/tcp Rhel7_1 [root@centos8 ~]# 注释:宿主机的TCP 1521端口,映射到容器“Rhel7_1”的TCP 1521端口。 ### 进入容器“Rhel7_1”: [root@centos8 ~]# docker exec -it Rhel7_1 /bin/bash [oracle@bc37cca2454a ~]$ [oracle@bc37cca2454a ~]$ whoami oracle [oracle@bc37cca2454a ~]$ [oracle@bc37cca2454a ~]$ pwd /home/oracle [oracle@bc37cca2454a ~]$ ls -alh total 16K drwx------. 2 oracle oinstall 98 Aug 7 2020 . drwxr-xr-x. 1 root root 19 Apr 24 15:03 .. -rw-r--r--. 1 oracle oinstall 18 Nov 22 2019 .bash_logout -rw-r--r--. 1 oracle oinstall 193 Nov 22 2019 .bash_profile -rw-r--r--. 1 oracle oinstall 231 Nov 22 2019 .bashrc -rw-r--r--. 1 oracle oinstall 172 Apr 1 2020 .kshrc lrwxrwxrwx. 1 root root 26 Aug 7 2020 setPassword.sh -> /opt/oracle/setPassword.sh [oracle@bc37cca2454a ~]$ 查看容器“Rhel7_1”的系统版本信息: [oracle@bc37cca2454a ~]$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.8 (Maipo) [oracle@bc37cca2454a ~]$ uname -r 4.18.0-193.el8.x86_64 [oracle@bc37cca2454a ~]$ 查看Oracle的监听状态:(默认会自动启动) [oracle@bc37cca2454a ~]$ lsnrctl status LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 24-APR-2023 15:06:23 Copyright (c) 1991, 2019, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production Start Date 24-APR-2023 15:05:06 Uptime 0 days 0 hr. 1 min. 17 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora Listener Log File /opt/oracle/diag/tnslsnr/bc37cca2454a/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521))) Services Summary... Service "ORCL" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service... The command completed successfully [oracle@bc37cca2454a ~]$ 登录Oracle,进行测试: [oracle@bc37cca2454a ~]$ sqlplus /nolog SQL*Plus: Release 19.0.0.0.0 - Production on Mon Apr 24 15:07:09 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. SQL> conn /as sysdba; Connected. SQL> Show user; USER is "SYS" SQL> 查看数据库的当前状态:(默认会自动启动) SQL> Select status from v$instance; STATUS ------------ OPEN SQL> 查看数据库版本信息: SQL> Select * from v$version; BANNER -------------------------------------------------------------------------------- BANNER_FULL -------------------------------------------------------------------------------- BANNER_LEGACY -------------------------------------------------------------------------------- CON_ID ---------- Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production Version 19.3.0.0.0 Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production 0 BANNER -------------------------------------------------------------------------------- BANNER_FULL -------------------------------------------------------------------------------- BANNER_LEGACY -------------------------------------------------------------------------------- CON_ID ---------- SQL> 查看数据库编码: SQL> Select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8 SQL> 查看实例名(SID): SQL> Select instance_name from v$instance; INSTANCE_NAME ---------------- ORCL SQL> 查看用户表空间: SQL> Select TABLESPACE_NAME from Dba_Tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS SQL> 查看用户表空间的物理文件的存放位置: SQL> Select name from v$datafile; NAME -------------------------------------------------------------------------------- /opt/oracle/oradata/ORCL/system01.dbf /opt/oracle/oradata/ORCL/sysaux01.dbf /opt/oracle/oradata/ORCL/undotbs01.dbf /opt/oracle/oradata/ORCL/users01.dbf SQL> 创建表空间(zhuohua_ts): SQL> CREATE TABLESPACE zhuohua_ts DATAFILE '/opt/oracle/oradata/ORCL/zhuohua.dbf' SIZE 200M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; Tablespace created. SQL> 再次,查看用户表空间: SQL> Select TABLESPACE_NAME from Dba_Tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS ZHUOHUA_TS 6 rows selected. SQL> 查看用户表空间(zhuohua_ts)的物理文件的存放位置: SQL> Select name from v$datafile; NAME -------------------------------------------------------------------------------- /opt/oracle/oradata/ORCL/system01.dbf /opt/oracle/oradata/ORCL/sysaux01.dbf /opt/oracle/oradata/ORCL/undotbs01.dbf /opt/oracle/oradata/ORCL/zhuohua.dbf /opt/oracle/oradata/ORCL/users01.dbf SQL> 创建数据库用户(C##happy),密码(mima),并指明此用户的默认表空间(zhuohua_ts): SQL> Create user C##happy identified by mima default tablespace zhuohua_ts; User created. SQL> 给数据库用户(C##happy)进行赋权: SQL> Grant connect, resource,dba to C##happy; Grant succeeded. SQL> 查看当前用户: SQL> Show user; USER is "SYS" SQL> 切换到数据库用户C##happy: SQL> Connect C##happy/mima; Connected. SQL> SQL> Show user; USER is "C##HAPPY" SQL> 使用当前用户创建表: SQL> Create table TABLE_1(ID int,NAME varchar2(10)); Table created. SQL> 查看当前用户所拥有的表: SQL> Select t.table_name from user_tables t; TABLE_NAME -------------------------------------------------------------------------------- TABLE_1 SQL> ### Windows客户端使用Navicat连接容器“Rhel7_1”里的Oracle: 图片1.png 图片2.png 连接错误提示: ORA-12526: TNS: 监听程序: 所有适用例程都处于受限模式 解决方法: SQL> Conn /as sysdba; Connected. SQL> SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION; System altered. SQL> 图片3.png 连接错误提示:ORA-28040:没有匹配的验证协议 解决方法: 重新进入容器“Rhel7_1”: [root@centos8 ~]# docker exec -it Rhel7_1 /bin/bash [oracle@bc37cca2454a ~]$ [oracle@bc37cca2454a ~]$ vi /opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora 追加: SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 登录Oracle: [oracle@bc37cca2454a ~]$ sqlplus /nolog SQL*Plus: Release 19.0.0.0.0 - Production on Mon Apr 24 16:06:25 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. SQL> Conn /as sysdba; Connected. SQL> Show user; USER is "SYS" SQL> 重建数据库用户C##happy的密码:(可以使用原来的密码) SQL> Alter user C##happy identified by mima; User altered. SQL> 图片4.png 连接错误提示:ORA-28000:the account is locked 解决方法: SQL> Connect system/orcl; Connected. SQL> Show user; USER is "SYSTEM" SQL> SQL> Alter user C##happy account unlock; User altered. SQL> 至此,理应可以看到前面创建的表: 图片5.png 往表TABLE_1一次性插入多条记录: Insert into TABLE_1 values (1,'小李'); Insert into TABLE_1 values (2,'小Lucky'); 图片6.png 查询记录: Select * from TABLE_1; 图片7.png ### 远程Linux客户端(CentOS6/Redhat6)使用Python3脚本获取容器“Rhel7_1”里的Oracle里的指定表数据:(结果只取一个值) [root@Zabbix_server_01 ~]# cat xx.py #coding=utf-8 import cx_Oracle def query_data(): db=cx_Oracle.connect('C##happy/mima@192.168.168.154:1521/ORCL') cursor = db.cursor() Sql_1 = "Select * from TABLE_1 where NAME = '小Lucky'" cursor.execute(Sql_1) Result_1 = cursor.fetchone() # print(Result_1) ## (2, '小Lucky') print(Result_1[0]) print(type(Result_1[0])) db.commit() #把执行任务提交到数据库 db.close() def func_main(): try: query_data() except Exception as e: print(f"输出失败,原因: {e}") if __name__ == "__main__": func_main() [root@Zabbix_server_01 ~]# 脚本运行的结果: [root@Zabbix_server_01 ~]# python3 xx.py 2 [root@Zabbix_server_01 ~]# ###### ###### 使用系统管理员root进入容器“Rhel7_1”: [root@centos8 ~]# docker exec -it --user root Rhel7_1 /bin/bash bash-4.2# bash-4.2# whoami root bash-4.2# 重置系统管理员root的密码: bash-4.2# passwd root bash: passwd: command not found bash-4.2# bash-4.2# yum -y install passwd bash-4.2# echo 'P@qq1rd' | passwd --stdin root Changing password for user root. passwd: all authentication tokens updated successfully. bash-4.2# bash-4.2# exit exit [root@centos8 ~]# 重新进入容器“Rhel7_1”: [root@centos8 ~]# docker exec -it Rhel7_1 /bin/bash [oracle@bc37cca2454a ~]$ [oracle@bc37cca2454a ~]$ whoami oracle [oracle@bc37cca2454a ~]$ 切换到系统管理员root: [oracle@bc37cca2454a ~]$ su - root Password: Last login: Mon Apr 24 16:03:49 UTC 2023 on pts/1 -bash-4.2# whoami root -bash-4.2# 笺注: Docker宿主机的防火墙其实无需特意打开任何TCP端口: [root@centos8 ~]# firewall-cmd --zone=public --list-ports [root@centos8 ~]# ###### ###### 把容器“Rhel7_1”创建成一个新镜像:(创建时,容器“Rhel7_1”不用关机) [root@centos8 ~]# docker commit Rhel7_1 oracle19c_1:3.8.8 sha256:a6708069ea4378125ad49284b51503538497c06a06ba233e5fc6dc00187a9515 [root@centos8 ~]# 新镜像“oracle19c_1:3.8.8”创建成功: [root@centos8 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE oracle19c_1 3.8.8 a6708069ea43 11 minutes ago 10.9GB registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle 19c 7b5eb4597688 2 years ago 6.61GB [root@centos8 ~]# 使用镜像“oracle19c_1:3.8.8”创建并启动容器“Rhel7_2”: [root@centos8 ~]# docker run -itd --name Rhel7_2 --restart=no -p 1522:1521 -v /opt/share:/home/dir_1 oracle19c_1:3.8.8 25f4d9f3ac251939822aa103b7d62ca34e73ffab0d5e68737f395e23bea66073 [root@centos8 ~]# 注释: -itd : 以交互模式情况下后台运行。 --name : 指定容器名称。 -p 端口映射 : 1522是宿主机的端口,暴露给外部直接访问;1521是容器的端口。 --restart=no : 不让容器随宿主机的启动而启动;缺省时,就是不让容器随宿主机的启动而启动。 -v 挂载目录 : 这里是把宿主机的目录/opt/share挂载到容器的目录/home/dir_1;假如目录不存在,就会自动创建。 oracle19c_1:3.8.8 : 镜像名称:版本号 在宿主机查看容器“Rhel7_2”是否会随宿主机的启动而启动:(不会自动启动) [root@centos8 ~]# docker inspect Rhel7_2 | grep -i -A2 'RestartPolicy' "RestartPolicy": { "Name": "no", "MaximumRetryCount": 0 [root@centos8 ~]# ### 进入容器“Rhel7_2”: [root@centos8 ~]# docker exec -it Rhel7_2 /bin/bash [oracle@25f4d9f3ac25 ~]$ 登录Oracle,进行测试: [oracle@25f4d9f3ac25 ~]$ sqlplus /nolog SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jun 4 06:12:06 2023 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. SQL> Conn /as sysdba; Connected. SQL> Show user; USER is "SYS" SQL> 查看数据库的当前状态:(默认会自动启动) SQL> Select status from v$instance; STATUS ------------ OPEN SQL> 查看数据库编码: SQL> Select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8 SQL> 查看实例名(SID): SQL> Select instance_name from v$instance; INSTANCE_NAME ---------------- ORCL SQL> 此数据库的闪回功能尚未启用: SQL> Select log_mode,open_mode,flashback_on from v$database; LOG_MODE OPEN_MODE FLASHBACK_ON ------------ -------------------- ------------------ NOARCHIVELOG READ WRITE NO SQL> 此数据库不支持闪回功能: SQL> Select * from v$OPTION where parameter like 'Flashback%'; PARAMETER ---------------------------------------------------------------- VALUE CON_ID ---------------------------------------------------------------- ---------- Flashback Table FALSE 0 Flashback Database FALSE 0 Flashback Data Archive TRUE 0 SQL> SQL> Alter database flashback on; Alter database flashback on * ERROR at line 1: ORA-00439: feature not enabled: Flashback Database SQL> 查看用户表空间: SQL> Select TABLESPACE_NAME from Dba_Tablespaces; TABLESPACE_NAME ------------------------------ SYSTEM SYSAUX UNDOTBS1 TEMP USERS ZHUOHUA_TS 6 rows selected. SQL> 切换到数据库用户C##happy: SQL> Connect C##happy/mima; Connected. SQL> SQL> Show user; USER is "C##HAPPY" SQL> 查看当前用户所拥有的表: SQL> Select t.table_name from user_tables t; TABLE_NAME -------------------------------------------------------------------------------- TABLE_1 SQL> 使用当前用户创建表: SQL> Create table TABLE_2(ID int,NAME varchar2(20)); Table created. SQL> 再次,查看当前用户所拥有的表: SQL> Select t.table_name from user_tables t; TABLE_NAME -------------------------------------------------------------------------------- TABLE_2 TABLE_1 SQL> ### Windows客户端使用Navicat连接容器“Rhel7_2”里的Oracle: 图片1.png 注释:数据库用户为C##happy,实例名(SID)为orcl,端口为1522 至此,理应可以看到前面创建的表: 图片2.png 查询表TABLE_1的记录: Select * from TABLE_1; 图片3.png 往表TABLE_2一次性插入多条记录: Insert into TABLE_2 values (1,'小明'); Insert into TABLE_2 values (2,'小小Lucky'); Select * from TABLE_2; 图片4.png ###### ###### Oracle19c的备份与还原: 备份数据库用户C##happy的表、表数据: [oracle@25f4d9f3ac25 ~]$ cat backup_happy_data.sh #!/bin/bash rq=`date '+%Y%m%d%H%M'` exp C##happy/mima file=/home/oracle/happy_$rq.dmp log=/home/oracle/happy_data_$rq.log grants=y 注释: 包含了指定用户所拥有的表、及其表中的数据; 用户C##happy的密码为mima 运行脚本备份数据库用户C##happy的表、表数据: [oracle@25f4d9f3ac25 ~]$ bash backup_happy_data.sh 备份完成: [oracle@25f4d9f3ac25 ~]$ pwd /home/oracle [oracle@25f4d9f3ac25 ~]$ ls backup_happy_data.sh happy_202305100533.dmp happy_data_202305100533.log setPassword.sh [oracle@25f4d9f3ac25 ~]$ ###### 删除数据库用户C##happy的所有表: 先获取删除当前用户的所有表的SQL语句: Select 'drop table '||table_name||';' as sqlscript from user_tables; 图片1.png 复制删除当前用户的所有表的SQL语句: 图片2.png 执行删除当前用户的所有表的SQL语句: 图片3.png 确认当前用户的所有表都已经被删除: Select t.table_name from user_tables t; 图片4.png ###### 还原数据库用户C##happy的表、表数据: [oracle@25f4d9f3ac25 ~]$ imp C##happy/mima full=Y ignore=Y file=/home/oracle/happy_202305100533.dmp 注释: 还原前,对应的用户表空间和数据库用户必须已经存在; 还原成功: 图片5.png 图片6.png 图片7.png 相关文章: Python3脚本管理Oracle11gR2 使用Navicat连接Oracle11gR2 Oracle11gR2恢复已删除或更改的数据 Oracle11gR2的备份与还原 CentOS8_在Docker中安装Flask CentOS8_在Docker中安装Oracle11gR2

图片附件: 图片1.png (2023-4-29 12:10, 93.03 KB) / 下载次数 17
http://blog.zhuohua.store/attachment.php?aid=22226&k=e6d65cc0bbcbe531da8624ae1aa19c5a&t=1715489426&sid=5Dxo9o



图片附件: 图片2.png (2023-4-29 12:10, 37.24 KB) / 下载次数 18
http://blog.zhuohua.store/attachment.php?aid=22227&k=fd4f49467f0e814971886ce62da1d4e8&t=1715489426&sid=5Dxo9o



图片附件: 图片3.png (2023-4-29 12:16, 31.78 KB) / 下载次数 16
http://blog.zhuohua.store/attachment.php?aid=22228&k=c39e37906af241dc76a1fdb8f3ab3021&t=1715489426&sid=5Dxo9o



图片附件: 图片4.png (2023-4-29 12:16, 25.78 KB) / 下载次数 18
http://blog.zhuohua.store/attachment.php?aid=22229&k=7e25ca64c22846a6b80fa3fa1dc06675&t=1715489426&sid=5Dxo9o



图片附件: 图片5.png (2023-4-29 12:17, 96.17 KB) / 下载次数 16
http://blog.zhuohua.store/attachment.php?aid=22230&k=c76e6c8b35177a61f470a5dc6ab397aa&t=1715489426&sid=5Dxo9o



图片附件: 图片6.png (2023-4-29 12:17, 109.99 KB) / 下载次数 13
http://blog.zhuohua.store/attachment.php?aid=22231&k=d2712e02d6ad145fc000551dc22d54bf&t=1715489426&sid=5Dxo9o



图片附件: 图片7.png (2023-4-29 12:17, 77.42 KB) / 下载次数 12
http://blog.zhuohua.store/attachment.php?aid=22232&k=e113bc34cf7f2c38345237ce20a767ca&t=1715489426&sid=5Dxo9o



图片附件: 图片1.png (2023-6-5 10:41, 82.49 KB) / 下载次数 7
http://blog.zhuohua.store/attachment.php?aid=22296&k=e08cab89efbb47d22d3ab530f4fd3f08&t=1715489426&sid=5Dxo9o



图片附件: 图片2.png (2023-6-5 10:42, 108.21 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22297&k=72271522d5bb2d0a6125bc91651e90d4&t=1715489426&sid=5Dxo9o



图片附件: 图片3.png (2023-6-5 10:42, 50.93 KB) / 下载次数 7
http://blog.zhuohua.store/attachment.php?aid=22298&k=9def2b5ae4ea0239b94d52adac46c0cc&t=1715489426&sid=5Dxo9o



图片附件: 图片4.png (2023-6-5 10:42, 73.72 KB) / 下载次数 7
http://blog.zhuohua.store/attachment.php?aid=22299&k=4468332077c55670503cdb86ef0b08f5&t=1715489426&sid=5Dxo9o



图片附件: 图片1.png (2023-6-10 15:00, 83.05 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22308&k=f7e4bc45611af4b5a6db98650ef2a0a4&t=1715489426&sid=5Dxo9o



图片附件: 图片2.png (2023-6-10 15:00, 90.89 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22309&k=a5ec4c5002fc7b099d096332b274483c&t=1715489426&sid=5Dxo9o



图片附件: 图片3.png (2023-6-10 15:01, 72.47 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22310&k=d93b2508426c9bf9fc95685f67963ca4&t=1715489426&sid=5Dxo9o



图片附件: 图片4.png (2023-6-10 15:01, 53.89 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22311&k=57bda439ee604122c4216335e874d650&t=1715489426&sid=5Dxo9o



图片附件: 图片5.png (2023-6-10 15:01, 57.47 KB) / 下载次数 4
http://blog.zhuohua.store/attachment.php?aid=22312&k=afb8c1f29c76e1712e58e0cd3f032b7b&t=1715489426&sid=5Dxo9o



图片附件: 图片6.png (2023-6-10 15:02, 52.78 KB) / 下载次数 6
http://blog.zhuohua.store/attachment.php?aid=22313&k=df444e6317972e2a0b45dfafa86db83a&t=1715489426&sid=5Dxo9o



图片附件: 图片7.png (2023-6-10 15:02, 53.44 KB) / 下载次数 7
http://blog.zhuohua.store/attachment.php?aid=22314&k=bf18d90684cce3d900a704480d8fae17&t=1715489426&sid=5Dxo9o






欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2