类似推荐
编辑推荐
全面解析Oracle与SQL Server迁移过程问题和解决方案。
内容简介
本书主要针对Oracle与SQL Server两种最常见的商业数据库之间相互迁移过程中所存在的问题进行全面介绍,并给出对应的解决方案,具体内容包括数据库的安装准备,架构比较,用户迁移,对象迁移,数据迁移,SQL迁移,事务差异,其他功能概述等。该本书不仅介绍了数据库的相关理论知识,还大量通过具体实例进行介绍,在理论及实践上对于读者都具有较大的参考价值。
章节目录
封面
扉页
版权信息
前言
目录
第1章 安装准备
1.1 服务器硬件及运行环境
1.2 版本选择
1.2.1 SQL Server的版本选择
1.2.2 Oracle的版本选择
1.3 安装注意事项
1.3.1 SQL Server的安装注意事项
1.3.2 Oracle的安装注意事项
1.4 客户端
1.4.1 安装
1.4.2 图形界面
1.5 命令行
1.5.1 SQL Server的命令行
1.5.2 Oracle的命令行
1.6 创建和删除实例
1.6.1 SQL Server的创建和删除实例
1.6.2 Oracle的创建和删除实例
1.7 卸载
1.7.1 SQL Server的卸载
1.7.2 Oracle的卸载
1.8 参数配置
1.9 补丁安装
1.9.1 SQL Server的补丁安装
1.9.2 Oracle的补丁安装
1.10 32位系统内存使用
1.11 防火墙对外端口
1.11.1 SQL Server的防火墙对外端口配置
1.11.2 Oracle的防火墙对外端口配置
1.12 帮助文件及售后服务
1.12.1 SQL Server的帮助文件及售后服务
1.12.2 Oracle的帮助文件及售后服务
1.13 异步I/O和裸设备
1.14 数据库的启动和停止
1.14.1 SQL Server的启动和停止
1.14.2 Oracle的启动和停止
第2章 数据库体系结构
2.1 DBMS①体系结构图
2.2 架构和所有者
2.2.1 SQL Server的架构和所有者
2.2.2 Oracle的架构和所有者
2.2.3 迁移建议
2.3 块(Block)/页(Page)
2.3.1 块/页的大小
2.3.2 管理可用空间
2.3.3 行链接/行溢出
2.3.4 行迁移/转接行
2.4 区(Extent)
2.4.1 区的大小和分布
2.4.2 最大读写量
2.4.3 对象初始分配的区
2.5 段(Segment)/堆(Heap)、索引(Index)
2.5.1 SQL Server堆和索引
2.5.2 Oracle段
2.6 数据文件
2.6.1 文件尺寸
2.6.2 自动增长
2.6.3 文件收缩/删除/脱机
2.6.4 移动物理文件位置
2.6.5 系统数据库改目录
2.6.6 裸设备
2.7 表空间(Table Space)/文件组(File Group)
2.7.1 在表空间/文件组中创建多个文件
2.7.2 Oracle表空间管理方式
2.7.3 默认表空间
2.7.4 表空间块尺寸
2.7.5 数据库收缩
2.7.6 删除表空间/文件组
2.7.7 只读文件组
2.7.8 只读数据库
2.7.9 脱机
2.7.10 表空间/数据库的传输
2.7.11 磁盘I/O压力分布
2.8 会话(Session)与进程/线程
2.8.1 Oracle会话与进程
2.8.2 SQL Server会话与线程
2.9 内存管理
2.9.1 Oracle的内存管理
2.9.2 SQL Server的内存管理
2.10 在线日志
2.10.1 Oracle的在线日志
2.10.2 SQL Server的在线日志
第3章 用户及授权
3.1 用户和登录名
3.1.1 SQL Server的用户和登录名
3.1.2 Oracle的用户
3.2 密码策略
3.2.1 SQL Server的密码策略
3.2.2 Oracle的密码策略
3.3 重命名
3.3.1 SQL Server的管理员重命名
3.3.2 Windows的管理员重命名
3.3.3 修改计算机名
3.3.4 Oracle:修改用户名
3.4 防止远程登录
3.4.1 SQL Server防止远程登录
3.4.2 Oracle防止远程登录
3.5 限制同一用户的并发登录
3.6 最高权限用户
3.7 角色及权限
3.7.1 相关语法
3.7.2 SQL Server中的预定义角色
3.7.3 Oracle中的预定义角色
3.7.4 自定义角色
3.8 权限管理示例
3.8.1 SQL Server架构权限
3.8.2 在SQL Server用户中模拟Oracle用户
3.8.3 与其他用户共享一个架构
3.8.4 让一个只读用户可以创建自己的视图
3.9 模块授权
3.9.1 SQL Server中的模块授权
3.9.2 Oracle中的模块授权
第4章 对象迁移
4.1 表
4.1.1 堆表
4.1.2 聚集索引表/索引组织表
4.1.3 聚簇表(Clustered Table)/稀疏列(Sparse Columns)
4.1.4 计算列/虚拟列
4.1.5 外部扩展表(Organization External)和文件流/表(FileStream/FileTable)
4.1.6 临时表
4.1.7 表变量
4.1.8 表移动到其他表空间/文件组
4.1.9 表的重建
4.1.10 check和default约束
4.1.11 删除表
4.1.12 按列授权
4.2 索引
4.2.1 索引名
4.2.2 函数索引和计算列
4.2.3 索引视图/视图索引
4.2.4 聚集索引/索引组织表上的非聚集索引
4.2.5 位图索引和反向索引
4.2.6 在线创建索引
4.2.7 包含性列(Included Columns)
4.2.8 重建索引,优化性能
4.2.9 将索引移动到其他表空间/文件组
4.2.10 筛选索引(Filtered Index)
4.2.11 NULL值处理
4.2.12 唯一值索引(Unique Index)
4.2.13 优化索引的使用
4.3 分区表
4.3.1 Oracle的分区方案
4.3.2 Oracle分区表的索引
4.3.3 在Oracle中将已有表转化为分区表
4.3.4 在Oracle中访问指定分区
4.3.5 Oracle中的分区维护
4.3.6 SQL Server的分区方案
4.3.7 SQL Server中分区表的建立
4.3.8 在SQL Server中查看分区表所有分区对应的文件组
4.3.9 SQL Server分区表的索引
4.3.10 SQL Server中将已有表转化为分区表
4.3.11 在SQL Server中访问指定分区
4.3.12 SQL Server的分区维护操作
4.3.13 滑动窗口方案
4.3.14 讨论
4.4 存储过程
4.4.1 编译
4.4.2 授权
4.4.3 事务
4.4.4 DDL语句
4.4.5 在线修改存储过程代码
4.4.6 出错处理
4.4.7 返回结果集
4.4.8 自治事务(Autonomous Transaction)
4.4.9 传输参数及变量定义
4.5 函数
4.5.1 使用DML语句
4.5.2 表值函数
4.6 物化视图/索引视图
4.6.1 Oracle物化视图
4.6.2 SQL Server索引视图
4.6.3 视图的刷新
4.7 触发器
4.7.1 DML触发器
4.7.2 语句级触发器
4.7.3 行级触发器
4.7.4 before/instead of型触发器
4.7.5 DDL触发器
4.7.6 数据库事件触发器
4.8 同义词
4.9 序列/自增长列
4.9.1 Oracle序列
4.9.2 SQL Server自增长列
4.9.3 SQL Server中的序列
第5章 数据迁移
5.1 字符类型
5.1.1 SQL Server和Oracle字符类型长度的比较
5.1.2 varchar 2和varchar
5.1.3 字符串的 ' ' 值与NULL
5.1.4 本地字符集
5.1.5 Unicode编码
5.1.6 相关函数
5.2 数据类型
5.2.1 Oracle中的数据类型
5.2.2 SQL Server中的数据类型
5.2.3 迁移建议
5.3日期型
5.3.1日期型的迁移
5.3.2 内部存储
5.3.3日期常量
5.4 大对象字段
5.4.1 SQL Server中的大对象字段
5.4.2 Oracle中的大对象字段
5.4.3 大对象字段的迁移
5.5 其他特殊类型
5.6 对象迁移工具
5.6.1 SQL Server的对象迁移工具
5.6.2 Oracle的对象迁移工具
5.7 数据迁移工具
5.7.1 SQL Server的数据迁移工具
5.7.2 Oracle的数据迁移工具
5.8 用户自定义数据类型
5.8.1 SQL Server中的自定义数据类型
5.8.2 Oracle中的自定义数据类型
5.9 where条件中数据类型的隐式转换
5.9.1 SQL Server中数据类型的隐式转换
5.9.2 Oracle中数据类型的隐式转换
第6章 SQL语句迁移(1)
6.1 SQL语法
6.1.1 SQL语句结尾的分号
6.1.2 "/"和go
6.1.3 标识符和别名
6.1.4 单步调试及信息输出
6.1.5 赋值
6.1.6 多字段匹配/赋值
6.1.7 CTE
6.1.8 指定使用索引
6.1.9 SQL语句的并行处理
6.1.10 模块加密
6.1.11 获得DML影响行数
6.1.12 获得客户端IP地址
6.1.13 Oracle伪列
6.1.14 仅获取部分输出/分页
6.1.15 动态(拼接)SQL
6.1.16 参数及绑定
6.1.17 修改对象的定义
6.2 字符串与函数
6.2.1 字符串的比较
6.2.2 排序
6.2.3 ''值与null值
6.2.4 转义字符
6.2.5 内置函数迁移
6.3 常用语句
6.3.1 insert
6.3.2 DML同时返回结果集
6.3.3 Delete数据后释放存储空间
6.3.4 分批delete大量数据
6.3.5 多表关联
6.3.6 删除表中所有行(truncate table)
6.3.7 层次查询子句(connect by)
6.3.8 合并(merge)
6.3.9 分组统计
6.3.10 透视和逆透视
6.3.11 批加载(bulk load)
第7章 SQL语句迁移(2)
7.1 编程
7.1.1 If语句
7.1.2 循环语句
7.1.3 游标
7.1.4 出错处理和抛出异常
7.1.5 程序包/程序集
7.1.6 与其他开发语言的集成
7.1.7 自定义聚合函数
7.1.8 合并多条记录中的同一个字符串字段
7.1.9 分解字符串为一张表
7.1.10 正则表达式
7.1.11 数据加密
7.2 维护
7.2.1 查看表的列信息
7.2.2 显示SQL的执行计划
7.2.3 统计信息的更新
7.2.4 管理视图
7.2.5 链接服务器(DBlink)
第8章 事务差异
8.1 事务级别标准
8.2 默认事务级别
8.2.1 无阻塞查询/快照事务
8.2.2 SQL Server设置快照事务为默认事务级别
8.2.3 SQL Server模拟Oracle默认事务操作
8.3 事务操作
8.3.1 显式事务/隐性事务
8.3.2 DDL语句与事务
8.3.3 语句块在语句出错时停止
8.3.4 匿名语句块
8.3.5 事务提交和回滚
8.3.6 事务保存点
8.3.7 锁等待(阻塞)
8.4 未能实现的事务等级
8.4.1 Oracle中实现一致读事务级别
8.4.2 自治事务
8.4.3 SQL Server利用脏读获得事务发起者的IP
8.5 锁
8.5.1 锁内存管理和锁升级
8.5.2 显式指定加锁的方式
8.5.3 查看会话、对象、SQL、事务和锁
8.5.4 跟踪锁分配
8.5.5 死锁检测
8.6日志
8.6.1 SQL Server日志
8.6.2 SQL Server中日志最小化
8.6.3 Oracle日志
8.6.4 Oracle中日志最小化
第9章 其他功能
9.1 性能监控
9.1.1 SQL Server的性能监控
9.1.2 Oracle的性能监控
9.2 资源管理
9.2.1 SQL Server的资源管理
9.2.2 Oracle的资源管理
9.3 数据压缩/列存储
9.3.1 Oracle中的数据压缩
9.3.2 SQL Server中的数据压缩
9.4 数据快速恢复
9.4.1 Oracle:闪回(Flashback)
9.4.2 Oracle的四种闪回方式
9.4.3 SQL Server的数据库快照(Database Snapshots)
9.4.4 优势对比
9.5 定时任务
9.5.1 Oracle中的定时任务
9.5.2 SQL Server中的定时任务
9.6 开发接口
9.6.1 ODBC/OCI
9.6.2 OLE DB
9.6.3.NET
9.6.4 Java
9.6.5 PHP
9.7 存储管理
9.7.1 Oracle的存储管理
9.7.2 SQL Server的存储管理
9.8 高可用性方案
9.8.1 SQL Server的高可用性方案
9.8.2 Oracle的高可用性方案
9.9 高性能方案(内存数据库)
9.9.1 SQL Server的高性能方案
9.9.2 Oracle的高性能方案
9.10 备份方案
9.10.1 SQL Server的备份方案
9.10.2 Oracle的备份方案
9.11 变更数据捕获
9.11.1 SQL Server的变更数据捕获
9.11.2 Oracle的变更数据捕获
9.12 邮件通知
9.12.1 SQL Server的邮件通知
9.12.2 Oracle的邮件通知
9.12.3 Buffer Pool Extension
参考文献
SQLServer与Oracle迁移指南是2019年由电子工业出版社出版,作者梅涛。
得书感谢您对《SQLServer与Oracle迁移指南》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。