Oracle数据库逻辑备份与恢复
-- 创建表空间
CREATE TABLESPACE users
DATAFILE 'D:\oracle\oradata\orcl\users01.dbf' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL;
-- 创建用户并指定表空间
CREATE USER scott IDENTIFIED BY tiger
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON users;
-- 给用户授权
GRANT CONNECT, RESOURCE TO scott;
-- 创建测试表和数据
CONNECT scott/tiger
CREATE TABLE emp (
empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4),
hiredate DATE,
sal NUMBER(7, 2),
comm NUMBER(7, 2),
deptno NUMBER(2)
);
INSERT INTO emp VALUES (7369, 'SMITH', 'CLERK', 7902, TO_DATE('17-12-1980', 'DD-MM-YYYY'), 800, NULL, 20);
COMMIT;
-- 备份表
CREATE TABLE emp_backup AS SELECT * FROM emp;
-- 模拟数据损坏,删除表中所有数据
DELETE FROM emp;
COMMIT;
-- 恢复数据
INSERT INTO emp SELECT * FROM emp_backup;
COMMIT;
-- 删除备份表
DROP TABLE emp_backup;
-- 撤销用户权限
REVOKE CONNECT, RESOURCE FROM scott;
-- 删除用户
DROP USER scott CASCADE;
-- 删除表空间,需要先确保表空间内无任何数据文件
ALTER TABLESPACE users OFFLINE;
DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES;
这个例子展示了如何在Oracle数据库中创建表空间、用户、授权,创建测试数据,进行备份和恢复操作。这是数据库管理员在维护数据库时可能会用到的基本操作。
评论已关闭