ITPub博客

首页 > 数据库 > Oracle > aix下oracle的空间使用

aix下oracle的空间使用

原创 Oracle 作者:sembh 时间:2010-07-25 20:13:32 0 删除 编辑

包括 系统表空间system,辅助表空间sysaux,两个还原表空间undotbs1和undotbs2,三个临时表空间temp,temp02,temp03,数据表空间test01,test02,test03,test04,test06和两个用户表空间users和example.

SQL>create tablespace test01 datafile '/db/oradata/orcl/test01.dbf' size 10M uniform size 64K;

SQL>create tablespace test02 datafile '/db/oradata/orcl/test02.dbf' size 10M autoallocate;

SQL>create tablespace test03 datafile '/db/oradata/orcl/test03.dbf' size 10M reuse autoextend on next 500K maxsize 100M;

SQL>alter system set db_create_file_dest = '/db/oradata/orcl';

SQL>create tablespace test04;

SQL>select tablespace_name,file_name from dba_data_files;

SQL>create bigfile tablespace test06 datafile '/db/oradata/orcl/test06.dbf'

size 20M autoextend on;

SQL>create undo tablespace undotbs2 datafile '/db/oradata/orcl/undotbs2.dbf'

size 10M autoextend on retention noguarantee;

SQL>create temporary tablespace temp02

tempfile '/db/oradata/orcl/temp02.dbf' size 10M autoextend on;

SQL>create temporary teblespace temp03

tempfile 'db/oradata/orcl/temp03.dbf' size 10M autoextend on

tablespace group tbs_group1;

SQL>alter tablespace temp02 tablespace group tbs_group1;

SQL>alter tablespace temp02 tablespace group '';

SQL>select * from dba_tablespace_groups;

SQL>select tablespace_name,contents,status from dba_tablespaces;

***********表空间扩容

SQL>alter tablespace users add datafile '/db/oradata/orcl/users02.dbf' size 50M;

SQL>alter database datafile '/db/oradata/orcl/users02.dbf' resize 100M;

SQL>alter database datafile '/db/oradata/orcl/users02.dbf' autoextend on next 50M maxsize 1000M;

#lslv lv1 --一个裸设备的配置信息

#extendlv -a ie -ex lv1 472 hdisk5 hdisk6 --为lv1扩展空间

*****************表空间维护

SQL>show user;

SQL>alter tablespace users offline;

SQL>select tablespace_name ,status from dba_tablespace where tablespace_name='USERS';

SQL>show user

SQL>alter tablespace users online;

SQL>select file_name,tablespace_name from dba_data_files

where tablespace_name='USERS';

SQL>alter database datafile '/db/oradata/orcl/users01.dbf' offline;

SQL>alter database datafile '/db/oradata/orcl/users01.dbf' online;

SQL>recover datafile '/db/oradata/orcl/users01.dbf';

SQL>alter database datafile '/db/oradata/orcl/users01.dbf' online;

SQL>alter tablespace USERS read only;

SQL>alter tablespace USERS read write;

SQL>alter tablespace USERS RENAME TO USERS01;

SQL>drop tablespace test01 including contents and datafiles;

SQL>drop tablespace temp01 including contents and datafiles;

SQL>drop tablespace undotbs2 including contents and datafiles;

**************还可以在OEM中 维护表空间

**********还原表空间管理

SQL>show parameter undo;

SQL>show parameter undo_tablespace;

SQL>create undo tablespace undotbs2 datafile '/db/oradata/orcl/undotbs02.dbf'

size 10M autoextend on;

SQL>alter system set undo_tablespace=undotbs2 scope=both;

SQL>drop tablespace undotbs1 uncluding contents and datafiles;

SQL>select tablespace_name from dba_tablespaces where contents='UNDO';

*********同样可以在OEM中管理还原表空间

********重做日志管理

牵涉到三方面:(1)日志组和日志成员的创建(2)日志组和日志成员的删除(3)日志切换和检查点

增加日志组前,需要考虑:

(1)日志文件的大小:10g,11g默认为50M,日志大小与用户业务系统的繁忙程序相关.日志的大小最好能承载数据库几十分钟的业务量.太小会造成日志组切换频繁;太大则导致系统恢复时间增长.

(2)日志组数目的多少:在发生日志切换时,一个可以使用的下一个日志组很重要.日志组少,可能会发生由于等待数据库归档等操作的完成,需要使用的下一个日志组不可用,造成性能故障.如果从告警文件内读到有checkpoint not complete等信息,表明日志组少。

SQL>col member format a30;

SQL>select a.group#,a.member,b.bytes/1024/1024 from v$logfile a,v$log b

where a.group# = b.group#; --显示3组

SQL>alter database add logfile 'db/oradata/orcl/redo04.log' size 50M; --添加组

SQL>alter database add logfile group 8

'db/oradata/orcl/redo08.log' size 50M;--加组

SQL>alter database add logfile member

'/db/oradata/orcl/redo01b.log' to group 1; --添加成员

SQL>alter database add logfile member

'/db/oradata/orcl/redo02b.log' to group 2; --添加成员

SQL>alter database add logfile member

'/db/oradata/orcl/redo03b.log' to group 3; --添加成员

SQL>alter database add logfile member

'/db/oradata/orcl/redo04b.log' to group 4; --添加成员

SQL>alter database add logfile member

'/db/oradata/orcl/redo08b.log' to group 8; --添加成员

SQL> alter system set db_create_file_dest = 'db/oradata/orcl/';

SQL>alter database add logfile group 9;

**********日志组和组成员的删除

SQL> alter database drop logfile member '/db/oradata/orcl/redo08b.log';

注意:如果要删除的日志成员是当前日志组的日志成员,则可以先进行一次日志切换,然后删除.如果这个日志成员是组里的最后一个成员,则不能执行删除操作.

SQL>alter database drop logfile group 8;

SQL>alter database clear logfile group 3; --重构日志组3的所有成员

*********控制文件管理

SQL>select name from v$controlfile; --显示3个

SQL>alter system set control_files='/db/oradata/orcl/control01.ctl','db/oradata/orcl/control02.ctl','db/oradata/orcl

control03.ctl','db/oradata/orcl/control04.ctl' scope=spfile;

SQL>shutdown immediate;

SQL>host cp /db/oradata/orcl/control01.ctl /db/oradata/orcl/control04.ctl;

SQL>startup;

SQL>select name from v$controlfile; --显示4个

$ rm /db/oradata/orcl/control04.ctl;

报错

SQL>host cp /db/oradata/orcl/control01.ctl /db/oradata/orcl/control04.ctl;

SQL>startup

成功启动

[@more@]

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

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

注册时间:2010-07-08

  • 博文量
    70
  • 访问量
    589245