SQL Server 移植到Oralce 项目实战
项目背景
移植一个现有系统到Oracle。原系统基于.Net Framework 1.1, SQL Server 2000数据库,数据操作基本全部使用Store Procedure,总数逾千,因此总体涉及的PL SQL 开发量比较大。
优先级高,开发时程短,参与人员多,是这个项目的显著特点。本人作为项目负责人,主要按照下列步骤进行,最终圆满达成目标。
第一步 评估
1. 确认需要移植的功能列表
2. 评估主要工作量
工作重点在于移植SQL Server SP到 Oracle Package,预估移植一个SP所需平均时间等
第二步 前期准备
1. 确定目标Oracle数据库的版本(Oracle10.1.0.5.0)和编码(ACTUTF8)
数据库的编码确定非常重要,由于原系统支持多语言存储,所以Oracle我们选择了ACTUTF8。这种编码对应的SQL Server 中,1个字符占3个字节。
2. Oracle 数据库设计(咨询Oracle DBA)
3. 评估技术难点,找解决方案
1) Identity栏位实现
使用Trigger
2) 临时表实现
使用Oracle的临时表(8i后已提供)
3) .Net Oracle驱动程序
采用ODP.NET
4. 确定SQL Server -> Oracle 表 / 栏位映射关系,形成SQL Server/Oracle 表对照文档
1) 一般原则,原对象的名称不做改变;
2) 栏位类型,字符类型 -> VARCHAR2, 数字类型 -> NUMBER(m, n);
3) 栏位长度,最大长度 *3, 保存固定长度ID的栏位长度不做变更;
4) 在Oracle 中建立对应表,通过SQL Server DTS导入基础数据
5. SP使用Package组织,并重新命名,形成SQL Server/Oracle SP对照文档。
因为Oracle 对象名称长度不能超过30,SQL Server 的SP长度普遍超过30,因此需要重新命名并分组。
6. &nb
相关文档:
--查询当前连接的实例名
select @@servername
--察看任何数据库属性
sp_helpdb master
--设置单用户模式,同时立即断开所有用户
alter database Northwind set single_user with rollback immediate
--恢复正常
alter database Northwind set multi_user
--察看数据库属性
sp_helpdb
--察看数据库恢复模式
sel ......
MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。
1. DBCC CHECKDB
重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。
use master
declare @databasename varch ......
作者 Haidong Ji 翻译 GoodKid
我们当中的大部分人工作在一个单一的 RDBMS 系统中,如 MSSQL, Oracle, or IBM DB2。然而,我们日益感觉到,我们正处于不同的数据库环境当中并且需要解决数据的互用性问题。
尽管主要的 RDBMS 厂商试图去遵循关系数据库模型原理,并且用非常小的差异去实现它们。另外,几乎主要的 ......
在SQL Server 2005数据库中实现自动备份的具体步骤:
1、打开SQL Server Management Studio
2、启动SQL Server代理
3、点击作业->新建作业
4、"常规"中输入作业的名称
5、新建步骤,类型选T-SQL,在下面的命令中输入下面语句(红色部分要根据自己的实际情况更改,D:\sql2005\\back\改为自己的 ......
SQL Server 2000的安全配置在进行SQL Server 2000数据库的安全配置之前,首先必须对操作系统进行安全配置,保证操作系统处于安全状态。然后对要使用的操作数据库软件(程序)进行必要的安全审核,比如对ASP、PHP等脚本,这是很多基于数据库的Web应用常出现的安全隐患,对于脚本主要是一个过滤问题,需要过滤一些类似&ld ......