Oracle 基本知识及问题

上一篇 / 下一篇  2006-12-27 10:00:49 / 个人分类:oracle

Oracle 基本知识及问题

  Oracle数据库作为一个大型的关系型数据库,它与其他关系型数据库相比,有许多个性的东西,下面作一个简单的说明,其中包括我们在日常运行和维护中可能用到的知识,希望对大家有所帮助  

  一、基本知识  

  1、表空间对于数据库是唯一性的,且要求每个数据库最少有一个表空间。  

  表空间可以分为系统表空间和非系统表空间、回滚段表空间;也可以分为用户表空间和非用户表空间,他们只是分类方式不同,其实实质差不多;  

  临时表空间:临时表空间并不包含真正的数据,恢复的方法是删除临时表空间并重建即可.。系统表空间:如果备份不可用,则只能采用重建数据库的方法 。  

  表空间的大小可以根据需要和设备的情况进行设置  

  表空间可以简单的理解为存放信息的空间,我们一般按如下顺序进行数据库系统的创建:创建表空间---》修改表空间---》创建回滚段---》创建用户和授权---》创建用户表---》创建表索引,用户只要按这个顺序就可以建立自己的数据库系统了,至于创建的数据库是否有最佳的性能,我会在以后的文章中做专门的讨论。表空间的建立可以用图形用户界面的方式很方便的建立,相信大家都会,在这里我不进行详细的介绍,下面我把建表空间、修改表空间、建回滚段、创建用户和授权、创建表、创建索引的SQL附后,请参考:  

  2、控制文件在每个数据库中必不可少,为了使数据库的性能提高建议多建几个控制文件,求要求放在不同的磁盘上。 ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,数据库管理员可能会考虑移动数据库文件。下面以UNIX平台为例,分别讨论三种数据库文件的移动方法  

  不能被忽视的数据库日志文件  

  请注意日志文件在恢复数据库时非常重要  

  日志可分为在线日志和离线日志,在线日志能记录每一个Oracle数据库中所作的全部修改。一个在线日志由多个在线日志文件组成,每一个运行的 Oracle数据库实例相应地有一个在线日志,它与Oracle后台进程LGWR一起工作,立即记录该实例所作的全部修改。离线日志是可选择的·当 ORACLE填满了在线日志文件后,就要进行归档了。  

  二、创建表空间、回滚段、用户、表的语法  

  1、创建表空间(这是在建数据库时的第一步要做的工作,表空间好比容器,将数据库的各种东西包含在里面)  

  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 );

  

  注意:这里没有对表空间的扩展进行限制。  

  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);  

  注意不要建不同的大小的回滚段,因为ORACLE不会自己挑选和需要最相符的回滚段  

  4、创建用户和授权  

  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、创建表  

  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、创建索引  

  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


TAG: oracle

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 6662
  • 日志数: 15
  • 建立时间: 2006-12-07
  • 更新时间: 2007-01-11

RSS订阅

Open Toolbar