dm8 备份与恢复

dm8 备份与恢复

基础环境
操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo)
数据库版本:DM Database Server 64 V8
架构:单实例

1 设置bak_path路径

--创建备份文件存放目录
su - dmdba
mkdir -p /dm8/backup

--修改dm.ini 文件
BAK_PATH                        = /dm8/backup                      #backup file path


[dmdba@test1 dm8]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.937(ms)
disql V8
SQL> select name,value,sys_value,file_value from v$parameter where name='BAK_PATH';

行号     NAME     VALUE              SYS_VALUE          FILE_VALUE 
---------- -------- ------------------ ------------------ -----------
1          BAK_PATH /dm8/data/PROD/bak /dm8/data/PROD/bak /dm8/backup

已用时间: 4.748(毫秒). 执行号:1000.
SQL> exit

--重启实例
[root@test1 arch]# systemctl restart DmServiceTEST.service 

[dmdba@test1 dm8]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.611(ms)
disql V8
SQL> select name,value,sys_value,file_value from v$parameter where name='BAK_PATH';

行号     NAME     VALUE       SYS_VALUE   FILE_VALUE 
---------- -------- ----------- ----------- -----------
1          BAK_PATH /dm8/backup /dm8/backup /dm8/backup

已用时间: 5.328(毫秒). 执行号:500.
SQL>

2 全库备份

2.1 文本方式

[dmdba@test1 ~]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.724(ms)
disql V8
SQL> backup database full to "20230729_bak" backupset '20230729_bak';
操作已执行
已用时间: 00:00:03.084. 执行号:600.
SQL> select backup_name,backup_path from v$backupset;

行号     BACKUP_NAME  BACKUP_PATH             
---------- ------------ ------------------------
1          20230729_bak /dm8/backup/20230729_bak

已用时间: 16.554(毫秒). 执行号:601.

2.2 图形界面

[dmdba@test1 ~]$ manager

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3 数据文件恢复

3.1 模拟报错

模拟报错
2023-07-28 19:04:38.204 [INFO] database P0000074443 T0000000000000074443  hlog_sys_destroy, n_logs[1], adjust_sta[0]
2023-07-28 19:04:38.206 [INFO] database P0000074443 T0000000000000074443  file lsn: 43705
2023-07-28 19:04:38.206 [INFO] database P0000074443 T0000000000000074443  ndct_load_ex_idcls_map load 0 ex_idcls.
2023-07-28 19:04:38.207 [INFO] database P0000074443 T0000000000000074443  ndct db load finished
2023-07-28 19:04:38.211 [ERROR] database P0000074443 T0000000000000074443  os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.211 [ERROR] database P0000074443 T0000000000000074443  os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.211 [INFO] database P0000074443 T0000000000000074443  ndct second level fill fast pool finished
2023-07-28 19:04:38.211 [INFO] database P0000074443 T0000000000000074443  ndct third level fill fast pool finished
2023-07-28 19:04:38.227 [INFO] database P0000074443 T0000000000000074443  ndct second level fill fast pool finished
2023-07-28 19:04:38.227 [INFO] database P0000074443 T0000000000000074443  ndct third level fill fast pool finished
2023-07-28 19:04:38.227 [INFO] database P0000074443 T0000000000000074443  ndct fill fast pool finished
2023-07-28 19:04:38.228 [ERROR] database P0000074443 T0000000000000074443  os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.228 [ERROR] database P0000074443 T0000000000000074443  os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.229 [INFO] database P0000074443 T0000000000000074443  sess4 aux tsksys init success
2023-07-28 19:04:38.238 [WARNING] database P0000074443 T0000000000000074443  fail to load libgssapi_krb5.so, libgssapi_krb5.so: cannot open shared object file: No such file or directory
2023-07-28 19:04:38.247 [INFO] database P0000074443 T0000000000000074443  nsvr_startup end.
2023-07-28 19:04:38.349 [INFO] database P0000074443 T0000000000000074443  aud sys init success.
2023-07-28 19:04:38.349 [INFO] database P0000074443 T0000000000000074443  aud rt sys init success.
2023-07-28 19:04:38.350 [INFO] database P0000074443 T0000000000000074443  systables desc init success.
2023-07-28 19:04:38.350 [INFO] database P0000074443 T0000000000000074443  ndct_db_load_info success.
2023-07-28 19:04:38.351 [INFO] database P0000074443 T0000000000000074516  nsvr_lsnr_thread successfully created.
2023-07-28 19:04:38.351 [INFO] database P0000074443 T0000000000000074443  backup control file /dm8/data/PROD/dm.ctl to file /dm8/data/PROD/dm_20230728190438_351399.ctl
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443  backup control file /dm8/data/PROD/dm.ctl to file /dm8/data/PROD/ctl_bak/dm_20230728190438_352275.ctl succeed
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443  local instance name is TEST, mode is NORMAL, status is MOUNT.
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443  SYSTEM IS READY.
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443  set g_dw_stat from UNDEFINED to NONE success, g_dw_recover_stop is 0
2023-07-28 19:04:39.351 [INFO] database P0000074443 T0000000000000074479  iid_set_new_next_trxid_if_necessary, next_trxid: 11035

