首页 > 代码库 > 数据库备份
数据库备份
--1.创建目录
CREATE DIRECTORY dump1_dir AS ‘E:\backup‘;
SELECT*FROM Dba_Directories;
DROP DIRECTORY dump1_dir;
SELECT*FROM Dba_Directories;
--2.授予用户操作dump_dir目录的权限
GRANT READ,WRITE ON DIRECTORY dump_dir TO scott;
--3.创建测试用户user1并授权
CREATE USER user1 IDENTIFIED BY user1;
GRANT connect,RESOURCE TO user1;
GRANT READ,WRITE ON DIRECTORY dump1_dir TO user1;
--查询表
SELECT*FROM Dba_tables;
--数据库表,用户,空间的备份,是对其数据库进行增量备份使用,
--增量备份使用系统管理员以外的用户必须授权用户对其导入和导出数据库的权限。
--首先要对其scott进行授权,
GRANT imp_full_database TO scott;--授权导入数据库的权限
GRANT exp_full_database TO scott;--授权导出数据库的权限
/*----表备份------*/
--导出scott用户下emp,dept表
expdp scott/tiger@orcl Directory=dump_dir dumpfile=scotttab.dmp TABLES=emp,dept
--使用管理员用户导出scott用户下emp,dept表,即在表前加上用户名,如scott.emp,scott.dept
expdp system/accp@orcl Directory=dump_dir dumpfile=scotttab.dmp TABLES=scott.emp,scott.dept
--导入scott用户下emp,dept表
impdp scott/tiger@orcl DIRECTORY=dump_dir dumpfile=scotttab.dmp tables=emp,dept
--使用管理员用户导入scott用户下emp,dept表,即在表前加上用户名,如scott.emp,scott.dept
impdp system/accp@orcl Directory=dump_dir dumpfile=scotttab.dmp TABLES=scott.emp,scott.dept
--将导出的scott用户下的dept,emp导入到user1
--其次对其输入下面命令即可
impdp scott/tiger@orcl directory=dump_dir dumpfile=scotttab.dmp Tables=dept,emp remap_schema=scott:user1
/*----用户备份------*/
--导出scott用户模式
expdp scott/tiger@orcl directory=dump_dir dumpfile=scottschema.dmp schemas=scott
--导入scott用户模式
impdp scott/tiger@orcl directory=dump_dir dumpfile=scottschema.dmp schemas=scott
--将scott中所有对象导入user1中
impdp SYSTEM/accp@orcl directory=dump_dir dumpfile=scottschema.dmp schemas=scott remap_schema=scott:user1
/*----表空间备份------*/
--提前创建一个user01表空间且对其进行存储数据
CREATE TABLESPACE user01
DATAFILE ‘d:\backup\jk.dbf‘
SIZE 10M
AUTOEXTEND ON;
--为表空间创建用户
CREATE USER jkma
IDENTIFIED BY abc123
DEFAULT TABLESPACE user01; --为用户设定默认表空间即user01表空间
--用户授权
GRANT connect,RESOURCE TO jkma;
--删除用户
DROP USER jkma;
--查询用户确认是否删除
SELECT * FROM dba_users;
--重新登录jkma用户,创建数据表
CREATE TABLE stuinfo --创建学员信息表
(
stuName varchar2(20) NOT NULL,
stuNo CHAR(6) NOT NULL,
stuAge NUMBER(3,0) NOT NULL,
stuID NUMBER(5,0)
)
--导出user01表空间,如果表空间为空,则无法创建备份文件
expdp SYSTEM/accp@orcl directory=dump_dir dumpfile=tablespaceusers.dmp tablespaces=user01
--导入user01表空间,如果表空间为空,则无法导入
impdp SYSTEM/accp@orcl directory=dump_dir dumpfile=tablespaceusers.dmp tablespaces=user01
/*----数据库完全备份------*/
--数据库备份,无需创建用户和授权,直接使用数据库系统管理员身份进行,输入下面代码即可
--导出整个数据库
expdp SYSTEM/accp@orcl directory=dump_dir dumpfile=full.dmp FULL=y
--导入整个数据库
impdp SYSTEM/accp@orcl directory=dump_dir dumpfile=full.dmp FULL=y
数据库备份