173 lines
5.3 KiB
Markdown
173 lines
5.3 KiB
Markdown
# 归档
|
||
## 关闭归档
|
||
```sql
|
||
archive log list; #查看是否是归档方式
|
||
alter system set log_archive_start=false scope=spfile; #禁用自动归档
|
||
shutdown immediate;
|
||
startup mount; #打开控制文件,不打开数据文件
|
||
alter database noarchivelog; #将数据库切换为非归档模式
|
||
alter database open; #将数据文件打开
|
||
archive log list; #查看此时便处于非归档模式
|
||
```
|
||
## 开启归档
|
||
```sql
|
||
# 关闭oracle
|
||
shutdown immediate;
|
||
# 启动为mount状态
|
||
startup mount
|
||
# 更改为归档模式
|
||
alter database archivelog
|
||
# 更改数据库为‘打开’状态
|
||
alter database open
|
||
```
|
||
## 查看归档日志使用情况
|
||
```sql
|
||
sqlplus / as sysdba
|
||
select * from v$recovery_file_dest;
|
||
select * from V$FLASH_RECOVERY_AREA_USAGE;
|
||
```
|
||
## 按小时统计归档量
|
||
```sql
|
||
SELECT SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5) Day,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'00',1,0)) H00,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'01',1,0)) H01,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'02',1,0)) H02,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'03',1,0)) H03,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'04',1,0)) H04,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'05',1,0)) H05,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'06',1,0)) H06,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'07',1,0)) H07,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'08',1,0)) H08,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'09',1,0)) H09,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'10',1,0)) H10,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'11',1,0)) H11,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'12',1,0)) H12,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'13',1,0)) H13,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'14',1,0)) H14,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'15',1,0)) H15,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'16',1,0)) H16,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'17',1,0)) H17,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'18',1,0)) H18,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'19',1,0)) H19,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'20',1,0)) H20,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'21',1,0)) H21,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'22',1,0)) H22,
|
||
SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'23',1,0)) H23,
|
||
COUNT(*) TOTAL
|
||
FROM v$log_history a
|
||
WHERE first_time>=to_char(sysdate-11)
|
||
GROUP BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5)
|
||
ORDER BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5) DESC;
|
||
```
|
||
## 查询日志目录位置
|
||
```sql
|
||
show parameter recover;
|
||
```
|
||
## 计算fast_recovery_area已经占用的空间
|
||
```sql
|
||
select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
|
||
```
|
||
## 修改fast_recovery_aread的空间
|
||
```sql
|
||
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=8g;
|
||
```
|
||
## rman登录
|
||
```sql
|
||
rman target /
|
||
```
|
||
## 删除过期归档日志
|
||
```sql
|
||
# 检查日志
|
||
crosscheck archivelog all;
|
||
# 删除提示
|
||
delete expired archivelog all;
|
||
# 无删除提示
|
||
delete noprompt expired archivelog all;
|
||
```
|
||
## 删除所有的Archivelog files
|
||
```sql
|
||
delete archivelog all;
|
||
```
|
||
## 删除昨天以前的归档日志
|
||
```sql
|
||
# 无删除提示
|
||
delete noprompt archivelog until time 'sysdate-1';
|
||
# 强制删除昨天之前的日志
|
||
delete force archivelog until time 'sysdate-1';
|
||
# 无提示强制删除昨天之前的日志
|
||
delete noprompt force archivelog until time 'sysdate -1';
|
||
```
|
||
# 备份
|
||
## 列出备份信息
|
||
```sql
|
||
list backup;
|
||
list backup summary;
|
||
list backup of database;
|
||
list backup of tablespace table_name;
|
||
list backup of controlfile;
|
||
list backup of spfile;
|
||
list backupset id;
|
||
```
|
||
## 校验备份
|
||
```sql
|
||
crosscheck backup;
|
||
crosscheck backup of database;
|
||
crosscheck backup of tablespace system;
|
||
crosscheck backup of controlfile;
|
||
crosscheck backup of spfile;
|
||
crosscheck backup of archivelog all;
|
||
```
|
||
## 删除陈旧备份
|
||
```sql
|
||
delete obsolete;
|
||
delete noprompt obsolete;
|
||
```
|
||
## 删除所有expired的备份(包括归档日志、控制文件、备份聚)
|
||
```sql
|
||
delete expired backup;
|
||
```
|
||
## 删除所有备份
|
||
```sql
|
||
delete backup;
|
||
```
|
||
## 删除指定tag备份
|
||
```sql
|
||
delete backup tag xxx;
|
||
```
|
||
## 改为长期备份
|
||
```sql
|
||
change backupset id unavailable;
|
||
change backupset id keep forever logs;
|
||
change backupset id keep until time 'sysdate+30' logs;
|
||
change backupset id nokeep;
|
||
```
|
||
## 改为基于时间的备份
|
||
```sql
|
||
configure retention policy to recovery window of 30 days;
|
||
```
|
||
|
||
# 其他
|
||
## 显示rman配置
|
||
```sql
|
||
show all;
|
||
```
|
||
## 报告目标数据库的物理结构
|
||
```sql
|
||
report schema;
|
||
```
|
||
## 报告陈旧备份
|
||
```sql
|
||
report obsolete;
|
||
```
|
||
## 报告不可恢复的数据文件
|
||
```sql
|
||
report unrecoverable;
|
||
```
|
||
## 改为基于冗余数量的备份
|
||
```sql
|
||
configure retention policy to redundancy n ;
|
||
```
|
||
## 取消备份保留策略
|
||
```sql
|
||
configure retention policy to none;
|
||
```
|