海鷗航際

          JAVA站
          posts - 11, comments - 53, trackbacks - 1, articles - 102
          概序

          Oracle數(shù)據(jù)庫作為一個(gè)大型的關(guān)系型數(shù)據(jù)庫,它與其他關(guān)系型數(shù)據(jù)庫相比,有許多個(gè)性的東西,下面作一個(gè)簡單的說明,其中包括我們?cè)谌粘_\(yùn)行和維護(hù)中可能用到的知識(shí),希望對(duì)大家有所幫助

          一、基本知識(shí)

          1、表空間對(duì)于數(shù)據(jù)庫是唯一性的,且要求每個(gè)數(shù)據(jù)庫最少有一個(gè)表空間。

          表空間可以分為系統(tǒng)表空間和非系統(tǒng)表空間、回滾段表空間;也可以分為用戶表空間和非用戶表空間,他們只是分類方式不同,其實(shí)實(shí)質(zhì)差不多;

          臨時(shí)表空間:臨時(shí)表空間并不包含真正的數(shù)據(jù),恢復(fù)的方法是刪除臨時(shí)表空間并重建即可.。系統(tǒng)表空間:如果備份不可用,則只能采用重建數(shù)據(jù)庫的方法 。

          表空間的大小可以根據(jù)需要和設(shè)備的情況進(jìn)行設(shè)置

          表空間可以簡單的理解為存放信息的空間,我們一般按如下順序進(jìn)行數(shù)據(jù)庫系統(tǒng)的創(chuàng)建:創(chuàng)建表空間---》修改表空間---》創(chuàng)建回滾段---》創(chuàng)建用戶和授權(quán)---》創(chuàng)建用戶表---》創(chuàng)建表索引,用戶只要按這個(gè)順序就可以建立自己的數(shù)據(jù)庫系統(tǒng)了,至于創(chuàng)建的數(shù)據(jù)庫是否有最佳的性能,我會(huì)在以后的文章中做專門的討論。表空間的建立可以用圖形用戶界面的方式很方便的建立,相信大家都會(huì),在這里我不進(jìn)行詳細(xì)的介紹,下面我把建表空間、修改表空間、建回滾段、創(chuàng)建用戶和授權(quán)、創(chuàng)建表、創(chuàng)建索引的SQL附后,請(qǐng)參考:

          2、控制文件在每個(gè)數(shù)據(jù)庫中必不可少,為了使數(shù)據(jù)庫的性能提高建議多建幾個(gè)控制文件,求要求放在不同的磁盤上。 ORACLE數(shù)據(jù)庫由數(shù)據(jù)文件,控制文件和聯(lián)機(jī)日志文件三種文件組成。由于磁盤空間的變化,或者基于數(shù)據(jù)庫磁盤I/O性能的調(diào)整等,數(shù)據(jù)庫管理員可能會(huì)考慮移動(dòng)數(shù)據(jù)庫文件。下面以UNIX平臺(tái)為例,分別討論三種數(shù)據(jù)庫文件的移動(dòng)方法

          不能被忽視的數(shù)據(jù)庫日志文件

          請(qǐng)注意日志文件在恢復(fù)數(shù)據(jù)庫時(shí)非常重要

          日志可分為在線日志和離線日志,在線日志能記錄每一個(gè)Oracle數(shù)據(jù)庫中所作的全部修改。一個(gè)在線日志由多個(gè)在線日志文件組成,每一個(gè)運(yùn)行的Oracle數(shù)據(jù)庫實(shí)例相應(yīng)地有一個(gè)在線日志,它與Oracle后臺(tái)進(jìn)程LGWR一起工作,立即記錄該實(shí)例所作的全部修改。離線日志是可選擇的·當(dāng)ORACLE填滿了在線日志文件后,就要進(jìn)行歸檔了。

          二、創(chuàng)建表空間、回滾段、用戶、表的語法

          1、創(chuàng)建表空間(這是在建數(shù)據(jù)庫時(shí)的第一步要做的工作,表空間好比容器,將數(shù)據(jù)庫的各種東西包含在里面)

          CREATE TABLESPACE test DATAFILE '/dev/test_name1' SIZE 1000M, '/dev/test_name2' SIZE 1000M , '/dev/test_name3' SIZE 1000M
          DEFAULT STORAGE ( INITIAL 64K NEXT 64K MAXEXTENTS UNLIMITED PCTINCREASE 50 );

          注意:這里沒有對(duì)表空間的擴(kuò)展進(jìn)行限制。

          2、修改表空間

          alter TABLESPACE ts_name1 add DATAFILE '/dev/name4' SIZE 1000M;

          3、回滾段

          CREATE ROLLBACK SEGMENT "RStest" TABLESPACE "Test_name"
          STORAGE ( INITIAL 16M NEXT 16M MAXEXTENTS UNLIMITED);

          注意不要建不同的大小的回滾段,因?yàn)镺RACLE不會(huì)自己挑選和需要最相符的回滾段

          4、創(chuàng)建用戶和授權(quán)

          CREATE USER test_user IDENTIFIED BY test_user
          DEFAULT TABLESPACE Test_name1 TEMPORARY TABLESPACE Test_name2;
          GRANT CONNECT TO test_user;
          GRANT DBA TO test_user;
          GRANT resource TO test_user;

          5、創(chuàng)建表

          create table test_name1
          (
          a NUMBER(10) not null,
          b NUMBER(10) null ,
          c NUMBER(3) defalut 0,
          d number(3) not null ,
          constraint PK_ test_user primary key (a)
          using index
          tablespace test_name1
          storage
          (
          initial 1m
          next 1m
          pctincrease 0
          )
          )
          pctfree 10
          tablespace test_name1
          storage
          (
          initial 1m
          next 1m
          pctincrease 0
          )
          partition by range(d)
          (partition part000 values less than (1) tablespace test_name1,
          partition part001 values less than (2) tablespace test_name1,
          )
          /

          6、創(chuàng)建索引

          create index id_tablename1 on test_name1 (f2)
          tablespace ts_name
          storage
          (
          initial 500k
          next 500k
          pctincrease 0
          )

          /

          三、查詢表空間

          select substr(a.TABLESPACE_NAME,1,10) TablespaceName,

          sum(a.bytes/1024/1024) totle_size,

          sum(nvl(b.free_space1/1024/1024,0)) free_space,

          sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0)) used_space,

          round((sum(a.bytes/1024/1024)-sum(nvl(b.free_space1/1024/1024,0)))*100/sum(a.bytes/1024/1024),2) used_percent

          from dba_data_files a,

          (select sum(nvl(bytes,0)) free_space1,file_id

          from dba_free_space

          group by file_id) b

          where a.file_id = b.file_id(+)

          group by a.TABLESPACE_NAME
          主站蜘蛛池模板: 休宁县| 临颍县| 稷山县| 调兵山市| 乌兰县| 桃园县| 蓝山县| 随州市| 土默特右旗| 雷山县| 河津市| 牟定县| 区。| 北海市| 封开县| 宜都市| 且末县| 洛扎县| 山丹县| 同仁县| 恭城| 德州市| 乌拉特后旗| 龙门县| 拉孜县| 沂南县| 华池县| 乌审旗| 南乐县| 浦江县| 镇雄县| 开封市| 岑溪市| 云林县| 涡阳县| 托克逊县| 如东县| 丰原市| 长寿区| 图木舒克市| 台北市|