oracle筆記

 

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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章