oracle 冷备份

一搭建实验环境

以sys登入oracle数据库,分别创建表空间yanshu01和yanshu02
创建表空间yanshu_data:
SQL>create  tablespace  yanshu01 datafile 'd:\oracle\product\10.2.0\oradata\test\yanshu01.dbf'  size  100M extent  management  local uniform  size 1M;  本地管理区间 用户指定大小为1m
创建表空间yanshu02
SQL>create  tablespace  yanshu02 datafile 'd:\oracle\product\10.2.0\oradata\test\yanshu02.dbf'  size  100M extent  management  local uniform  size 1M;
创建用户xuwei,并授权
SQL> create user  xuwei identified  by  xuwei1234 default  tablespace  yanshu01
temporary  tablespace  temp
quota  100M  on  yanshu01 该用户在yanshu01上最多使用100M的空间
quota  100M  on  yanshu02;
授权:
SQL> grant  connect, resource, select any table  to  xuwei ;(直接授予权限)
解锁sh用户,在该客户中有诸如客户和销售等在商业公司中经常使用且比较大的表,非常适合做数据的备份与恢复。
SQL>alter user sh identified by sh1234 account unlock;
sh客户登入,然后做如下操作:
SQL> select * from tab;
SQL> select count(*) from customers;
SQL> select count(*) from sales;
xuwei客户登入:sqlplusw xuwei/xuwei1234
SQL> create table sales as select * from sh.sales; (创建销售表像sh里的表一样)
SQL> desc sales
下面为销售表sales建立3个索引
SQL> create index sales_prod_id_idx on sales(prod_id) tablespace yanshu02;
SQL> create index sales_cust_id_idx on sales(cust_id) tablespace yanshu02;
SQL> create index sales_channel_id_idx on sales(channel_id) tablespace yanshu02;
SQL> create table customers as select * from sh.customers; (创建客户表)
SQL> desc customers
下面为客户表customers建立2个索引
SQL> create index customers_gendar_idx on customers(cust_gender) tablespace yanshu02;
SQL> create index customers_city_idx on customers(cust_city) tablespace yanshu02;
下面验证表和索引是否创建
SQL>desc user_tables;
SQL> select table_name,tablespace_name from user_tables;
SQL>desc user_indexes;
SQL> select index_name,table_name,tablespace_name,status from user_indexes;
以上环境搭建完成下面来说一说
二数据库常用到的备份
数据库的全备份:备份数据库的所有的数据文件和控制文件,
控制文件备份:
数据文件备份:备份单个的数据文件。
表空间备份:备份组成某一表空间的所有的数据文件。
三 冷备份(脱机备份)
1 以sys登入oracle数据库
SQL> set line 120;
SQL> set pagesize 30
SQL> col name for a60
SQL> select name from v$controlfile;
SQL> col member for a60
SQL> select member from v$logfile;
SQL> col file_name for a60
SQL> col tablespace for a15
SQL> select file_name,tablespace_name from dba_data_files;
SQL> show parameter pfile;
2、 当找到所有的文件之后,对备份磁盘和目录进行配置(在e盘建立目录backup):可以窗口下进行,也可以dos下进行。
SQL>host (用该命令切换到dos操作系统窗口)
E:>md backup (在e盘建立目录backup)
E:>cd backup   (进入backup目录)
3、 然后打开记事本程序写如下脚本文件,并保存成coolbak.sql脚本文件:
connect sys/xuwei as sysdba
shutdown immediate
host copy D:\oracle\product\10.2.0\oradata\test\*.*  E:\backup\
host copy D:\ORACLE\PRODUCT\10.2.0\db_1\DBS\initdw.ora  E:\backup\dbs\
host copy D:\oracle\product\10.2.0\db_1\database\pwdtest.ora  E:\backup\database\
host copy D:\oracle\product\10.2.0\oradata\test\yanshu01.dbf  E:\backup\disk1\
host copy D:\oracle\product\10.2.0\oradata\test\yanshu02.dbf  E:\backup\disk2\
startup
最后在SQL*Plus下运行该脚本文件coolbak.sql进行脱机备份
SQL> @E:\oracle\mgt\coolbak.sql
四 冷恢复
1用户xuwei登陆:sqlplusw xuwei/xuwei1234
SQL> select count(*) from sales;
SQL>truncate table sales;
SQL> select * from cat;
SQL> select count(*) from sales;
2以sys登入oracle数据库
SQL>shutdown immediate
host copy E:\backup\*.*  D:\oracle\product\10.2.0\oradata\test\  
host copy E:\backup\dbs\DBS\initdw.ORA  D:\ORACLE\PRODUCT\10.2.0\DB_1\  
host copy E:\backup\database\pwdtest.ora  D:\oracle\product\10.2.0\db_1\database\  
host copy E:\backup\disk1\yanshu01.DBF  D:\oracle\product\10.2.0\oradata\test\
host copy E:\backup\disk2\yanshu02.DBF  D:\oracle\product\10.2.0\oradata\test
复制完所有的备份文件之后,立即启动数据库
SQL>startup
SQL> select count(*) from sales;


你可能感兴趣的:(oracle,product,空间,identified,Management)