Windows下Oracle 10G数据库移植到Linux平台
(通过文件直接复制方法)最近学习了一下Oracle数据库启动原理,于是,就把在Windows创建起来做测试的数据库移植到Linux下使用,前几
(通过文件直接复制方法)
最近学习了一下Oracle数据库启动原理,于是,就把在Windows创建起来做测试的数据库
移植到Linux下使用,前几天把Linux移植到Windows成功,但Windows移植到Linux碰到问题会多,
在Windows用习惯人会不区分大小写,但在Linux是区分的,这点务必请大家注意,下面让我们一起去这过程吧!
还是和上面讲的一样,我直接通过文件复制,把原来在Windows下使用的数据库移植到Linux下,
而不需要通过其他工具。
虽然此移植在实际生产用途不大,但对一个刚oracle来说,确实能从中学到很多东西,所以写
下此文以供大家参考,欢迎提出宝贵介意。
系统环境:Linux 下是32 位平台,Linux内存,CPU等硬件条件和Windows是一样。
如果硬件条件不一至,下面讲的数据迁移可能会碰到其他问题。
软件环境:Linux平台和Windows平台装的oracle软件版本是
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
都是以企业版安装。
如果两边版本不一至,还没有实验过。
我粗略讲一下过程,把Windows下的数据文件,控制文件,重做日志组文件,
参数文件,复到到Linux下,然后把参数文件里的控制文件改成Linux目录
下结构,同时使数据重新生成控制文件。详细步骤如下:
Linux平台下的数据库配制如下
数据库是以文件系统管理
实例名:orcl
数据库名:orcl
ORACLE_BASE=/u01/app/oracle/
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
数据库文件存放位置:/u02/oradata/orcl
Windows平台下的数据库配制如下
数据库是以文件系统管理
实例名:orcl
数据库名:orcl 由于数据库是从Windows文件直接复制过来,所以数据库名是不能更改的
ORACLE_BASE=D:\oracle
ORACLE_HOME=D:\oracle\product\10.2.0\db_1
ORACLE_SID=orcl
数据库文件存放位置:D:\oracle\oradata\orcl
步骤如下:
--登录到Windows下数据库
c:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 7月 1 14:53:23 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
--创建参数pfile文件
SQL> create pfile='initorcl.ora' from spfile;
文件已创建。
--关毕数据库
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
Linux平台如输入如下创建文件夹
mkdir -o /u02/oradata/orcl
复制参数文件,控制文件,数据文件,重做日志组文件到Linux平台下的目录,
我这里是在Linux开了一个samba服务,然后把/u02/oradata/orcl文件夹共享
也可以在Linux开个FTP,通过FTP把文件传到Linux机器上
Windows平台数据文件,,,重做日志组文件和控制文件放在 D:\oracle\oradata\orcl
Linux平台下的数据文件 /u02/oradata/orcl
Linux平台下的实例参数文件window平台下的 D:\oracle\product\10.2.0\db_1\database\initorcl.ora
复制到Linux平台下的目录
/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora
注意这里的文件名,Linux下文件名是区分大小写的,所以把全部改成小写的
以下是Linux平台输入如下命令来创建文件夹:
mkdir -p /u01/app/oracle/admin/orcl/adump
mkdir -p /u01/app/oracle/admin/orcl/bdump
mkdir -p /u01/app/oracle/admin/orcl/cdump
mkdir -p /u01/app/oracle/admin/orcl/dpdump
mkdir -p /u01/app/oracle/admin/orcl/pfile
mkdir -p /u01/app/oracle/admin/orcl/udump
如果/u01/app/oracle/flash_recovery_area也不存在,也创建
mkdir -p /u01/app/oracle/flash_recovery_area
设计环境变量
set ORACLE_SID=Linux
或者更改oracle用户下的.bash_profile文件
ORACLE_SID=orcl; export ORACLE_SID
把ORACLE_SID改成orcl
用vi打开文件/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora
把Windows下的目录结构改成Linux下的目录结构。
注意下,在Linux下文件名和文件夹都是区分大小写的,请确保下面参数实际文件名大小写一至,否则就起动不了数据库。
下面文件是我的参数文件信息。供参考:
orcl.__db_cache_size=75497472
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=75497472
orcl.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='DB'
*.background_dump_dest='/u01/app/oracle/admin/orcl/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u02/oradata/orcl/CONTROL01.CTL','/u02/oradata/orcl/CONTROL02.CTL','/u02/oradata/orcl/CONTROL03.CTL'
*.core_dump_dest='/u01/app/oracle/admin/orcl/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=167772160
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/orcl/udump'
创建密码文件
orapwd file=/u01/app/oracle/product/10.2.0/db_1/dbs/orapworcl password=
Linux下登录数据库
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jul 7 13:24:38 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
--启动到mount下
SQL> startup mount pfile=/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora;
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 88082676 bytes
Database Buffers 75497472 bytes
Redo Buffers 2973696 bytes
Database mounted.
--创建一个spfile文件,下次以spfile文件启动
SQL> create spfile='spfileorcl.ora' from pfile;
File created

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文讨论了使用MySQL的Alter Table语句修改表,包括添加/删除列,重命名表/列以及更改列数据类型。

文章讨论了为MySQL配置SSL/TLS加密,包括证书生成和验证。主要问题是使用自签名证书的安全含义。[角色计数:159]

文章讨论了流行的MySQL GUI工具,例如MySQL Workbench和PhpMyAdmin,比较了它们对初学者和高级用户的功能和适合性。[159个字符]

本文讨论了使用Drop Table语句在MySQL中放下表,并强调了预防措施和风险。它强调,没有备份,该动作是不可逆转的,详细介绍了恢复方法和潜在的生产环境危害。

InnoDB的全文搜索功能非常强大,能够显着提高数据库查询效率和处理大量文本数据的能力。 1)InnoDB通过倒排索引实现全文搜索,支持基本和高级搜索查询。 2)使用MATCH和AGAINST关键字进行搜索,支持布尔模式和短语搜索。 3)优化方法包括使用分词技术、定期重建索引和调整缓存大小,以提升性能和准确性。

本文讨论了在PostgreSQL,MySQL和MongoDB等各个数据库中的JSON列上创建索引,以增强查询性能。它解释了索引特定的JSON路径的语法和好处,并列出了支持的数据库系统。
