出于兴趣,如果我要从SQL Server DBA过渡到Oracle,我将要做的主要学习或不学习的事情是什么?
我认为概念是相同的,区别只是编程语言,但我没有看到另一面。
出于兴趣,如果我要从SQL Server DBA过渡到Oracle,我将要做的主要学习或不学习的事情是什么?
我认为概念是相同的,区别只是编程语言,但我没有看到另一面。
Answers:
Oracle和SQL Server在体系结构和习惯上有许多差异,并且在文档中使用了几个关键术语。我这样做已经有很多年了,但是一些主要的惯用区别是:
Oracle没有与tempdb直接等效的文件。全局临时表是持久性实体,您不会像在SQL Server中使用临时表那样动态地创建它们。
惯用的PL / SQL比惯用的T-SQL具有更多的过程性。另一方面,PL / SQL具有支持快速游标操作(包括并行循环构造)的功能。通常,使用中间游标结果的方式类似于在SQL Server中使用临时表的排序方式。查找如何使用'%'获得游标变量类型中的某些多态性。
SQL * Plus是类似于SQLCMD的命令行工具。在原始安装上,可能只有您可用。如果要使用SSMS这样的GUI工具,则可以使用SQL Developer或第三方工具(例如TOAD)。TOAD非常昂贵。
了解回滚段的作用(在Oracle的MVCC中使用)和“快照太旧”错误的乐趣。
如有可能,获取一个metalink帐户。
阅读概念指南。它具有许多有用的入门信息。
表空间大致相当于文件组。
在Oracle中,SQL和嵌入在PL / SQL中的SQL方言不是完全一样的。
直到最近,Oracle才支持递归CTE。您可以使用CONNECT BY进行递归查询。
阅读RMAN的文档以了解如何进行备份。您可以做一些巧妙的技巧,例如将差异备份合并到单个可恢复的备份中。
系统数据字典具有表的“ ALL”,“ USER”和“ DBA”版本。“ USER_ ”显示登录名所拥有的对象。“ ALL_ ”显示登录名可以读取的所有对象。“ DBA_ *”是全局视图,但是您必须具有适当的权限才能看到它。与SQL Server相比,Oracle可能会更多地使用数据字典,因此请了解它。
群集表在Oracle中称为“索引排序表”。Oracle中的“聚集表”指的是一个非常不同的功能。在Oracle中,集群表是一种工具,它允许基于公共密钥混合主/明细表的物理存储。该功能并未广泛使用。
索引视图在Oracle中称为“物化视图”。他们的工作方式略有不同,有足够的细微差别值得提出自己的问题。
Oracle没有与SQL Server中的“数据库”等效的概念。在Oracle中,模式只是某些数据库对象的所有者。
PL / SQL具有称为“程序包”的显式模块结构。
查看使用序列而不是标识列。
在Oracle的旧版本(10g之前)中,获取查询计划有些麻烦。您必须创建一个表(格式正确)以将计划转储到该表,然后将查询“ EXPLAIN PLAN”放入表中以获取查询计划。然后,您可以将查询计划从表中取出。每个人和他们的狗都有最喜欢的查询计划查询。用谷歌搜索并找到一个,然后将其装上去品尝。10g添加了一个名为dbms_xplan的软件包,该软件包简化了查询计划的工作。
如果您在unix或linux主机上运行Oracle,那么对shell脚本有一定的了解不会对您有所帮助。
Oracle支持自主事务-您可以提交内部的自主事务,并期望它在父级回滚时保持提交状态。SQL Server嵌套事务不是真正的嵌套事务,并且具有不同的语义。您可以通过打开独立连接并通过该连接执行自主操作,在SQL Server中使用CLR存储过程来模拟此行为。
尽管Oracle确实销售OLAP服务器,报告工具和ETL工具,但Oracle附带的现成的BI工具较少。
Oracle捆绑了一个称为SQL * Loader的批量加载工具,其功能与bcp类似。
与SSIS最接近的等效项是Oracle Warehouse Builder(OWB),但这是一个单独的项目,不与基本系统捆绑在一起。
Oracle制造了一个称为Oracle Reports的报告工具,但该工具也未与基本系统捆绑在一起。这与Reporting Services最接近。
Oracle还制作了一个名为Discoverer的ROLAP工具。这是Oracle生产的与Report Builder最接近的产品。最新版本(“ Drake”)支持Oracle的OLAP引擎。
Oracle曾经有一个称为Express的OLAP产品。 他们曾一度将其构建到核心Oracle DBMS引擎中,将其本机数据结构存储在不透明的Blob中。它与Express并不完全兼容,并且具有专有接口,而第三方OLAP前端工具几乎没有支持。
Oracle BI Enterprise Edition曾经是Siebel Analytics。它具有一些OLAP功能,但我并不熟悉。也许有人使用它可能要发表评论。在没有直接承认Siebel是与自己的BI工具完全独立的产品的情况下,Oracle表示从Oracle BI Standard Edition到Enterprise Edition没有“升级路径”。请注意,标准和企业BI套件都是单独的产品,并且未与基本系统捆绑在一起。
实际上,与Oracle出售的SSAS最接近的是Essbase(以前称为Hyperion)。这是一个单独的产品,未与基本系统捆绑在一起。
毫不奇怪,业内专家认为甲骨文的商业智能策略简直是a花一现。
我可能无法想到OTOH的其他事情;我会根据他们的想法添加它们。
我们与Oracle和SQL Server一起工作,我们的DBA主管Michelle Malcher经常帮助同事进行这种过渡。基于这种经验,她写了一本书,标题为“ Microsoft SQL Server DBA的Oracle数据库管理(Oracle出版社)”。我喜欢这本书。
我不确定同事推荐这本书是否适合该网站。我不向米歇尔报告,而是领导一个开发团队。