1.多路複用數據庫的控制文件
SQL> show parameter control_files;
SQL> alter system set control_files='/u01/oradata/wilson/control01.ctl','/u01/oradata/wilson/control02.ctl','/u01/oradata/wilson/control03.ctl','/u01/oradata/wilson/control04.ctl' scope=spfile;
rm control04.ctl
==========================================================================
2.多路複用數據庫的日誌文件成員
--獲取當前數據庫日誌文件信息
SQL> select group#,sequence#,members,status from v$log;
GROUP# SEQUENCE# MEMBERS STATUS
---------- ---------- ---------- ----------------
1 20 1 INACTIVE
2 21 1 INACTIVE
3 22 1 CURRENT
select * from v$logfile
====================================================================================
3.對日誌做多路複用
對第一組的日誌文件成員做多路複用
SQL>alter database add logfile member '/u01/app/oradata/orcl/redo01b.log' to group1;
查詢相關數據字典重新獲取聯機日誌相關信息:
SQL> col member format a30;
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER
---------- ------------------------------ ------- ------------------------------
IS_
---
########## ONLINE /u01/oradata/wilson/redo03.log
NO
########## STALE ONLINE /u01/oradata/wilson/redo02.log
NO
########## STALE ONLINE /u01/oradata/wilson/redo01.log
NO
GROUP# STATUS TYPE MEMBER
---------- ------------------------------ ------- ------------------------------
IS_
---
########## INVALID ONLINE /u01/oradata/wilson/redo01b.lo
g
NO
--獲取當前數據庫日誌文件信息
SQL> select group#,count(member) from v$logfile
2 group by group#
3 ;
GROUP# COUNT(MEMBER)
---------- -------------
1 2
2 1
3 1
SQL> select group#,sequence#,members,status from v$log;
GROUP# SEQUENCE# MEMBERS STATUS
---------- ---------- ---------- ----------------
1 20 2 INACTIVE
2 21 1 INACTIVE
3 22 1 CURRENT
4.給數據庫添加一組日誌文件
SQL> alter database add logfile group 4 ('/u01/oradata/wilson/redo4b.log') size 50M;
SQL> select group#,member from v$logfile order by group#;
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
1
/u01/oradata/wilson/redo01.log
1
/u01/oradata/wilson/redo01b.log
2
/u01/oradata/wilson/redo02.log
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
3
/u01/oradata/wilson/redo03.log
4
/u01/oradata/wilson/redo4b.log
==============================================================================
5.日誌文件重命名,或者是重定位
首先,獲取數據庫日誌文件信息,並關閉數據庫
SQL> select group#,sequence#,members,status from v$log;
GROUP# SEQUENCE# MEMBERS STATUS
---------- ---------- ---------- ----------------
1 20 2 INACTIVE
2 21 1 INACTIVE
3 22 1 CURRENT
4 0 1 UNUSED
SQL> select group#,member from v$logfile order by 1;
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
1
/u01/oradata/wilson/redo01.log
1
/u01/oradata/wilson/redo01b.log
2
/u01/oradata/wilson/redo02.log
1) SQL>shutdowm immediate;
2) [oracle@oracle wilson]$ mv redo01.log newlog/
3) SQL> startup mount;
ORACLE instance started.
4) SQL> alter database rename file '/u01/oradata/wilson/redo01.log' to '/u01/oradata/wilson/newlog/redo01.log';
Database altered.
5) alter database open
6) SQL> select group#,member from v$logfile order by 1;
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
1
/u01/oradata/wilson/newlog/redo01.log
1
/u01/oradata/wilson/redo01b.log
7)SQL> select group#,member from v$logfile
2 order by group#
3 ;
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
1
/u01/oradata/wilson/newlog/redo01.log
1
/u01/oradata/wilson/redo01b.log
2
/u01/oradata/wilson/redo02.log
=================================================
方法二
alter system switch logfile;
---查看日誌是否在使用
select l.group#,l.sequence#,l.status,lg.member from v$log l,v$logfile lg where l.group#=lg.group# order by 1
6 。手工創建新的表空間、數據文件
查詢dba_tablespaces獲取表空間相關信息(空間管理方式,段空間管
理方式)
SQL> select tablespace_name,extent_management,segment_space_management from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN SEGMEN
------------------------------ ---------- ------
SYSTEM LOCAL MANUAL
UNDOTBS1 LOCAL MANUAL
SYSAUX LOCAL AUTO
TEMP LOCAL MANUAL
USERS LOCAL AUTO
EXAMPLE LOCAL AUTO
6 rows selected.
開始創建一個新的表空間:
SQL> create tablespace test_tbs datafile '/u01/oradata/wilson/test_tbs.dbf' size 1m;
SQL> select tablespace_name,extent_management,segment_space_management,allocation_type from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN SEGMEN
TEST_TBS LOCAL AUTO
---創建一個表
SQL> create table test_tb(id number) tablespace test_tbs;
Table created.
SQL> select segment_name,tablespace_name,bytes,blocks from dba_extents where upper(tablespace_name)='TEST_TBS';
SEGMENT_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME BYTES BLOCKS
------------------------------ ---------- ----------
TEST_TB
TEST_TBS 65536 8
創建一個統一區大小(128K)的表空間(uniform_tbs):
create tablespace uniform_tbs datafile '/u01/oradata/wilson/uniform_tbs.dbf ' size 5m extent management local uniform size 128k;
在該表空間上創建一個表:
SQL> create table test_tb1 (id number,name varchar2(10)) tablespace uniform_tbs;
Table created.
查詢區分配大小
SQL> select segment_name,tablespace_name,bytes,blocks from dba_extents where upper(tablespace_name)='UNIFORM_TBS';
SEGMENT_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME BYTES BLOCKS
------------------------------ ---------- ----------
TEST_TB1
UNIFORM_TBS 131072 16
創建一個bigfile類型的表空間
create bigfile tablespace big_tbs datafile '/u01/oradata/wilson/big_tbs.dbf' size 5m;
查詢是否bigfile
SQL> select tablespace_name,extent_management,segment_space_management,allocation_type,bigfile from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN SEGMEN ALLOCATIO BIG
------------------------------ ---------- ------ --------- ---
SYSTEM LOCAL MANUAL SYSTEM NO
BIG_TBS LOCAL AUTO SYSTEM YES