ORACLE(Linux版本)實時同步資料到MYSQL(Linux版本)解決方案:OGG

程式設計師的貓 發表於 2022-01-14
MySQL Linux Oracle

本文采用介面安裝方式,適用於區域網遠端安裝Oracle和直接在Linux伺服器上安裝。

通過網際網路環境安裝沒有試驗過,網際網路環境採用靜默方式安裝比較好。

安裝的Oracle版本為:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

使用的Oracle安裝包:

p10404530_112030_Linux-x86-64_1of7.zip

p10404530_112030_Linux-x86-64_2of7.zip

目錄

一、修改配置檔案

1.1、修改/etc/security/limits.conf檔案,修改使用者的SHELL的限制。

1.2、修改/etc/pam.d/login 檔案。

1.3、修改linux核心,修改/etc/sysctl.conf檔案。

1.4、修改/etc/profile。

1.5、建立使用者和組。

1.6、建立資料庫軟體目錄和資料檔案存放目錄。

1.7、配置oracle使用者的環境變數。

1.8、上傳Oracle安裝檔案

1.9、解壓安裝檔案

二、安裝Oracle 11.2產品

三、資料庫建庫

四、配置監聽及本地網路服務

五、啟動Oracle服務和監聽器

一、修改配置檔案

1.1、修改/etc/security/limits.conf檔案,修改使用者的SHELL的限制。

  • 輸入命令:vi /etc/security/limits.conf,將下列內容加入該檔案。

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

  • 按Insert鍵進入編輯狀態,編輯完成後按Esc鍵退出編輯狀態,按鍵輸入英文冒號wq“:wq”儲存退出。不想儲存:按Esc鍵,然後按Ctrl+Z。

[[email protected] ~]# su - root

[[email protected] ~]# vi /etc/security/limits.conf

1.2、修改/etc/pam.d/login 檔案。

  • 輸入命令:vi /etc/pam.d/login,將下列內容加入該檔案。

session required /lib/security/pam_limits.so

session required pam_limits.so

1.3、修改linux核心,修改/etc/sysctl.conf檔案。

  • 輸入命令: vi /etc/sysctl.conf ,將下列內容加入該檔案。

fs.file-max = 6815744

fs.aio-max-nr = 1048576

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

  • 用#符號註釋掉原有的配置。

#kernel.shmmax = 68719476736

#kernel.shmall = 4294967296

  • 輸入命令:sysctl -p,使/etc/sysctl.conf配置檔案立即生效。

1.4、修改/etc/profile。

  • 輸入命令:vi /etc/profile,將下列內容加入該檔案。

if [ $USER = “oracle” ]; then

