ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle 9i DBA Fundamentals II

Oracle 9i DBA Fundamentals II

原创 Linux操作系统 作者:hit-2075 时间:2012-05-30 11:20:52 0 删除 编辑
----------------Chapter  10-User-Managed Backups(1)
--冷备份,就是一些操作系统的拷贝命令
cp
--归档
tar
cd /tmp
mkdir fu
mv glibc.txt fu/
cp cpuinfo.txt fu/
--UMBR VS RMAN
--ALTER TABLESSPACE [BEGIN/END] BACKUP
--ALTER DATABASE BACKUP CONTROL FILE TO TRACE
--ARCHIVE LOG ALL
--了解数据库文件
--V$DATAFILE
--V$CONTROLFILE
--V$LOGFILE
--DBA_DATA_FILE
--查看oracle环境参数
env | grep ORA
cd /u01
ls -ltr
--进入数据文件存放地,每一个实例会不一样
cd oradata/
ls
--文件的存放地
cd morewood/
ls -ltr
--spfile和密码文件的存放地
cd dbs
ll
sqlplus /nolog
conn / as sysdba
startup
--sqlplus环境的清屏命令
!clear
desc v$datafile;
select name,status from v$datafile;
select name from v$controlfile;
select member from v$logfile;
!clear
--查看表空间和数据文件的关系
select t.name tablespace ,f.name datafile
from v$tablespace t, v$datafile f
where t.ts# = f.ts#
order by t.name;
--noarchivelog只能做冷备份
--1,shutdown immediate
--2,host cp /backup
--3,startup
--查看是否归档
archive log list
--非归档转为归档
shutdown immediate
start mount;
alter database archivelog;
alter database open;
archive log list
!clear
--修改归档文件的存放位置
show parameter archive
alter system set log_archive_dest_1='/u01/oradata/arch';
shutdown immediate
quit
ps -ef | grep ora
cd /tmp
ls
mkdir coldbackup
ls
cd coldbackup
ls
clear
--拷贝spfile和密码文件
cp /u01/oracle/dbs/spfilemorewood.ora .
cp /u01/oracle/dbs/orapwmorewood .
ls
--拷贝其他的数据文件
cp -R /u01/oradata/morewood .
cd ..
du -k coldbackup/
--归档,压缩
tar ...
gzip ...
sqlplus /nolog
conn / as sysdba
startup
----------------Chapter  10-User-Managed Backups(2)
archive log list
!
cd /u01/oradata/
cd morewood/
ls
show parameter archive
alter system set log_archive_dest_1='LOCATION=/u01/oradata/morewood/arch';
alter system archive log current;

--另一个session
cd /u01/oradata/morewood/arch
ls -ltr
alter system set log_archive_dest_1='LOCATION=/u01/oradata/morewood/arch'
alter system archive log current;
vi we.sql
set feedback off heading off verify off trimspool off
set pagesize 0 linesize 200
--定义变量
define dir='/tmp/wb'
define ws='/tmp/ws.sql'
spool &ws
select '! cp ' || name || ' &dir' from v$datafile order by 1;
select '! cp ' || member || ' &dir' from v$logfile order by 1;
select '! cp ' || name || ' &dir' from v$controlfile order by 1;
select '! cp ' || name || ' &dir' from v$tempfile order by 1;
--生成ws.sql的脚本
spool off
shutdown immediate
--运行ws.sql的脚本
@&ws
startup
--编程的技巧
--spool可以生成脚本用的,他是输出select的结果,而成为一个脚本
--手工的过程变成脚本
--hotbackup=open database backup
--这个时候需要用到archived redo log files
--热备也需要在数据库活动量小的情况下做
--一个表空间一个表空间进行备份
alter tablespace users
begin backup;
--查看数据库表空间情况
desc dba_tablespaces
select tablespace_name,contents from dba_tablespaces;
--查看表空间对应的数据文件的情况
desc dba_data_file
col file_name format a40
col tablespaces_name format a15
col file_name,tablespaces_name from dba_data_files;
--创建存放文件价
mkdir hb
--更改表空间于backup状态
alter tablespace example begin backup;
--备份该表空间对应的数据文件
!cp /u01/oradata/morewood/example01.dbf /tmp/hb
--结束backup状态
alter tablespace example end backup;
alter tablespaces  system begin backup;
!cp /u01/oradata/morewood/system01.dbf /tmp/hb
alter tablespace system end backup;
----------------------------------Chapter  10-User-Managed Backups(3)
--begin back状态到底做了些什么事情?
--三件事:表空间被checkpointed;
--checkpoint 的scn在数据文件中被冻结;
--所有的被改变的数据库备考到redologs中了;
--实验在backup状态仍然可以往数据文件中写数据
select tablespace_name from dba_tablespaces;
select file_name,tablespace_name from dba_data_files;
--创建一个实验用户
create user u1 identified by u1 default tablespace example;
grant connect,resource to u1;
conn u1/u1
创建见表
create table fruit(name varchar2(32));
insert into fruit values('orange');
commit;
select * from fruit;
--另一个session
show user;
--显示存储在第一个块上
select dbms_rowid.rowid_block_number(rowid) blk,name from fruit;
--显示每一个块的大小
show parameter db_block
!
ll
cd /u01/oradata/morewood/
ll
dd if=example01.dbf ibs=8192 skip=1011 count=1 | strings
dd if=example01.dbf ibs=8192 skip=1011 count=2 | strings
alter tablespace example begin backup;
--修改数据,做对比
update fruit set name = 'apple';
commit;
--确保数据写入了数据文件
alter system checkpoint;
!
ll
cd /u01/oradata/morewood/
--dd是读取指定字块,if是读取的文件名,ibs是每块的大小,按数据库中快的大小来
--skip跳过多少块,count读几数据,strings显示可以看到的字符
dd if=example01.dbf ibs=8192 skip=1011 count=2 | strings
--
desc v$backup;
select * from v$backup;
desc dba_data_files;
col filename a40
select file_id, file_name , tablespace_name from dba_data_files;
col tablespace_name format a10;
alter tablespace uers begin backup;
select * from v$backup;
--对应的数据文件变成active状态
--如果在backup状态,断电。会出现无法启动,报01110和01113错误
--应对
shutdown abort;
startup
select * from v$backup;
--如果报错是4号文件不能加载的话,具体情况具体应对。
alter database datafile 4 end backup;
alter database open;
----------------------------------Chapter  10-User-Managed Backups(4)
--数据结束备份状态,所有表空间都有效
alter database end backup;
--表空间变成只读的状态
alter tablespace query_data read only;
desc dba_tablespaces
select tablespace_name ,contents from dba_tablespaces;
alter tablespace example read only;
alter tablespace example read write;
--备份控制文件
alter database backup controlfile to '/tmp/con/c1.ctl';
alter database backup controlfile to trace;
show parameter dummp_dest;
!ls /u01/admin/morewood/udump
alter database backup controlfile to trace as '/tmp/con/c2.sql';
--使用dbverify
--检查文件是否损坏
dbv
dbv file=system01.dbf feedback=100
exit
select * from tina.fruit;
desc sys_dba_segs;
select segment_name,tablespace_id,header_file,header_block from sys_dba_segs where segment_name like '%FRUIT%';
col segment_name format a30
/
--也可以检查表空间
dev userid=system/oracle segment_id=4.4.395

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15681893/viewspace-731456/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-09-18

  • 博文量
    28
  • 访问量
    35362