表空间和用户
查看建库过程中自带用户:
select username from dba_users order by username;
复制
附结果:
USERNAME -------------------------------------------------------------------------------------------------------------------------------- ANONYMOUS APPQOSSYS AUDSYS CTXSYS DBSFWUSER DBSNMP DIP DVF DVSYS GGSYS GSMADMIN_INTERNAL GSMCATUSER GSMROOTUSER GSMUSER LBACSYS MDDATA MDSYS OJVMSYS OLAPSYS ORACLE_OCM ORDDATA ORDPLUGINS ORDSYS OUTLN REMOTE_SCHEDULER_AGENT SI_INFORMTN_SCHEMA SYS SYS$UMF SYSBACKUP SYSDG SYSKM SYSRAC SYSTEM WMSYS XDB XS$NULL 36 rows selected.
复制
创建新的dba用户:
create user wenjiewang identified by 123456; grant connect,resource,dba to wenjiewang;
复制
密码不过期:
alter profile default limit password_life_time unlimited;
复制
查看默认表空间类型:
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME ='DEFAULT_TBS_TYPE';
复制
创建表空间:
create SMALLFILE TABLESPACE "TS_wenjiewang" LOGGING DATAFILE 'wenjiewang1.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
复制
这里不选择bigfile是因为考虑备份速度会快,这样就需要留意一数据文件1达到32G就需要增加新的数据文件;
为表空间增加新的数据文件:
alter TABLESPACE "TS_wenjiewang" add DATAFILE 'wenjiewang2.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
复制
数据文件保存在:
/usr/oracle19c/dbs/wenjiewang1.dbf
其中/usr/oracle19c/是oracle_home
如果要将数据文件保存在自定义目录的话,root建好目录后授权
chown oracle:oinstall /data/datafile/
复制
然后在指定数据文件时指定绝对路径即可:
create SMALLFILE TABLESPACE "TS_test0422" LOGGING DATAFILE '/data/datafile/04221.dbf' SIZE 200M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
复制
指定用户默认表空间:
alter user wenjiewang default tablespace "TS_wenjiewang"; alter user wenjiewang quota unlimited on "TS_wenjiewang";
复制
然后我们用wenjiewang账号登录
sqlplus wenjiewang/123456 as sysdba
复制
创建测试表:
create table t1(id int,sn varchar(50)); insert into t1 values(1,'wwj'); select * from t1; commit; create table t2(id int,sn varchar(50)); insert into t2 values(1,'bak'); select * from t2; commit;
复制
查看当前表:
select table_name from user_tab_comments;
复制
RMAN和归档模式
创建备份目录及授权
mkdir /data/backup chown oracle:oinstall /data/backup/
复制
创建归档日志目录及授权
mkdir /data/archivelog chown oracle:oinstall /data/archivelog/
复制
查看当前归档状态:
archive log list;
复制
查看归档日志格式:
show parameter log_archive_format;
复制
修改归档日志格式:
alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;
复制
查看归档日志目录:
show parameter DB_RECOVERY_FILE_DEST;
复制
修改归档日志目录:
alter system set log_archive_dest_1 = 'location=/data/archivelog' scope=spfile;
复制
需重启数据库生效
我们顺便开启归档模式
先关闭数据库:
shutdown immediate
复制
仅起到mount状态
startup mount
复制
开启归档模式:
alter database archivelog;
复制
启动到open状态:
alter database open;
复制
再检查归档状态发现已经改好,归档日志目录也正确
我们手动切换日志并检查目录下有没有正常生成的日志:
alter system switch logfile;
复制
我们进入RMAN进行RMAN设置:
查看RMAN配置:
show all;
复制
设置为压缩备份:
configure device type disk backup type to compressed backupset;
复制
设置自动备份控制文件:
configure controlfile autobackup on;
复制
设置控制文件备份目录和格式:
configure controlfile autobackup format for device type disk to '/data/backup/%F.bak';
复制
设置冗余策略,按时间标记废弃:
configure retention policy to recovery window of 90 days;
复制
进行数据库全备:
backup format '/data/backup/d_%d_%T_lev0_%s.bak' incremental level 0 database plus archivelog delete all input;
复制
然后检查磁盘文件。
删除归档日志的正确姿势:
如删除七天前的:
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
复制
如果已经在磁盘中删除了归档日志文件,则只能清除归档日志记录,否则控制文件不会知道这些文件已经不存在了:
crosscheck archivelog all; delete expired archivelog all;
复制
模拟数据恢复
搞破坏:
查看当前表:
select table_name from user_tab_comments;
复制
查看当前SCN号:
select dbms_flashback.get_system_change_number from dual;
复制
是2055092
查看当前时间:
直接看系统时间 date
Thu Apr 22 17:26:24 CST 2021
复制
查看表t2的内容:
select * from t2 where rownum<10;
复制
删数据:
delete from t2 where id =1;
复制
基于SCN或时间点的全库恢复:
SQL> shutdown immediate SQL> startup mount RMAN> restore database; RMAN> recover database until scn 2055092;
复制
或者
RMAN> restore database until time '05-NOV-20'; RMAN> alter database open resetlogs;
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
文章被以下合辑收录
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
555次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
478次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
453次阅读
2025-04-01 11:08:44
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
451次阅读
2025-04-08 09:12:48
墨天轮个人数说知识点合集
JiekeXu
447次阅读
2025-04-01 15:56:03
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
440次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
416次阅读
2025-04-22 00:13:51
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
416次阅读
2025-04-20 10:07:02
Oracle 19c RAC更换IP实战,运维必看!
szrsu
395次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
365次阅读
2025-04-17 17:02:24