数据库--数据备份与恢复

这篇博客旨在通过一系列步骤指导读者掌握数据库的备份和恢复操作。首先创建并授权新用户,然后进行数据表的创建、删除和数据输入。接着,通过导出和导入数据实现备份和恢复,同时强调了数据库的逻辑备份(导出/导入)和物理备份(热备份、冷备份)的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验目的

掌握ORACLE数据库系统的一种备份/恢复方法。

实验内容

1、 在orcl数据库中创建新的用户并授权(如果原来已有这个用户,可以忽略本步骤):

create user cc identified by ccpassword ;
grant resource, connect, DBA  to cc;

2、 以用户CC的身份建立连接,并在此连接下执行后面的操作;
在这里插入图片描述
3、 拷贝代码运行,删去旧的同名数据表:

Declare
tmp integer default 0;
Begin
select count(*) into tmp from user_tables where table_name='RB';
if(tmp>0) then
execute immediate 'drop table RB';
end if;
select count(*) into tmp from user_tables where table_name='READER';
if(tmp>0) then
execute immediate 'drop table READER';
end if;
select count(*) into tmp from user_tables where table_name='BOOK';
if(tmp>0) then
execute immediate 'drop table BOOK';
end if;
end;

在这里插入图片描述
4、 拷贝代码运行,建立表格及输入数据:

create table Reader
(
    RNO	varchar2(4) primary key,
    Rname	varchar2(10) not null,
    Rsex	varchar2(3),
    Rage	integer,
    Rboss	varchar2(10),
    Raddress	varchar2(30)
) ;

insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R001','张三',20,'男','李四','416');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R002','张三',35,'女',null,'417');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R003','李四',30,'男',null,'416');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R004','王五',20,'男',null,'417');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R005','马六',40,'男',null,'416');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R006','刘三',20,'男',null,'417');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R007','王四',40,'男','李四','416');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R008','李小龙',20,'男','李四','417');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R009','王小倩',40,'男','李四','416');
insert into Reader (RNO,Rname,Rage,Rsex,Rboss, Raddress) values('R010','王一小',20,'男','李四','417');

create table Book
(
    BNO	varchar2(4),
    Bname	varchar2(50) not null,
    Bauthor	varchar2(50),
    Bpress	varchar2(50),
    Bprice	numeric(6,2), 
    primary key(BNO)
);

insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B001','严蔚敏','数据结构','清华大学出版社',null);
insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B002','唐发根','数据结构','北航出版社',24);
insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B003','王珊','数据库原理','高等教育出版社',40);
insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B004','张飞','数据库原理','清华大学出版社',30);
insert into book (BNO,Bauthor,Bname, bpress, bprice) values('B005','王珊','数据库原理','清华大学出版社',null);

create table RB
(
    RNO varchar2(4),
    BNO varchar2(4),
    RBdate date default sysdate,
    primary key(RNO,BNO),
    foreign key (RNO) references Reader(RNO),
    foreign key (BNO) references Book(BNO)
);

insert into RB (RNO,BNO) values ('R001','B001');
insert into RB (RNO,BNO) values ('R001','B002');
insert into RB (RNO,BNO) values ('R001','B004');
insert into RB (RNO,BNO) values ('R002','B001');
insert into RB (RNO,BNO) values ('R003','B001');
insert into RB (RNO,BNO) values ('R004','B001');
insert into RB (RNO,BNO) values ('R004','B002');
insert into RB (RNO,BNO) values ('R005','B001');
insert into RB (RNO,BNO) values ('R006','B001');
insert into RB (RNO,BNO) values ('R006','B003');
insert into RB (RNO,BNO) values ('R006','B005');
insert into RB (RNO,BNO) values ('R006','B002');
insert into RB (RNO,BNO) values ('R006','B004');

在这里插入图片描述
5、 以CC的身份连接,确认orcl数据库中有这三个数据表,以及相应的数据
在这里插入图片描述
6、 打开“Database Configuration Assistant
在这里插入图片描述
在这里插入图片描述
输入数据库名“mydb
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7、 确认D盘有文件“export from orcl.sql
在这里插入图片描述
8、 到ORACLE SQL DEVELOPER中以SYSTEM用户的身份建立新的连接(这个密码是前面自己新建数据库输入的密码):
在这里插入图片描述
9、 在该连接下执行以下语句,即在数据库MYDB里增加用户CC,以便与备份的用户名一致(打开文件“export from orcl.sql”可见里面的语句带了用户名):

create user c##cc identified by ccpassword ;
grant resource, connect, DBA  to c##cc;

在这里插入图片描述
10、 以用户CC的身份建立新的连接到数据库mydb
在这里插入图片描述
11、 确认mydb中没有数据表READERBOOKRB

在这里插入图片描述
12、 在MYDBCC用户连接中打开文件(或用记事本打开再复制粘贴)运行
在这里插入图片描述
在这里插入图片描述
13、 确认MYDB中含有这三个表,且表的内容、约束等与数据库ORCL中的一致
在这里插入图片描述
14、 为避免占用太多的系统资源,删去数据库MYDB。先删去有关MYDB的所有连接
在这里插入图片描述
在这里插入图片描述
如果按照上述步骤,应该有两个连接:SYSTEM用户的连接和CC用户的连接。

15、 打开“Database Configuration Assistant”
在这里插入图片描述
16、 删去数据库MYDB
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Oracle数据库有三种标准的备份方法:

导出/导入

热备份(被备份的数据库不必关闭)

冷备份(被备份的数据库必须关闭)

导出备件是一种逻辑备份, 冷备份和热备份是物理备份。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值