3.2 恢复

3.2.1 文本方式
--关闭实例
[root@test1 arch]# systemctl stop DmServiceTEST.service 

--恢复
[dmdba@test1 PROD]$ dmrman
dmrman V8
RMAN> check backupset '/dm8/backup/20230729_bak';
check backupset '/dm8/backup/20230729_bak';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]                                 
check backupset successfully.
time used: 136.189(ms)
RMAN> RESTORE DATABASE '/dm8/data/PROD/dm.ini' tablespace "TBS" FROM BACKUPSET '/dm8/backup/20230729_bak' DEVICE TYPE disk;
RESTORE DATABASE '/dm8/data/PROD/dm.ini' tablespace "TBS" FROM BACKUPSET '/dm8/backup/20230729_bak' DEVICE TYPE disk;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
begin redo pwr log collect, last ckpt lsn: 43705 ...
redo pwr log collect finished
EP[0]'s cur_lsn[43705], file_lsn[43705]
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
restore successfully.
time used: 00:00:02.418
RMAN> RECOVER DATABASE '/dm8/data/PROD/dm.ini' TABLESPACE TBS WITH ARCHIVEDIR '/dm8/arch';
RECOVER DATABASE '/dm8/data/PROD/dm.ini' TABLESPACE TBS WITH ARCHIVEDIR '/dm8/arch';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
begin redo pwr log collect, last ckpt lsn: 43705 ...
redo pwr log collect finished
EP[0]'s cur_lsn[43705], file_lsn[43705]
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]                               
recover successfully.
time used: 428.573(ms)

--开启实例
[root@test1 arch]# systemctl start DmServiceTEST.service 

[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.691(ms)
disql V8
SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          OPEN

已用时间: 1.736(毫秒). 执行号:500.
3.2.2 图形界面
[dmdba@test1 ~]$ console

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST:                                    [ OK ]
[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.502(ms)
disql V8
SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          OPEN

已用时间: 9.941(毫秒). 执行号:500.
SQL> select file_name from dba_data_files;

行号     FILE_NAME                
---------- -------------------------
1          /dm8/data/PROD/SYSTEM.DBF
2          /dm8/data/PROD/TBS02.dbf
3          /dm8/data/PROD/TBS01.dbf
4          /dm8/data/PROD/MAIN.DBF
5          /dm8/data/PROD/TEMP.DBF
6          /dm8/data/PROD/ROLL.DBF

6 rows got

已用时间: 18.857(毫秒). 执行号:501.
SQL>

4 数据库全库恢复

4.1 模拟报错

2023-07-31 05:34:41.856 [INFO] database P0000026050 T0000000000000026050  INI parameter DPC_2PC changed, the original value 1, new value 0
2023-07-31 05:34:41.863 [INFO] database P0000026050 T0000000000000026050  version info: develop
2023-07-31 05:34:41.864 [INFO] database P0000026050 T0000000000000026050  os_sema2_create_low, create and inc sema success, key:151595369, sem_id:65539, sem_value:1!
2023-07-31 05:34:41.864 [ERROR] database P0000026050 T0000000000000026050  /dm8/data/PROD/SYSTEM.DBF not exist

[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST:                                    [ FAILED ]

4.2 恢复

4.2.1 文本方式
[dmdba@test1 dm8]$ dmrman
dmrman V8
RMAN> check backupset '/dm8/backup/20230801_bak';
check backupset '/dm8/backup/20230801_bak';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]                                 
check backupset successfully.
time used: 138.700(ms)
RMAN> RESTORE DATABASE '/dm8/data/PROD/dm.ini' FROM BACKUPSET '/dm8/backup/20230801_bak' DEVICE TYPE disk;
RESTORE DATABASE '/dm8/data/PROD/dm.ini' FROM BACKUPSET '/dm8/backup/20230801_bak' DEVICE TYPE disk;
file dm.key not found, use default license!
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]                                 
restore successfully.
time used: 00:00:02.403
RMAN> RECOVER DATABASE '/dm8/data/PROD/dm.ini' WITH ARCHIVEDIR '/dm8/arch';
RECOVER DATABASE '/dm8/data/PROD/dm.ini' WITH ARCHIVEDIR '/dm8/arch';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[44962], file_lsn[44962]
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]                               
recover successfully!
time used: 410.957(ms)
RMAN> recover database '/dm8/data/PROD/dm.ini' update db_magic;
recover database '/dm8/data/PROD/dm.ini' update db_magic;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[46614], file_lsn[46614]
recover successfully!
time used: 00:00:01.001
RMAN>


