深度对比Oracle与SQL Server 联系客服

发布时间 : 星期一 文章深度对比Oracle与SQL Server更新完毕开始阅读0b7d1f64910ef12d2bf9e79f

alter tablespace tbs_name resize n {k|m|g|t}

12. 修改表空间:修改bigfile文件的区自动扩展模式:

alter tablespace tbs_name autoextend {off|on [next n maxsize [m|unlimited]]}

13. 修改表空间:修改temporary空间的组模式:

alter tablespace tbs_name group {group_name|‘’}

14. 修改表空间:在permanent 和 temporary模式间转换,转化前需要考虑temporay表空间的诸多限制,否则不会成功:

alter tablespace tbs_name {permanent|temporary}

15. 修改表空间:修改是否在线backup模式:

alter tablespace tbs_name {begin|end} backup

16. 修改表空间:修改读、写模式:

alter tablespace tbs_name read {only|write}

17. 设置默认表空间:

alter database set default [temporary] tablespace tbs_name

18. 删除表空间:

drop tablespace tbs_name [including contents [{and|keep} datafiles]][cascade contraints]

19. omf管理方式:

只要设置db_create_file_dest即可。并且可以和用户定义方式混合使用。 20. 查询表空间的基本信息:

select * from dba_tablespaces;select * from v$tablespace;

21. 查询表空间数据文件的基本信息:

select * from dba_data_files; select * from v$datafile;

22. 查询temporary表空间、数据文件的基本信息:

select * from dba_temp_files;select * from v$tempfile; select * from dba_tablespace_groups;

23. 修改数据库:修改数据、临时文件的大小,不限于bigfile或smallfile:

alter database {datafile|tempfile} file-spec,.. resize n {k|m|g|t}..

24. 修改数据库:修改数据、临时文件的区自动扩展模式,不限于bigfile或smallfile:

alter database {datafile|tempfile} file-spec,.. autoextend {off|on [next n maxsize [m|unlimited] ]}

25. 修改数据库:移动、重命名文件:

alter database rename filefile-spec,.. tofile-spec,..

26. 修改数据库:联机、脱机文件,如果是datafile offline 可以选择 for drop:

alter database {datafile|tempfile} file-spec,.. {online|offline}

27. 修改数据库:删除tomporay文件:

alter database tempfile file-spec,.. drop[including datafiles]

28. 修改数据库:创建datafile文件:

alter database create datafile {file-spec,.. |newfilenumber} as {file-spec,.. | new}

29. 修改数据库:重命名redo文件:

alter database rename redo-file-spec,.. toredo-file-spec,..

30. 修改数据库:创建redo文件组:

alter database add [standby] logfile [group n]redo-file-spec,..

31. 修改数据库:创建redo文件组成员:

alter databaseadd [standby] logfile member redo-file-spec,... to group n

32. 修改数据库:删除redo文件组:

alter databasedrop [standby] logfile { redo-file-spec|group n}

33. 修改数据库:删除redo文件组成员:

alter databasedrop [standby] logfile member redo-file-spec,...

34. 修改数据库:创建物理、逻辑 standby controlfile文件:

alter database create [logical|physical] standby controlfile asctlfilespec [reuse]

35. 修改数据库:备份controlfile到指定的全路径文件:

alter database backup controlfile to ctlfilespec [reuse]

36. 修改数据库:备份controlfile到指定的、或默认的跟踪文件:

alter database backup controlfile to trace [asctlfilespec ] [reuse] [{resetlogs|noresetlogs}]

37. 修改数据库:删除redo文件组成员:

alter database drop logfile member redo-file-spec

3.4. Oracle数据库文件的管理

Oracle的数据库文件,用在以下语句上: 1. create database 2. alter database 3. create controlfile 4. create tablespace

5. alter tablespace

Oracle的数据库文件主要有两种类型:datafile_tempfile、redo_logfile。其主要区别在于:redo_logfile文件不能自动autoextend!

指定数据库文件的主要规范如下:

‘full_path_filename’ [size n][reuse][autoextend {off|on next maxsize {unlimited|m}}]

注意:

size 可以有多种文字单位{k|m|g|t|p|..},但是如果不指定单位,就是byte字节。

对于undo表空间的文件,必须指定size。其他的表空间如果文件已经存在或者使用 omf 可以不指定size。

如果忽略autoextend :

对于omf,如果指定了size 则禁止扩展;否则自动扩展; 对于用户定义的文件,禁止。

4. 实例、数据库和表空间

4.1. 实例

实例:数据库服务器中一个开拓单独提供数据管理服务。一个数据库系统可以创建多数据库实例。他们之间可以单独管理,可以有同字符集、用户模式、内存管理模式等等。

Oracle:实例用SID来标识,其内部管理的用表空间来划分; SQL Server:实例就是系统的服务,其内部使用库来管理。 对使用者来说两者最多大的区别,主要是管理模式不同。

SQL Server和Oracle之间第一个架构级别的差异就在于对实例(instance)和数据库(database)概念的定义了。

SQL Server中,实例一词用来代表一个包含了操作系统文件、内存结构、后台进程以及注册表信息的独立的应用服务。在Windows系统中用一个存在着停止和运行状态的服务来代表一个实例,当处于运行状态时,实例要占用一定的服务器内存以及生成一定数量的后台进程。

SQL Server实例的中心是数据库。一个SQL Server数据库指的是一个资料库以及操作数据所需要的程序代码,当实例没有运行时,实例中的数据库就不能够访问。

4.2. 数据库

SQL Server有两种数据库:系统数据库(system databases)和用户数据库(user databases)。在一个SQL Server实例安装完成之后,将会自动创建5个系统数据库:master, model, msdb, tempdb和resource。如果一个机器上面安装了多个SQL Server实例时,没有实例都会有自己单独的一套系统数据库。除了msdb数据库之外,其它数据库不能访问或是被损坏都会导致实例无法启动。相比之下用户数据库由DBA或者是开发人员在数据库实例安装完毕、系统数据库都启动之后所创建的,这些数据库中保存着公司的业务资料。

简而言之,一个SQL Server实例总是要包含一些数据库(尽管有时只是那些系统数据库),一个数据库也总是要有一个(且仅有一个)与之关联的实例。

从物理角度说,一个SQL Server数据库表现为存储于磁盘上面的一组操作系统文件的集合。数据库文件分为两种:数据文件(data file)和事务日志文件(transaction log file)。一个数据库至少要包含一个数据文件和一个事务日志文件,SQL Server数据库的资料主要是存在于数据文件中,事务日志文件用来记录发生在这些数据上面的变更记录,SQL Server在执行系统恢复的时候要用到它。一个数据文件或事务日志文件只能隶属于一个特定的数据库,不存在两个数据库共用一个数据文件或者是日志文件的情况。一个数据量很大的数据库可以使用多个数据文件,这些数据文件能够被逻辑的组合成一个称为文件组(file group)的逻辑组。

在Oracle中,这一切看起来都有点反着来了。当Oracle启动时,它和SQL Server一样要先占用一些服务器内存用于执行操作,这个内存区域——著名的SGA(System Global Area)——被分为数个不同的结构,在创建SGA的同时也会启动一系列的后台进程用于和SGA进行交互,在这里这些分配的内存空间和后台进程组合起来就是Oracle实例了。请注意现在我们没有见到数据库的影子还,实际上Oracle实例在没有数