make oracle on vagrant box
https://geraldonit.com/2018/06/11/creating-an-oracle-database-vagrant-box/
根据
生成两个vm,使用oraclelinux/7 , 分别是192.168.56.10 192.168.56.11
1 |
|
安装依赖
1 | yum install binutils compat-libstdc++-33 compat-libstdc++-33.i686 gcc gcc-c++ glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libaio libaio.i686 libaio-devel libaio-devel.i686 libXext libXext.i686 libXtst libXtst.i686 libX11 libX11.i686 libXau libXau.i686 libxcb libxcb.i686 libXi libXi.i686 make sysstat unixODBC unixODBC-devel zlib-devel elfutils-libelf-devel -y |
修改/etc/ssh/sshd_config
1 | X11forwarding yes |
退出终端
生成进入x终端的脚本
1 |
|
XQuartz中启动terminal,执行命令:
1 | ./whx.sh |
root用户执行:
1 | /home/vagrant/app/oraInventory/orainstRoot.sh |
master设置:
设置sid: whx
设置密码:zaq1XSW2
1 | export ORACLE_SID=whx |
slaver设置
设置sid: orcl
设置密码:zaq1XSW2
1 | export ORACLE_SID=orcl |
启动oracle
1 | dbstart $ORACLE_HOME |
下面开始试着主从复制
https://www.cnblogs.com/hooly/p/8178570.html
进入主从,分别执行
1 | sqlplus / as sysdba |
设置主数据库(whx )为归档mode (以as sysdba身份,可在sqlplus中执行)
(以as sysdba身份,可在sqlplus中执行)
查是否归档,如是归档,请忽略第3点
1 | SQL> archive log list; |
归档设置
1 | shutdown immediate; |
主/从数据新建stream管理用户(在主从数据库都执行以下操作)
1 | sqlplus / as sysdba; |
1 | sqlplus / as sysdba; |
主数据库新建连接从数据库的link
1 | create public database link orcl connect to strmadmin IDENTIFIED BY strmadmin |
从数据库新建连接主数据库的link
1 | create public database link whx connect to strmadmin IDENTIFIED BY strmadmin |
select sysdate from dual@whx
主数据库流队列创建 (可在plsql中的SQL中执行,登录名应为strmadmin)
1 | connect strmadmin/strmadmin |
提示:PL/SQL procedure successfully completed.
从数据库流队列创建
1 | connect strmadmin/strmadmin --以strmadmin身份,登录从数据库。 |
提示:PL/SQL procedure successfully completed.
主数据库创建捕获进程
1 | connect strmadmin/strmadmin |
提示:PL/SQL procedure successfully completed.
从数据库实例化strmadmin用户 (这两个路径须一致)
1 | exp strmadmin/strmadmin@whx file='/home/vagrant/crm.dmp' object_consistent=y rows=y |
这个执行失败
1 | EXP-00056: ORACLE error 12154 encountered |
修改 /home/vagrant/app/vagrant/product/11.2.0/dbhome_1/network/admin/tnsnames.ora增加 WHX部分内容
1 |
|
然后导出正常。
在从数据库新建strmadmin
1 | imp strmadmin/strmadmin@orcl file='/home/vagrant/crm.dmp' ignore=y commit=y streams_instantiation=y full=y |
主数据库创建传播进程
1 | connect strmadmin/strmadmin |
注意:此段语句执行可能会报错,如果报错,不用管,继续执行后面的。
修改propagation休眠时间为0,表示实时传播LCR,latency以秒为单位
1 | begin |
从数据创建应用进程
1 | connect strmadmin/strmadmin |
启动Stream
从数据库启动应用进程
1 | connect strmadmin/strmadmin |
主数据库启动捕获进程
1 | begin |
现在就可以进行测试了,在whx用户中作何一个测试表新增数据,删除数据,增加表,修改表结构,进行同步测试