确认
[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST:                                    [ OK ]
[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.070(ms)
disql V8
SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          OPEN

已用时间: 1.994(毫秒). 执行号:500.
SQL> select file_name from dba_data_files;

行号     FILE_NAME                
---------- -------------------------
1          /dm8/data/PROD/SYSTEM.DBF
2          /dm8/data/PROD/TBS02.dbf
3          /dm8/data/PROD/TBS01.dbf
4          /dm8/data/PROD/MAIN.DBF
5          /dm8/data/PROD/TEMP.DBF
6          /dm8/data/PROD/ROLL.DBF

6 rows got

已用时间: 7.471(毫秒). 执行号:501.
SQL>
4.2.2 图形界面
[dmdba@test1 ~]$ console

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST:                                    [ OK ]
[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237

服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.766(ms)
disql V8
SQL> select status$ from v$instance;

行号     STATUS$
---------- -------
1          OPEN

已用时间: 2.323(毫秒). 执行号:500.
SQL> select file_name from dba_data_files;

行号     FILE_NAME                
---------- -------------------------
1          /dm8/data/PROD/SYSTEM.DBF
2          /dm8/data/PROD/TBS02.dbf
3          /dm8/data/PROD/TBS01.dbf
4          /dm8/data/PROD/MAIN.DBF
5          /dm8/data/PROD/TEMP.DBF
6          /dm8/data/PROD/ROLL.DBF

6 rows got

已用时间: 9.022(毫秒). 执行号:501.
SQL>

5 归档日志备份与恢复

5.1 归档日志备份

5.1.1 文本方式
[dmdba@test1 backup]$ disql sysdba/Dameng123@localhost:5239

Server[localhost:5239]:mode is normal, state is open
login used time : 2.420(ms)
disql V8
SQL> backup archivelog all not backed up to "ARCH_20230806" backupset 'ARCH_20230806';
executed successfully
used time: 00:00:03.536. Execute id is 900.
SQL> select backup_name,backup_path,object_name from v$backupset;

LINEID     BACKUP_NAME   BACKUP_PATH           OBJECT_NAME
---------- ------------- --------------------- -----------
1          DB_BAK        /backup/DB_BAK        PROD
2          ARCH_20230806 /backup/ARCH_20230806 ARCHIVE

used time: 17.186(ms). Execute id is 901.
SQL>
5.1.2 图形界面

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

5.2 恢复

5.2.1 文本方式
[dmdba@test1 arch]$ dmrman
dmrman V8
RMAN> restore archive log from backupset '/backup/ARCH_20230806' TO  archivedir '/dm/arch' overwrite 2;
restore archive log from backupset '/backup/ARCH_20230806' TO archivedir '/dm/arch' overwrite 2;
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]                                 
restore successfully.
time used: 150.999(ms)
5.2.2 图形界面

[dmdba@test1 tool]$

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

谨记:心存敬畏,行有所止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/521083.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习之路 -- 进程篇 -- PCB介绍2 -- 标识符和进程创建

前面我们介绍了的进程的标识符&#xff0c;下面继续介绍进程标识符和进程创建的知识。 目录 一、进程创建 <1>fork函数的返回值 <2>创建子进程的目的 <3>代码共享 二、fork函数的相关问题 <1>为什么给父进程返回子进程的pid&#xff0c;给子进程…

数据生成 | Matlab实现基于DE差分进化算法的数据生成

数据生成 | Matlab实现基于DE差分进化算法的数据生成 目录 数据生成 | Matlab实现基于DE差分进化算法的数据生成生成效果基本描述模型描述程序设计参考资料 生成效果 基本描述 1.Matlab实现基于DE差分进化算法的数据生成&#xff0c;运行环境Matlab2021b及以上&#xff1b; 2.计…

代码随想录算法训练营Day46|LC139 单词拆分

一句话总结&#xff1a;完全背包&#xff01; 原题链接&#xff1a;139 单词拆分 动态规划之完全背包五部曲&#xff1a; 确定dp数组与下标含义&#xff1a;表示字符串长度为i时&#xff0c;dp[i] true 的话&#xff0c;可以拆分为一个或多个在字典中出现的单词。确定递归公…

C++相关概念和易错语法(4)(构造函数、析构函数)

一、构造函数 1.实现的功能&#xff1a;实例化对象的时候默认自动调用&#xff0c;相当于初始化。 条件&#xff1a;在书写时要满足构造函数的规范&#xff08;函数名 类名&#xff0c;不写返回值&#xff0c;也没有返回值&#xff09;&#xff0c;可以用inline来修饰。 2.自…

Microsoft Edge浏览器设置之后就很牛逼了

1.移除多余的广告 首先我们要先下载Microsoft Edge浏览器浏览器 然后在设置中先打开扩展,安装一个神奇的去广告插件 打开Edge 加载项 直接搜adguard 广告拦截器,直接获取就可以安装了,由于我已经安装过了,所以就是显示的删除。 2.解除网页复制限制 直接在扩展中安装sim…

Toyota Programming Contest 2024#4(AtCoder Beginner Contest 348)(A~D)

A - Penalty Kick i,1~N。如果 i 是 3 的倍数输出x&#xff0c;否则输出o #include <bits/stdc.h> //#define int long long #define per(i,j,k) for(int (i)(j);(i)<(k);(i)) #define rep(i,j,k) for(int (i)(j);(i)>(k);--(i)) #define debug(a) cout<<#…

HTTP详解及代码实现

HTTP详解及代码实现 HTTP超文本传输协议 URL简述状态码常见的状态码 请求方法请求报文响应报文HTTP常见的HeaderHTTP服务器代码 HTTP HTTP的也称为超文本传输协议。解释HTTP我们可以将其分为三个部分来解释&#xff1a;超文本&#xff0c;传输&#xff0c;协议。 超文本 加粗样…

开源 _ 新一代Android 性能监控框架Rabbit

最终扫描结果会展示如下: 点击右上角导出按钮可以把扫描结果以json的形式导出到SD卡中。 网络日志监控 rabbit可以记录网络请求日志并方便的查看返回的json数据: 卡顿日志监控 rabbit通过Choreographer来检测主线程的运行情况,并异步采集主线程堆栈来还原卡顿现场。 对于下…

总包不足80w的高龄Android程序员,被面试官diss混得太差,网友狂吐槽……

有网友直言&#xff1a;90%的人一辈子一年也拿不到80万 有网友分析到&#xff1a;看面试情况&#xff0c;没什么希望就直接其实我觉得30岁年薪低于1000万的都是loser&#xff0c;你我都是 有网友说&#xff1a;这几年互联网行业极大发展&#xff0c;让互联网行业成为了明星行…

2_6.Linux高级存储管理

##1.逻辑卷## pv ##物理卷 被处理过的物理分区 pe ##物理扩展 设定存储最小单元 vg ##物理卷组 捆绑pv到一个组中 lv ##逻辑卷 分配最终的使用设备 监控建立过程&#xff1a; watch -n 1 "pvs;echo ;vgs;echo ;lvs;echo ;df -h /weixindata" &#xff08;1&#xf…

合理早餐选择,稳定糖尿病血糖。

对于糖尿病患者来说&#xff0c;饮食管理是治疗的重要一环。不合理的早餐选择会导致血糖的波动。很多糖尿病朋友按时吃药&#xff0c;但是血糖就是稳定不住&#xff0c;之前看过一个例子&#xff0c;北京崇文门医院朱学敏主任接诊过一个患者&#xff0c;那个患者按时吃药&#…

C++设计模式:装饰器模式(四)

1、定义与动机 装饰器模式定义&#xff1a;动态&#xff08;组合&#xff09;地给一个对象增加一些额外的职责。就增加功能而言&#xff0c;Decorator模式比生成子类&#xff08;继承&#xff09;更为灵活&#xff08;消除重复代码 & 减少子类个数&#xff09;。 在某些情…

ARM体系结构

阅读引言&#xff1a; arm架构处理器的基本知识已在上一篇文章中描述过了&#xff0c; 本文将会从arm的存储模型、异常机制、工作模式、指令集、流水线、arm的寄存器组织方面去描述。 目录 一、ARM处理器概论 1.指令集概述 2.指令分类 3.编译流程 二、ARM的存储模型 1.AR…

电商技术揭秘七:搜索引擎中的SEO关键词策略与内容优化技术

文章目录 引言一、关键词策略1.1 关键词研究与选择1. 确定目标受众2. 使用关键词研究工具3. 分析搜索量和竞争程度4. 考虑长尾关键词5. 关键词的商业意图6. 创建关键词列表7. 持续监控和调整 1.2 关键词布局与密度1. 关键词自然分布2. 标题标签的使用3. 首次段落的重要性4. 关键…

C# 分布式自增ID算法snowflake(雪花算法)

文章目录 1. 概述2. 结构3. 代码3.1 IdWorker.cs3.2 IdWorkerTest.cs (测试) 1. 概述 分布式系统中&#xff0c;有一些需要使用全局唯一ID的场景&#xff0c;这种时候为了防止ID冲突可以使用36位的UUID&#xff0c;但是UUID有一些缺点&#xff0c;首先他相对比较长&#xff0c…

pyside6怎么使用Qt Designer设计自定义组件

第一步&#xff0c;新建一个自定义组件的python文件 from PySide6.QtWidgets import QPlainTextEdit from PySide6.QtCore import Signal,Qtclass CustomPlainTextEdit(QPlainTextEdit):enterPressed Signal(str)def __init__(self, parentNone):super().__init__(parent)def…

Vue+node.js蔬菜水果农产品网上商城管理系统

用户能够及时掌握最新的数据&#xff0c;并能有效地提升用户的服务水平。本制度的优势在于&#xff1a; &#xff08;1&#xff09;该系统将蔬菜信息及时地提供给使用者。使用者可以在任何时候登陆该网站查询相关资讯&#xff0c;所有资讯均真实可信&#xff0c;并严肃处理各项…

161 Linux C++ 通讯架构实战15,线程池代码分析

线程池应该使用的地方 和 epoll 技术结合 线程池代码处理数据的地方。 线程池分析&#xff1a; 线程池代码1 threadpool_create //Tencent8888 start threadpool_create函数的目的初始化线程池&#xff0c;对应的struct是 threadpool_t /* 1.先malloc整个线程池的大小 2.这里…

牛客 2024春招冲刺题单 ONT98 牛牛猜节点【中等 斐波那契数列 Java,Go,PHP】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/6a3dfb5be4544381908529dc678ca6dd 思路 斐波那契数列参考答案Java import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&#xff0c;直接返回方法规…

Unity与CocosCreator对比学习二

一、锚点与适配 1.在Creator中 适配通过锚点、位置和Widget达到适配目的&#xff1b;锚点是节点在其父节点坐标系中坐标对其点&#xff0c;其x,y范围在[0, 1]之间&#xff1b; 锚点为(0, 0)时在节点自身的左下角&#xff0c;节点坐标指其左下角在父节点中的坐标&#xff1b;锚…