if [ $SHELL = “/bin/ksh” ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi

1.5、建立使用者和組。

  • 建立使用者組,輸入命令:

groupadd oinstall

groupadd dba

  • 建立oracle使用者,主組為oinstall,副組dba,輸入命令:

useradd -g oinstall -g dba -m oracle

  • 設定使用者oracle密碼,輸入兩次密碼,輸入命令:

passwd oracle

2.1.6、建立資料庫軟體目錄和資料檔案存放目錄。

mkdir /home/oracle/app

mkdir /home/oracle/app/oracle

mkdir /home/oracle/app/oradata

mkdir /home/oracle/app/oracle/product

  • 修改目錄許可權,更改目錄屬主為Oracle使用者所有,輸入命令:

chown -R oracle:oinstall /home/oracle/app

1.7、配置oracle使用者的環境變數。

  • 用命令su - oracle切換到oracle使用者下。

su - oracle

  • 輸入命令:vi .bash_profile,將下列內容加入該檔案。

umask 022

export ORACLE_BASE=/home/oracle/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

[[email protected] ~]# su - oracle

[[email protected] ~]$ vi .bash_profile

1.8、上傳Oracle安裝檔案

  • 上傳Oracle安裝檔案到Linux伺服器。

開啟Xshell,新建連線,輸入IP地址和埠,使用SSH協議連線。

輸入使用者名稱和密碼。

利用Xshell和Xftp工具上傳檔案,在Xshell中連線上Linux後,點選圖中紅色線框標註的圖示,開啟Xftp。

  • 上傳安裝檔案

p10404530_112030_Linux-x86-64_1of7.zip

p10404530_112030_Linux-x86-64_2of7.zip

  • 上傳到/tmp目錄下面。

1.9、解壓安裝檔案

  • 進入tmp目錄,使用unzip命令解壓檔案。

[[email protected] tmp]# cd /

[[email protected] /]# cd /tmp

[[email protected] tmp]# unzip p10404530_112030_Linux-x86-64_1of7.zip -d /tmp

[[email protected] tmp]# unzip p10404530_112030_Linux-x86-64_2of7.zip -d /tmp

  • 解壓完成後,在tmp目錄下會有一個database的資料夾。

二、安裝Oracle 11.2產品

  • 用命令su - oracle切換到oracle使用者,執行安裝命令./runInstaller,具體如下。

[[email protected] database]# su - oracle

[[email protected] ~]$ cd /tmp/database

[[email protected] database]$ DISPLAY=192.168.0.107:0.0

[[email protected] database]$ export DISPLAY

[[email protected] database]$ export

[[email protected] database]$ ./runInstaller

  • 如果是遠端連線Linux伺服器安裝,需要輸入命令

DISPLAY=192.168.0.107:0.0 //此處為本地電腦的IP地址,不是伺服器的IP地址

export DISPLAY //將安裝介面對映顯示到本地電腦

export //如果安裝介面出現亂碼,文字顯示不了,需要輸入該命令

如果是直接在Linux伺服器上安裝,則不需要輸入上面三行命令,只需要輸入

su - oracle

cd /tmp/database

./runInstaller

本文下面部分內容相似的地方都按此方式處理。

  • 執行安裝命令./runInstaller後,會顯示出如下資訊:

Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 25737 MB Passed

Checking swap space: must be greater than 150 MB. Actual 4090 MB Passed

Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-06-29_08-23-35PM. Please wait …[[email protected] database]$

  • 根據實際情況安裝缺少的元件。沒有的元件可以百度谷歌搜尋下載,然後上傳上去安裝,安裝好後點選Check Again按鈕進行檢查,安裝的版本適用就可以通過了。

rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm

rpm -ivh libaio-devel-0.3.105-2.x86_64.rpm

rpm -ivh elfutils-libelf-devel-0.152-1.el6.x86_64.rpm

rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

yum -y install libstdc++-devel*

yum -y install libstdc++-devel-4.4.7-11.el6.x86_64.rpm

yum install gcc-c++-*

  • 用root許可權執行2個shell指令碼,新開啟一個終端,輸入命令:

[[email protected] ~]# su - root

[[email protected] ~]# cd /home/oracle/oraInventory/

[[email protected] oraInventory]# sh orainstRoot.sh

顯示出下面類似資訊:

Changing permissions of /home/oracle/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

Changing groupname of /home/oracle/oraInventory to dba.

The execution of the script is complete.

[[email protected] oraInventory]# cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/

[[email protected] dbhome_1]# sh root.sh

顯示出下面類似資訊:

Performing root user operation for Oracle 11g

The following environment variables are set as:

ORACLE_OWNER= oracle

ORACLE_HOME=  /home/oracle/app/oracle/product/11.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:

Copying dbhome to /usr/local/bin …

Copying oraenv to /usr/local/bin …

Copying coraenv to /usr/local/bin …

Creating /etc/oratab file…

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

  • 執行完指令碼,再點選OK按鈕關閉視窗。

安裝完成。顯示出下面類似資訊。

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-06-29_07-37-00PM. Please wait …[[email protected] database]$ You can find the log of this install session at:

/home/oracle/oraInventory/logs/installActions2015-06-29_07-37-00PM.log

  • 檢驗安裝是否成功

使用命令su - oracle切換系統賬號,然後輸入sqlplus命令,使用system使用者和密碼登入。

[[email protected] ~]# su - oracle

[[email protected] ~]$ sqlplus

SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 30 11:06:50 2015

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Enter user-name: system

Enter password:

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

三、資料庫建庫

  • 在當前終端視窗中輸入命令dbca,彈出建庫介面。

[[email protected] database]$ dbca

[[email protected] dbhome_1]# dbca

-bash: dbca: command not found

  • 如果沒有彈出建庫介面,或找不到dbca命令。按前面方式執行完兩個指令碼,然後按如下操作進行。

[[email protected] bin]# su - oracle

[[email protected] ~]$ cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin

[[email protected] bin]$ DISPLAY=192.168.0.107:0.0

[[email protected] bin]$ export DISPLAY

[[email protected] bin]$ export

[[email protected] bin]$ ./dbca

  • 推薦設定統一的使用者密碼。

  • 點選Yes按鈕。

  • 設定資料庫字元編碼。

  • 建庫完成,點選Exit按鈕退出。

四、配置監聽及本地網路服務

  • 在當前終端視窗中輸入命令netca,彈出配置介面。

[[email protected] database]$ netca

[[email protected] dbhome_1]# netca

-bash: netca: command not found

  • 如果沒有彈出配置介面,或找不到netca命令。按如下操作進行。

[[email protected] bin]# su - oracle

[[email protected] ~]$ cd /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin

[[email protected] bin]$ DISPLAY=192.168.0.107:0.0

[[email protected] bin]$ export DISPLAY

[[email protected] bin]$ export

[[email protected] bin]$ ./netca

  • 點選Change Login按鈕,輸入使用者名稱和密碼,測試連線是否成功。

  • 配置監聽及本地網路服務完成。

##五、啟動Oracle服務和監聽器

  • 啟動Oracle服務服務

用su - oracle命令切換到Oracle使用者,然後輸入sqlplus “/as sysdba”連線上資料庫,再輸入命令startup。

[[email protected] ~]# su - oracle

[[email protected] ~]$ sqlplus “/as sysdba”

SQL> startup

  • 停止Oracle服務服務

用su - oracle命令切換到Oracle使用者,然後輸入sqlplus “/as sysdba”連線上資料庫,再輸入命令shutdown immediate。

[[email protected] ~]# su - oracle

[[email protected] ~]$ sqlplus “/as sysdba”

SQL> shutdown immediate

  • 檢查Oracle DB監聽器是否正常

用su - oracle命令切換到Oracle使用者,然後輸入命令lsnrctl status。

[[email protected] ~]$ lsnrctl status

  • 啟動監聽器

用su - oracle命令切換到Oracle使用者,然後輸入命令lsnrctl start。

[[email protected] ~]$ lsnrctl start

本作品採用《CC 協議》,轉載必須註明作者和本文連結
你還差得遠吶!