如何同步oracle数据结构 (如何同步onenote笔记)
本文目录导航:
如何同步oracle数据结构
一、第一套打算
1、用新的建库脚本创立一套新的数据库,结构和类型都是新的;
2、用数据导入工具,将原数据库的数据导入到新的数控外面;
二、第二套打算
1、用新的建库脚本创立一套新的数据库,结构和类型都是新的;
2、用数据库结构同步工具,将老的数据库结构降级同步到新建的数据库上方;
两套打算必需都可行,重要在上班量和上班效率上方区别太大,导数据须要工具,可以用Sqlserver提供的DTS,有的结构变化大的须要对应字段相关,太费事;
所以我想到用数据库结构同步工具来启动,记得以前就用过这特性能,咱们可以在网上轻松找到oracle数据库客户端操作工具PLSQL Developer,这个工具除了对数据库启动日常的保养之外,还提供很多经常使用的性能,同步两个数据库的结构,就是其中一个,操作步骤如下:
1、关上PLSQL Developer进入新创立的数据库;
关上菜单如下图:
点击菜单--工具--比拟用户对象,进入如下图:
会列出所以的表,你可选用独自的表或许多个表同时操作,而后点击指标回话,会弹出要同步的数据库衔接对象窗口,输入用户名和明码等等,确定后点击右下角的比拟按钮,这样会出现如下的比拟窗口:
这时,会把不同之处用脚本列进去,只需点击左边的绿色对号,同步即可;
这样,结构一下就都改好了,很繁难。
教你怎么在两台MySQL数据库间成功同步_MySQL
做开发的时刻要做MySQL的数据库同步,两台装置一样的系统,都是FreeBSD5.4,装置了Apache 2.0.55和PHP 4.4.0,MySQL的版本是4.1.15,都是目前最新的版本。
1. 装置性能 两台主机,区分装置好MySQL,都装置在 /usr/local/MySQL 目录下(装置步骤省略,请参考相关文档),两台主机的IP区分是192.168.0.1和192.168.0.2,咱们把192.168.0.1作为master数据库,把192.168.0.2作为slave主机,咱们驳回单向同步的方式,就是master的数据是主的数据,而后slave被动去master哪儿同步数据回来。
两台主机的性能一样,咱们把关键的性能文件拷贝一下,自动的性能文件是在 /usr/local/MySQL/share/MySQL目录下,区分有 , , 等几个文家,咱们只是测试,经常使用就行了。
MySQL装置完后,自动的性能文件是指定在数据库寄存目录下的,咱们用的是4.1.X的,所以性能文件就应该在 /usr/local/MySQL/var 目录下,于是把性能文件拷贝过去: cp /usr/local/MySQL/share/MySQL/ /usr/local/MySQL/var/ 两台主机做相反的拷贝性能文件操作。
2. 性能Master主机 咱们要把192.168.0.1性能为主MySQL主机(master),那么咱们就要思考咱们须要同步那个数据库,经常使用那个用户同步,咱们这里为了繁难起见,就经常使用root用户启动同步,并且只须要同步数据库abc。
关上性能文件: vi /usr/local/MySQL/var/ 找到一下消息: # required unique id between 1 and 2^32 - 1# defaults to 1 if master-host is not set# but will not function as a master if omittedserver-id = 1 //1为master,2为salve 减少两行: sql-bin-update-same //同步方式binlog-do-db = abc //要同步的数据库 重启192.168.0.1的MySQL主机: /usr/local/MySQL/bin/MySQLadmin shutdown/usr/local/MySQL/bin/MySQLd_safe --user=MySQL & 3. 性能Slave主机 咱们的slave主机重要是被动去master主机同步数据回来,咱们编辑性能文件: vi /usr/local/MySQL/var/ 找到上方相似的消息: # required unique id between 1 and 2^32 - 1# defaults to 1 if master-host is not set# but will not function as a master if omittedserver-id = 1 把上方的server-id修正为2,同时减少一些消息: server-id = 2 //本MySQL是slave主机master-host = 192.168.0.1 //master主机的IPmaster-user = root //衔接master主机的用户master-password = //衔接master主机的明码master-port = 3306 //衔接端口master-connect-retry = 10 //重试次数replicate-do-db = abc //要同步的数据库log-slave-updates //同步的方式 重启192.168.0.2的MySQL主机: /usr/local/MySQL/bin/MySQLadmin shutdown/usr/local/MySQL/bin/MySQLd_safe --user=MySQL & 4. 测试装置 首先检查一下slave的主机日志: cat /usr/local/MySQL/var/xxxxx_err (xxx是主机名) 审核能否衔接反常, 看到相似这样的消息就成功了 11:42:40 MySQLd started 11:42:41 InnoDB: Started; log sequence number 0 /usr/local/MySQL/libexec/MySQLd: ready for : 4.1.15-log socket: /tmp/ port: 3306 Source distribution 11:42:41 [Note] Slave SQL thread initialized, starting replication in log FIRST at position 0, relay log ./new4-relay-bin. position: 11:43:21 [Note] Slave I/O thread: connected to master root@192.168.0.1:3306, replication started in log FIRST at position 4 在Master检查消息 /usr/local/MySQL/bin/MySQL -u root 检查master形态: MySQL> show master status; 检查Master下MySQL进程消息: MySQL> show processlist; 在slave上检查消息: /usr/local/MySQL/bin/MySQL -u root 检查slave形态: MySQL> show slave status; 检查slave下MySQL进程消息: MySQL> show processlist; 你再在master的abc库里建设表结构并且拔出数据,而后审核slave有没有同步这些数据,就能够审核出能否设置成功。
最后,假设有兴味的话,可以钻研一下双击热备份,或许一台master,多台slave的同步成功。
mysql如何成功两个数据库数据结构实时同步?
1、假设RDS上的数据没有出现增删改的操作的话,可以生成物理备份或许逻辑备份,而后将物理备份和逻辑备份经过Xtrabackup或许mysqldump将数据导入到自建库。
2、假设在物理备份曾经生成后关于数据库依然有增删改的操作的话,则须要您在复原物理备份后还须要追加后续的binlog文件,可以经过API/管理台失掉binlog文件去追加增量数据。
这里有一个十分须要留意的一点是在解压进去物理备份文件后除了数据和索引文件外还有失掉如下图中的一些文件。
因为在物理备份上运行binlog是须要记载binlog的pos点的,一切的RDS都是驳回主备架构保障高可用性的,为保障主库反常对外提供服务,备份操作是在从库上口头的,然而生成进去的binlog文件却既有或许是主库或许从库上生成(两个binlog文件的pos点是不分歧的)。提供应用户的也或许是这外面的恣意一份,因此在物理备份文件中给用户提供了两个binlog文件的pos点,如下图:
用户在运行binlog的时刻须要两个pos点都测试一下,哪个pos点可以在binlog中找到从这个pos点开局运行binlog。
3、用户想要将RDS上的增量数据同步在自建库的binlog上可以经常使用DTS的数据订阅性能,可以经过SDK生产增量数据即可再自己运行该数据。
文章评论