/testdata/oradata/testdb/undotbs01.dbf
/testdata/oradata/testdb/sysaux01.dbf
/testdata/oradata/testdb/users01.dbf
/testdata/oradata/testdb/example01.dbf
/testdata/oradata/testdb/users02.dbf
/testdata/oradata/testdb/system02.dbf
7 rows selected.
SYS on 15-MAY-07 at testdb>select FILE_NAME from dba_data_files;
/testdata/oradata/testdb/users01.dbf
/testdata/oradata/testdb/sysaux01.dbf
/testdata/oradata/testdb/undotbs01.dbf
/testdata/oradata/testdb/system01.dbf
/testdata/oradata/testdb/example01.dbf
/testdata/oradata/testdb/users02.dbf
/testdata/oradata/testdb/system02.dbf
7 rows selected.
- 开始数据库备份,在列出要备份的数据文件之后,将数据库设置为备份模式。当将数据库设置为备份
模式之后,会在数据库上发出全局检查点,并且会在所有数据文件头快上加锁,以保证在备份期间数据文件
的头块内容不会改变
SYS on 15-MAY-07 at testdb>alter database begin backup;
Database altered.
- 备份所有数据文件和控制文件
SYS on 15-MAY-07 at testdb>!cp /testdata/oradata/testdb/example01.dbf /test
data/back1
!cp /testdata/oradata/testdb/sysaux01.dbf /testdata/back1
!cp /testdata/oradata/testdb/system01.dbf /testdata/back1
!cp /testdata/oradata/testdb/system02.dbf /testdata/back1
!cp /testdata/oradata/testdb/undotbs01.dbf /testdata/back1
!cp /testdata/oradata/testdb/users01.dbf /testdata/back1
!cp /testdata/oradata/testdb/users02.dbf /testdata/back1
SYS on 15-MAY-07 at testdb>alter database backup controlfile to '/testdata/back1
/test.ctl’;
Database altered.
- 结束数据库备份,在备份了所有数据文件和控制文件之后,结束数据库备份。在结束了数据库备份之后,
为了确保数据文件备份的同步性,还应该归档当前日志组。
SYS on 15-MAY-07 at testdb>alter database end backup;
Database altered.
SYS on 15-MAY-07 at testdb>alter system archive log current;
System altered.
备份表空间
- 什么是备份表空间?
备份表空间是指在数据库处于OPEN 状态时备份起数据文件的方法。
注意,表空间备份只适用于ARCHIVELOG 模式,不适用NOARCHIVELOG
另外,当备份表空间时,即可以备份表空间的所有数据文件,也可以
备份表空间的某个数据文件。
- 什么是脱机备份?
脱机备份是指当表空间处于OFFLINE 状态时,备份表空间所有数据文件
或单个数据文件的过程。与联机备份相比,这种备份方法的优点是会生成
较少的重做信息,但缺点是会影响表空间上的业务操作。因为SYSTEM 和正
使用的UNDO 表空间都不能被脱机,所以这种方法不能备份SYSTEM和正在用的UNDO
实验记录:
- 确定表空间所包含的数据文件
[testdb:oratest] /oradev2/home> sqlplus “/as sysdba”
SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 15 13:46:01 2007
Copyright © 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SYS on 15-MAY-07 at testdb>select file_name from dba_data_files
2 where tablespace_name=‘USERS’;
/testdata/oradata/testdb/users01.dbf
/testdata/oradata/testdb/users02.dbf
-设置表空间为脱机状态。
SYS on 15-MAY-07 at testdb>alter tablespace users offline;
Tablespace altered.
- COPY 数据文件
SYS on 15-MAY-07 at testdb>! cp /testdata/oradata/testdb/users01.dbf /testdata/b
ack2
SYS on 15-MAY-07 at testdb>! cp /testdata/oradata/testdb/users02.dbf /testdata/b
ack2
- 设置表空间为联机状态。
SYS on 15-MAY-07 at testdb>alter tablespace users online;
Tablespace altered.
- 再次检查表空间的状态
SYS on 15-MAY-07 at testdb>select TABLESPACE_NAME,status from dba_tablespaces;
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
6 rows selected.
- 什么是联机备份
联机备份是指当表空间处于ONLINE 状态时,备份表空间所有数据文件或单个数据文件的
过程。使用这种方法可以备份数据库的所有表空间和数据文件。联机备份的优点是不影响
表空间上的业务操作。但缺点是会生成更多的REDO 信息和归档信息。
实验操作记录:
- 确定表空间所包含的数据文件
[testdb:oratest] /oradev2/home> sqlplus “/as sysdba”
SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 15 13:57:00 2007
Copyright © 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SYS on 15-MAY-07 at testdb>select file_name from dba_data_files
2 where tablespace_name=‘USERS’;
/testdata/oradata/testdb/users01.dbf
/testdata/oradata/testdb/users02.dbf
- 设置表空间为备份模式
SYS on 15-MAY-07 at testdb>alter tablespace users begin backup;
Tablespace altered.
- 复制数据文件
SYS on 15-MAY-07 at testdb>! cp /testdata/oradata/testdb/users01.dbf /testdata/b
ack2
SYS on 15-MAY-07 at testdb>! cp /testdata/oradata/testdb/users02.dbf /testdata/back2
-设置表空间为正常模式
SYS on 15-MAY-07 at testdb>alter tablespace users end backup;
Tablespace altered.
- 模仿 联机备份失败
[testdb:oratest] /oradev2/home> sqlplus “/as sysdba”
SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 15 14:03:15 2007
Copyright © 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
- 改变表空间为备份模式
SYS on 15-MAY-07 at testdb>alter tablespace users begin backup;
Tablespace altered.
SYS on 15-MAY-07 at testdb>! cp /testdata/oradata/testdb/users02.dbf /testdata/b
ack2
SYS on 15-MAY-07 at testdb>
[testdb:oratest] /testdata/arch> sqlplus “/as sysdba”
SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 15 14:02:48 2007
Copyright © 1982, 2005, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
- 打开另外一个窗口 ,不正常关闭DB
SYS on 15-MAY-07 at testdb>shutdown abort
ORACLE instance shut down.
-启动数据库。。。报错
[testdb:oratest] /oradev2/home> sqlplus “/as sysdba”
SQL*Plus: Release 10.2.0.2.0 - Production on Tue May 15 14:05:40 2007
Copyright © 1982, 2005, Oracle. All Rights Reserved.
Connected to an idle instance.
SYS on 15-MAY-07 at testdb>startup
ORACLE instance started.
Total System Global Area 599785472 bytes
Fixed Size 2073096 bytes
Variable Size 234884600 bytes
Database Buffers 356515840 bytes
Redo Buffers 6311936 bytes
Database mounted.
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: ‘/testdata/oradata/testdb/users01.dbf’
- 启动到数据到MOUNT 状态
SYS on 15-MAY-07 at testdb>startup force mount
ORACLE instance started.
Total System Global Area 599785472 bytes
Fixed Size 2073096 bytes
Variable Size 234884600 bytes
Database Buffers 356515840 bytes
Redo Buffers 6311936 bytes
Database mounted.
SYS on 15-MAY-07 at testdb>desc v$backup
Name
Null? Type
-------------------------------------------------------------------------------
---------------------------- -------- ------------------------------------------
------------------------------
FILE#
NUMBER
STATUS
VARCHAR2(18)
CHANGE#
NUMBER
TIME
DATE
- 查看还处在备份状态的数据文件
SYS on 15-MAY-07 at testdb>select file#,status from v$backup;
1 NOT ACTIVE
2 NOT ACTIVE
3 NOT ACTIVE
4 ACTIVE
5 NOT ACTIVE
6 ACTIVE
7 NOT ACTIVE
7 rows selected.
- 方法1,结束备份模式
SYS on 15-MAY-07 at testdb>alter database end backup;
Database altered.
- 方法2 ,也可以用DATAFILE
SYS on 15-MAY-07 at testdb>alter database datafile 4 end backup;
alter database datafile 4 end backup
*
ERROR at line 1:
ORA-01235: END BACKUP failed for 1 file(s) and succeeded for 0
ORA-01199: file 4 is not in online backup mode
ORA-01110: data file 4: ‘/testdata/oradata/testdb/users01.dbf’
- RECOVER DATAFILE
SYS on 15-MAY-07 at testdb>recover datafile 4;
Media recovery complete.
SYS on 15-MAY-07 at testdb>recover datafile 6;
Media recovery complete.
- 打开数据库
SYS on 15-MAY-07 at testdb>alter database open;
Database altered.
- 备份只读表空间。
当表空间转变为只读之后,用户只能查询表空间内对象的数据,而不能
在表空间的对象上执行DML/DDL 操作(DROP 除外)
- 改变表空间为只读
SYS on 15-MAY-07 at testdb>alter tablespace users read only;
Tablespace altered.
- 显示只读状态的表空间
SYS on 15-MAY-07 at testdb>select tablespace_name from dba_tablespaces
2 where status=‘READ ONLY’;
USERS
- 查找只读表空间对应的DATAFILE
SYS on 15-MAY-07 at testdb>select file_name from dba_data_files
2 where tablespace_name=‘USERS’
3 /
/testdata/oradata/testdb/users01.dbf
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
搜集费时费力,能看到此处的都是真爱!
ONLY’;
USERS
- 查找只读表空间对应的DATAFILE
SYS on 15-MAY-07 at testdb>select file_name from dba_data_files
2 where tablespace_name=‘USERS’
3 /
/testdata/oradata/testdb/users01.dbf
言尽于此,完结
无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。
- 第一,设计模式能让专业人之间交流方便,如下:
程序员A:这里我用了XXX设计模式
程序员B:那我大致了解你程序的设计思路了
- 第二,易维护
项目经理:今天客户有这样一个需求…
程序员:明白了,这里我使用了XXX设计模式,所以改起来很快
- 第三,设计模式是编程经验的总结
程序员A:B,你怎么想到要这样去构建你的代码
程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题
- 第四,学习设计模式并不是必须的
程序员A:B,你这段代码使用的是XXX设计模式对吗?
程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的
[外链图片转存中…(img-E1VD6y38-1718908996155)]
从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式,整理的文件如下图一览无余!
[外链图片转存中…(img-fyo71t0P-1718908996155)]
搜集费时费力,能看到此处的都是真爱!