ಫೈರ್‌ಬರ್ಡ್ 2.5 ಡೇಟಾಬೇಸ್‌ಗಳನ್ನು ODS12 ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಆನ್‌ಲೈನ್ ಪರಿವರ್ತನೆ (ಫೈರ್‌ಬರ್ಡ್ 3.0)

ಫೈರ್‌ಬರ್ಡ್‌ನ ಪ್ರತಿಯೊಂದು ಆವೃತ್ತಿಯು ಡೇಟಾಬೇಸ್ ಡಿಸ್ಕ್ ರಚನೆಯ ಸ್ವರೂಪದ ತನ್ನದೇ ಆದ ಆವೃತ್ತಿಯನ್ನು ಹೊಂದಿದೆ - O(n)D(isk)S(tructure). ಆವೃತ್ತಿ 2.5 ಸೇರಿದಂತೆ, ಫೈರ್‌ಬರ್ಡ್ ಎಂಜಿನ್ ಹಿಂದಿನ ಆವೃತ್ತಿಗಳ ODS ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದು, ಅಂದರೆ, ಹಳೆಯ ಆವೃತ್ತಿಗಳಿಂದ ಡೇಟಾಬೇಸ್‌ಗಳನ್ನು ಹೊಸ ಆವೃತ್ತಿಯಿಂದ ತೆರೆಯಲಾಗಿದೆ ಮತ್ತು ಹೊಂದಾಣಿಕೆ ಮೋಡ್‌ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ Firebird 3.0 ಎಂಜಿನ್ ತನ್ನದೇ ಆದ ODS ಆವೃತ್ತಿಯಲ್ಲಿ ಡೇಟಾಬೇಸ್‌ಗಳೊಂದಿಗೆ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. 12.0

3.0 ಗೆ ಬದಲಾಯಿಸಲು, 2.5 ರಿಂದ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬ್ಯಾಕಪ್/ರಿಸ್ಟೋರ್ ಮೂಲಕ ಹೊಸ ಸ್ವರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸಬೇಕು. ಸಹಜವಾಗಿ, ಡೇಟಾಬೇಸ್ ಅನ್ನು ಪರಿವರ್ತನೆಗಾಗಿ ಹಿಂದೆ ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ಭಾವಿಸುತ್ತೇವೆ - ಅಂದರೆ. ಫೈರ್‌ಬರ್ಡ್ 3.0 ನೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಮೆಟಾಡೇಟಾ ಮತ್ತು ಪ್ರಶ್ನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿದೆ.

ನೀವು ಪ್ರಮಾಣಿತ ವಿಧಾನವನ್ನು ಅನುಸರಿಸಿದರೆ, ಇದರರ್ಥ ನೀವು ಆವೃತ್ತಿ 2.5 ನಲ್ಲಿ ಬ್ಯಾಕಪ್ ಮಾಡಬೇಕಾಗಿದೆ, ನಂತರ 3.0 ಅನ್ನು ಸ್ಥಾಪಿಸಿ ಮತ್ತು ಮರುಸ್ಥಾಪನೆ ಮಾಡಿ. ನಿಮಗೆ ಸಾಕಷ್ಟು ಸಮಯವಿದ್ದರೆ ಈ ವಿಧಾನವು ಸ್ವೀಕಾರಾರ್ಹವಾಗಿದೆ, ಆದರೆ ದೊಡ್ಡ ಡೇಟಾಬೇಸ್‌ಗಳನ್ನು ಸ್ಥಳಾಂತರಿಸುವಾಗ ಅಥವಾ ಹಲವಾರು ಡಜನ್ ಡೇಟಾಬೇಸ್‌ಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಸ್ಥಳಾಂತರಿಸುವಾಗ, ಸಮಯ ಮುಗಿದಾಗ, ನೀವು ಸ್ಟ್ರೀಮ್ ಪರಿವರ್ತನೆಯನ್ನು ಬಳಸಬಹುದು, ಅದು 30-40% ವೇಗವಾಗಿರುತ್ತದೆ. ಇದನ್ನು ಹೇಗೆ ನಿಖರವಾಗಿ ಮಾಡುವುದು (ವಿಂಡೋಸ್ ಮತ್ತು ಲಿನಕ್ಸ್ ಅಡಿಯಲ್ಲಿ), ಕಟ್ ಅಡಿಯಲ್ಲಿ ಓದಿ.

ವಿಷಯಗಳನ್ನು ವೇಗಗೊಳಿಸಲು ನಾವು ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಎಂಬುದು ಸಾಮಾನ್ಯ ಕಲ್ಪನೆ:

gbak -b … база25 stdout | gbak -c … stdin база30

2.5 ರಿಂದ Gbak ರೇಖೀಯ ಸ್ವರೂಪದಲ್ಲಿ ಬ್ಯಾಕಪ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ ಮತ್ತು ಅದನ್ನು stdout ಗೆ ಕಳುಹಿಸುತ್ತದೆ, ಅದು ತಕ್ಷಣವೇ 3.0 ನಿಂದ stdin ಮೂಲಕ gbak ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಹೊಸ ಡೇಟಾಬೇಸ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.

ಸ್ಥಳೀಯ (ಫೈಲ್) ಪ್ರವೇಶ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಅಂತಹ ಪೈಪ್‌ಲೈನ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಇದು ಕಡ್ಡಾಯವಾಗಿದೆ, ಏಕೆಂದರೆ ನೆಟ್ವರ್ಕ್ ಪ್ರವೇಶ (ಲೋಕಲ್ ಹೋಸ್ಟ್ ಮೂಲಕವೂ) ಪ್ರಕ್ರಿಯೆಯನ್ನು ಗಮನಾರ್ಹವಾಗಿ ನಿಧಾನಗೊಳಿಸುತ್ತದೆ.

ಕೆಳಗೆ ನಾವು ವಿಂಡೋಸ್ ಮತ್ತು ಲಿನಕ್ಸ್‌ನ ವಿವರಗಳನ್ನು ನೋಡುತ್ತೇವೆ.

ವಿಂಡೋಸ್

ವಿಂಡೋಸ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ಫೈರ್‌ಬರ್ಡ್‌ನ ಸಂಪೂರ್ಣ ಸ್ವತಂತ್ರ ನಿರ್ಮಾಣವನ್ನು ಮಾಡುವುದು ಸುಲಭವಾದ ಮಾರ್ಗವಾಗಿದೆ. ಇದಕ್ಕಾಗಿ ನಾವು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇವೆ Firebird 2.5 ಎಂಬೆಡ್ ಆರ್ಕೈವ್, fbemded.dll ಅನ್ನು fbclient.dll ಎಂದು ಮರುಹೆಸರಿಸಿ, ಆರ್ಕೈವ್‌ನಿಂದ “ನಿಯಮಿತ” 2.5 ಉಪಯುಕ್ತತೆಯನ್ನು gbak.exe ಮತ್ತು (ಐಚ್ಛಿಕ) isql.exe ಸೇರಿಸಿ.

ಫೈರ್ಬರ್ಡ್ 3.0 ಬಳಸುತ್ತದೆ ಏಕ ಜೋಡಣೆ ಮತ್ತು ಯಾವುದೇ ಮಾರ್ಪಾಡು ಅಗತ್ಯವಿಲ್ಲ.

ಅತ್ಯಂತ ಕನಿಷ್ಠ ಆಯ್ಕೆಯು (ಇದು ಗುರಿ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ VS2008/VS2010 ರನ್‌ಟೈಮ್ ಲೈಬ್ರರಿಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲ) ಈ ಕೆಳಗಿನ ಫೈಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:

25/gbak.exe
25/fbclient.dll
25/firebird.conf
25/firebird.log
25/firebird.msg
25/ib_util.dll
25/icudt30.dll
25/icuin30.dll
25/icuuc30.dll
25/Microsoft.VC80.CRT.manifest
25/msvcp80.dll
25/msvcr80.dll

30/fbclient.dll
30/firebird.conf
30/firebird.msg
30/gbak.exe
30/ib_util.dll
30/icudt52.dll
30/icudt52l.dat
30/icuin52.dll
30/icuuc52.dll
30/msvcp100.dll
30/msvcr100.dll
30/intl/fbintl.conf
30/intl/fbintl.dll
30/plugins/engine12.dll

ಅನುಭವಿ ನಿರ್ವಾಹಕರು 2.5 intl/fbintl.dll ಮತ್ತು intl/fbintl.conf ಫೈಲ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿಲ್ಲ ಎಂದು ಗಮನಿಸಬಹುದು. ಇದು ನಿಜ, ಏಕೆಂದರೆ gbak ಸಂಪರ್ಕದ ಚಾರ್ಸೆಟ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ ಮತ್ತು ಚಾರ್ಸೆಟ್ಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ಪರಿವರ್ತಿಸುವುದಿಲ್ಲ, ಆದರೆ ಫೈರ್ಬರ್ಡ್ 3.0 ನ "ಸ್ವೀಕರಿಸುವ" ಭಾಗದಲ್ಲಿ ಸೂಚ್ಯಂಕಗಳನ್ನು ರಚಿಸುವಾಗ ಈ ಫೈಲ್ಗಳು ಅಗತ್ಯವಿದೆ.

Firebird 3.0 firebird.conf ನಲ್ಲಿ ಇದನ್ನು ಸೇರಿಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

ಅಲ್ಲದೆ, 2.5 ಮತ್ತು 3.0 ಗಾಗಿ ವಿಭಿನ್ನ IpcName ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಲು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ.

ಇತರ firebird.conf ನಿಯತಾಂಕಗಳ ಮೌಲ್ಯಗಳನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ, ನಾವು ಸರಳವಾದ ಪರಿಗಣನೆಯಿಂದ ಮುಂದುವರಿಯುತ್ತೇವೆ: ಡೇಟಾ ವರ್ಗಾವಣೆ ಹಂತದಲ್ಲಿ, gbak 2.5 ಒಂದು ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆ, ಮತ್ತು 3.0 ಇನ್ನೊಂದರಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆ, ನಂತರ 2.5 ಅದರ ಕೆಲಸವನ್ನು ಪೂರ್ಣಗೊಳಿಸುತ್ತದೆ ಮತ್ತು 3.0 ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಕಟ್ಟಡ ಸೂಚ್ಯಂಕಗಳು.

3.0 ರಲ್ಲಿ ಸೂಚ್ಯಂಕ ಕಟ್ಟಡದ ಹಂತವನ್ನು ವೇಗಗೊಳಿಸಲು, TempCacheLimit ಪ್ಯಾರಾಮೀಟರ್ನ ಗಾತ್ರವನ್ನು ~ 40% RAM ಗೆ ಹೆಚ್ಚಿಸಲು ಸೂಚಿಸಲಾಗುತ್ತದೆ (ಇದು ಮೀಸಲಾದ ಸರ್ವರ್ ಆಗಿದ್ದರೆ, ಸಹಜವಾಗಿ).

ಉದಾಹರಣೆಗೆ, ಸರ್ವರ್ 16 GB RAM ಅನ್ನು ಹೊಂದಿದ್ದರೆ, ನಂತರ ನೀವು ಹೊಂದಿಸಬಹುದು

TempCacheLimit=6G

ಸಹಜವಾಗಿ, ಈ ಮೌಲ್ಯವನ್ನು 64-ಬಿಟ್ ಫೈರ್ಬರ್ಡ್ 3 ಗೆ ಮಾತ್ರ ಹೊಂದಿಸಬಹುದು, ಏಕೆಂದರೆ ಯಾವುದೇ 32-ಬಿಟ್ ಪ್ರಕ್ರಿಯೆಯು 2 ಗಿಗಾಬೈಟ್ಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಮೆಮೊರಿಯನ್ನು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.

2.5 ಕ್ಕೆ, ಈ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿಲ್ಲ - ಇದು ಹೇಗಾದರೂ 2 ಗಿಗಾಬೈಟ್ಗಳಿಗಿಂತ ಹೆಚ್ಚು ಇರುವಂತಿಲ್ಲ, ಮತ್ತು ಬ್ಯಾಕ್ಅಪ್ ಸಮಯದಲ್ಲಿ ಅದು ವೇಗವನ್ನು ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.

ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುವ ಮೊದಲು, ಡೇಟಾಬೇಸ್ ಹೆಡರ್ನಲ್ಲಿನ ಪುಟ ಸಂಗ್ರಹವನ್ನು 0 (ಕಮಾಂಡ್) ಗೆ ಹೊಂದಿಸಲಾಗಿದೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬೇಕು gstat -h databasename, ಪುಟ ಬಫರ್‌ಗಳ ಸಾಲನ್ನು ನೋಡಿ).

ಡೇಟಾಬೇಸ್ ಹೆಡರ್‌ನಲ್ಲಿ ಸಂಗ್ರಹವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಹೊಂದಿಸಿದ್ದರೆ, ಅದು firebird.conf (ಮತ್ತು 3.0 ರಲ್ಲಿ databases.conf) ನಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಅತಿಕ್ರಮಿಸುತ್ತದೆ ಮತ್ತು ಅನುಚಿತವಾಗಿ ದೊಡ್ಡ ಮೌಲ್ಯಗಳ ಸಂದರ್ಭದಲ್ಲಿ, ಇದು ಅನಗತ್ಯ ಮೆಮೊರಿ ಬಳಕೆಗೆ ಕಾರಣವಾಗಬಹುದು ಮತ್ತು ಸ್ವಾಪ್ನಲ್ಲಿ ಸಂಗ್ರಹಣೆ.

ಮುಂದೆ, ಗುರಿ ವ್ಯವಸ್ಥೆಗೆ ಫೈಲ್ಗಳನ್ನು ನಕಲಿಸಿ.

ಫೈರ್ಬರ್ಡ್ 2.5 "ಸಿಸ್ಟಮ್" ಸೇವೆಯನ್ನು ನಿಲ್ಲಿಸಿದ ನಂತರ ಪರಿವರ್ತನೆಯನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ, ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ಸ್ಥಳೀಯ ನಿರ್ವಾಹಕರಿಗೆ (ಉದಾಹರಣೆಗೆ) ಎತ್ತರದ ಹಕ್ಕುಗಳೊಂದಿಗೆ:

set ISC_USER=владелец
"25/gbak" -z -b -g -v -st t -y 25.log база25 stdout|^
"30/gbak" -z -c -v -st t -y 30.log stdin база30

ಈ ಉದಾಹರಣೆಯು ಉದ್ಧರಣ ಚಿಹ್ನೆಗಳಲ್ಲಿ "ಫಾರ್ವರ್ಡ್ ಸ್ಲ್ಯಾಷ್" ಅನ್ನು ಬಳಸುತ್ತದೆ (ಮಾನ್ಯ "ಯುನಿಕ್ಸ್-ಶೈಲಿ"), ಮತ್ತು "ಹ್ಯಾಟ್" ("^" ಅಕ್ಷರ) ಲೈನ್ ಫೀಡ್ ಅಕ್ಷರದಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳುತ್ತದೆ, ಇದು ದೀರ್ಘ ಆಜ್ಞೆಗಳನ್ನು ಟೈಪ್ ಮಾಡುವಾಗ ಅನುಕೂಲಕರವಾಗಿರುತ್ತದೆ. -st(atus) ಆಯ್ಕೆಯು Firebird 2.5.8 ನಲ್ಲಿ ಕಾಣಿಸಿಕೊಂಡಿತು ಮತ್ತು gbak ಪ್ರಕ್ರಿಯೆಯ ಚಾಲನೆಯಲ್ಲಿರುವ ಸಮಯದ ಡೇಟಾವನ್ನು ಲಾಗ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ (ದಾಖಲೆಯಲ್ಲಿನ ವಿವರಗಳು).

ಲಿನಕ್ಸ್

ಲಿನಕ್ಸ್‌ನಲ್ಲಿ, ಫೈರ್‌ಬರ್ಡ್ 3 ಟೊಮ್ಯಾತ್ ಲೈಬ್ರರಿಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. CentOS (RHEL) ನಲ್ಲಿ ಈ ಗ್ರಂಥಾಲಯವು ಎಪೆಲ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿದೆ, ಉಬುಂಟು (ಡೆಬಿಯನ್) ನಲ್ಲಿ ಸಿಸ್ಟಮ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿದೆ.

CentOS ಗಾಗಿ ನೀವು ಮೊದಲು ಎಪೆಲ್ ರೆಪೊಸಿಟರಿಯನ್ನು ಸಂಪರ್ಕಿಸಬೇಕು ಮತ್ತು ನಂತರ ಮಾತ್ರ ಮಾಡಬೇಕು

yum install libtommath

ಉಬುಂಟು ಹೆಚ್ಚುವರಿ ರೆಪೊಸಿಟರಿಗಳನ್ನು ಸಂಪರ್ಕಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಉಬುಂಟು 16 ಮತ್ತು ಉಬುಂಟು 18 ಪ್ಯಾಕೇಜ್‌ಗಳ ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ಅನುಸ್ಥಾಪಿಸುತ್ತದೆ - ಕ್ರಮವಾಗಿ libtommath0 ಮತ್ತು libtommath1.

Firebird 3.0 tommath.so.0 ಅನ್ನು ಹುಡುಕುತ್ತದೆ ಮತ್ತು ಉಬುಂಟು 18 ಗಾಗಿ tommath.so.0 ನಿಂದ tommath.so.1 ಗೆ ಸಿಮ್‌ಲಿಂಕ್ ಅನ್ನು ರಚಿಸುವ ಅಗತ್ಯವಿದೆ. ಇದನ್ನು ಮಾಡಲು, ನೀವು ಮೊದಲು tommath.so.1 ಅನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು.

ಉಬುಂಟುನಲ್ಲಿ ನೀವು ಹುಡುಕುತ್ತಿರುವ ಮಾರ್ಗ - /usr/lib/x86_64-linux-gnu/, ಆದರೆ ಇದು ಇತರ ಡೆಬಿಯನ್-ಆಧಾರಿತ ವಿತರಣೆಗಳಲ್ಲಿ ಭಿನ್ನವಾಗಿರಬಹುದು.

ಫೈರ್‌ಬರ್ಡ್ 3.0.1 ರವರೆಗೆ, ಸರ್ವರ್‌ನ ಎರಡು ವಿಭಿನ್ನ ಆವೃತ್ತಿಗಳನ್ನು ಸ್ಥಾಪಿಸಲು ಯಾವುದೇ ಸುಲಭವಾದ ಮಾರ್ಗವಿಲ್ಲ ಎಂಬ ಅಂಶದಿಂದ ಎರಡನೇ ಸಮಸ್ಯೆ ಉಂಟಾಗುತ್ತದೆ. ಅದರ ಸಾಪೇಕ್ಷ ಕಾರ್ಮಿಕ ತೀವ್ರತೆಯ ಕಾರಣದಿಂದ "ಅಗತ್ಯವಿರುವ ಪೂರ್ವಪ್ರತ್ಯಯದೊಂದಿಗೆ ಮೂಲಗಳಿಂದ ಕಂಪೈಲ್" ಆಯ್ಕೆಯನ್ನು ನಾವು ಪರಿಗಣಿಸುವುದಿಲ್ಲ.

Firebird 3.0.2 ಮತ್ತು ಹೆಚ್ಚಿನದಕ್ಕಾಗಿ ಅಳವಡಿಸಲಾಗಿದೆ -enable-binreloc ನೊಂದಿಗೆ ಕಟ್ಟಡ ಮತ್ತು ಪ್ರತ್ಯೇಕ ಅನುಸ್ಥಾಪಕ ಆಯ್ಕೆ (-ಪಥ ಪಥ).

tommath ಲೈಬ್ರರಿ ಮತ್ತು ಅಗತ್ಯವಿದ್ದಲ್ಲಿ, tommath.so.0 ಗಾಗಿ ಸಿಮ್‌ಲಿಂಕ್ ಅನ್ನು ಸಿಸ್ಟಮ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ ಎಂದು ಭಾವಿಸಿ, ನೀವು ಪ್ರಸ್ತುತ (ಈ ಲೇಖನವನ್ನು ಬರೆಯುವ ಸಮಯದಲ್ಲಿ) Firebird 3.0.4 ವಿತರಣೆಯನ್ನು ಸ್ಥಾಪಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, / opt/fb3:

./install.sh -path /opt/fb3

ಇದರ ನಂತರ, ನೀವು ಫೈರ್ಬರ್ಡ್ ಸಿಸ್ಟಮ್ ಸೇವೆಯನ್ನು ನಿಲ್ಲಿಸಬಹುದು ಮತ್ತು ಸ್ಟ್ರೀಮಿಂಗ್ ಪರಿವರ್ತನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು.

ಫೈರ್‌ಬರ್ಡ್ ಅನ್ನು ನಿಲ್ಲಿಸುವಾಗ, ಕ್ಲಾಸಿಕ್ ಮೋಡ್‌ನಲ್ಲಿ ಫೈರ್‌ಬಿಡ್ 2.5 ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ xinetd ನಿಂದ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ ಎಂದು ನೀವು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಬೇಕು - ಆದ್ದರಿಂದ, ನೀವು xinetd ಗಾಗಿ ಫೈರ್‌ಬರ್ಡ್ ಸೇವೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕು ಅಥವಾ xinetd ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ನಿಲ್ಲಿಸಬೇಕು.

ಲಿನಕ್ಸ್‌ನಲ್ಲಿ 3.0 ಗಾಗಿ firebird.conf ನಲ್ಲಿ, ನೀವು MaxUnflushed ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿಸುವ ಅಗತ್ಯವಿಲ್ಲ (ಅವು ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ) ಮತ್ತು Firebird 2.5 ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ.

ಲಿನಕ್ಸ್‌ನಲ್ಲಿ, ಫೈರ್‌ಬರ್ಡ್ 2.5 ರ ಸ್ಥಳೀಯ (ಫೈಲ್) ಪ್ರವೇಶವು ವಿಂಡೋಸ್ ಅಡಿಯಲ್ಲಿ ಎಂಬೆಡ್ ಆವೃತ್ತಿಗೆ ಸಮನಾಗಿರುವುದಿಲ್ಲ - ಸರ್ವರ್ 2.5 gbak ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ (ನೆಟ್‌ವರ್ಕ್ ಭಾಗವಿಲ್ಲದೆ) ರನ್ ಆಗುತ್ತದೆ, ಆದರೆ ಪ್ರವೇಶ ಹಕ್ಕುಗಳನ್ನು ಬಳಕೆದಾರ ನೆಲೆಯ ವಿರುದ್ಧ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಅಂದರೆ ನೀವು ಲಾಗಿನ್ ಮಾತ್ರವಲ್ಲ, ಪಾಸ್ವರ್ಡ್ ಕೂಡ ಅಗತ್ಯವಿದೆ:

export ISC_USER=username ISC_PASSWORD=password
/opt/firebird/bin/gbak -b … база25 stdout
|/opt/fb3/bin/gbak -c … stdin база30

ಯಶಸ್ವಿ ಪರಿವರ್ತನೆಯ ನಂತರ, ನೀವು ಮೊದಲು “ಹೆಚ್ಚುವರಿ” ಫೈರ್‌ಬರ್ಡ್ 3.0, ನಂತರ “ಮುಖ್ಯ” ಫೈರ್‌ಬರ್ಡ್ 2.5 ಅನ್ನು ತೆಗೆದುಹಾಕಬೇಕು ಮತ್ತು ಅದರ ನಂತರ ಫೈರ್‌ಬರ್ಡ್ 2.5 ನ ಕ್ಲೀನ್ ಸ್ಥಾಪನೆಯನ್ನು ನಿರ್ವಹಿಸಬೇಕು - ಎಲ್ಲಕ್ಕಿಂತ ಉತ್ತಮವಾದದ್ದು ಸ್ಟ್ಯಾಂಡರ್ಡ್ tar.gz ಸ್ಥಾಪಕದಿಂದ, ಮತ್ತು ರೆಪೊಸಿಟರಿಗಳ ಮೂಲಕ ಅಲ್ಲ, ಏಕೆಂದರೆ ರೆಪೊಸಿಟರಿಗಳಲ್ಲಿನ ಆವೃತ್ತಿಯು ವಿಳಂಬವಾಗಬಹುದು.

ಅಲ್ಲದೆ, ಲಿನಕ್ಸ್‌ನಲ್ಲಿ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸಿದ ನಂತರ ಮತ್ತು ಅದನ್ನು ಮರುಸ್ಥಾಪಿಸಿದ ನಂತರ, ಹೊಸ ಡೇಟಾಬೇಸ್ ಫೈರ್‌ಬರ್ಡ್ ಬಳಕೆದಾರರ ಒಡೆತನದಲ್ಲಿದೆಯೇ ಎಂದು ನೀವು ಪರಿಶೀಲಿಸಬೇಕು.

ಇದು ನಿಜವಾಗದಿದ್ದರೆ, ಅದನ್ನು ಸರಿಪಡಿಸಬೇಕಾಗಿದೆ

chown firebird.firebird database

ಫಲಿತಾಂಶ

ಸಮಯ ಮತ್ತು ಡಿಸ್ಕ್ ಜಾಗವನ್ನು ಉಳಿಸುವುದರ ಜೊತೆಗೆ, ಸ್ಟ್ರೀಮ್ ಪರಿವರ್ತನೆಯು ಮತ್ತೊಂದು ಪ್ರಮುಖ ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಿದೆ - ಡೇಟಾಬೇಸ್ ಪರಿವರ್ತನೆಯು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಫೈರ್ಬರ್ಡ್ 2.5 ಅನ್ನು ತೆಗೆದುಹಾಕದೆಯೇ ಮಾಡಲಾಗುತ್ತದೆ, ಇದು ಪರಿವರ್ತನೆಯು ವಿಫಲವಾದರೆ (ಹೆಚ್ಚಾಗಿ ಸ್ಥಳಾವಕಾಶದ ಕೊರತೆಯಿಂದಾಗಿ ಅಥವಾ ವಲಸೆ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಅನಿರೀಕ್ಷಿತ ರೀಬೂಟ್).

"ಕ್ಲಾಸಿಕ್" ಪರಿವರ್ತನೆಯು "ಬ್ಯಾಕಪ್ ಸಮಯ" ಜೊತೆಗೆ "ಸಮಯವನ್ನು ಮರುಸ್ಥಾಪಿಸಿ" ಎಂಬ ಅಂಶದಿಂದಾಗಿ ಸಮಯ ಉಳಿತಾಯವಾಗಿದೆ. ರಿಕವರಿ ಎರಡು ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ಬ್ಯಾಕಪ್ ಫೈಲ್‌ನಿಂದ ಡೇಟಾವನ್ನು ಓದುವುದು ಮತ್ತು ಸೂಚ್ಯಂಕವನ್ನು ನಿರ್ಮಿಸುವುದು.

ನಿರಂತರ ಪರಿವರ್ತನೆಯೊಂದಿಗೆ, ಒಟ್ಟು ಸಮಯವನ್ನು "ಬ್ಯಾಕಪ್ ಸಮಯ ಮತ್ತು ಐದು ರಿಂದ ಹತ್ತು ಶೇಕಡಾ" ಮತ್ತು "ಸೂಚ್ಯಂಕ ನಿರ್ಮಾಣ ಸಮಯ" ಎಂದು ಪಡೆಯಲಾಗುತ್ತದೆ.

ನಿರ್ದಿಷ್ಟ ಫಲಿತಾಂಶಗಳು ಡೇಟಾಬೇಸ್‌ನ ರಚನೆಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ, ಆದರೆ ಸರಾಸರಿ ಚೇತರಿಕೆಯ ಸಮಯವು ಸರಿಸುಮಾರು ಎರಡು ಬಾರಿ ಬ್ಯಾಕಪ್ ಸಮಯಕ್ಕೆ ಸಮಾನವಾಗಿರುತ್ತದೆ. ಆದ್ದರಿಂದ, ನಾವು ಬ್ಯಾಕಪ್ ಸಮಯವನ್ನು ಒಂದು ಘಟಕವಾಗಿ ತೆಗೆದುಕೊಂಡರೆ, ನಂತರ "ಶಾಸ್ತ್ರೀಯ ಪರಿವರ್ತನೆ" ಸಮಯ ಮೂರು ಘಟಕಗಳು ಮತ್ತು ನಿರಂತರ ಪರಿವರ್ತನೆಯು ಎರಡು ಘಟಕಗಳ ಸಮಯವಾಗಿರುತ್ತದೆ. TempCacheLimit ಅನ್ನು ಹೆಚ್ಚಿಸುವುದು ಸಮಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಸಾಮಾನ್ಯವಾಗಿ, ಪ್ರಾಯೋಗಿಕವಾಗಿ ಇನ್-ಲೈನ್ ಪರಿವರ್ತನೆಯು ಪರ್ಯಾಯ ಬ್ಯಾಕಪ್ ಮತ್ತು ಮರುಸ್ಥಾಪನೆಗೆ ಅಗತ್ಯವಿರುವ 30-40% ಸಮಯವನ್ನು ಉಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಪ್ರಶ್ನೆಗಳು?

ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಪ್ರಶ್ನೆಗಳನ್ನು ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಬರೆಯಿರಿ ಅಥವಾ ಅವುಗಳನ್ನು ವಿಧಾನದ ಲೇಖಕರಿಗೆ ಮತ್ತು ಈ ಲೇಖನದ ಸಹ-ಲೇಖಕರಿಗೆ ಕಳುಹಿಸಿ - ವಾಸಿಲಿ ಸಿಡೋರೊವ್, ಐಬೇಸ್‌ನಲ್ಲಿ ಪ್ರಮುಖ ಸಿಸ್ಟಮ್ ಎಂಜಿನಿಯರ್, ಐಬೇಸ್ ರು ನಲ್ಲಿ ಬಿಎಸ್‌ನಲ್ಲಿ.

ನೋಂದಾಯಿತ ಬಳಕೆದಾರರು ಮಾತ್ರ ಸಮೀಕ್ಷೆಯಲ್ಲಿ ಭಾಗವಹಿಸಬಹುದು. ಸೈನ್ ಇನ್ ಮಾಡಿ, ದಯವಿಟ್ಟು.

ನೀವು Firebird ನ ಯಾವ ಆವೃತ್ತಿಯನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ?

  • ಫೈರ್ಬರ್ಡ್ 3.x

  • ಫೈರ್ಬರ್ಡ್ 2.5

  • ಫೈರ್ಬರ್ಡ್ 2.1

  • ಫೈರ್ಬರ್ಡ್ 2.0, 1.5 ಅಥವಾ 1.0

16 ಬಳಕೆದಾರರು ಮತ ಹಾಕಿದ್ದಾರೆ. 1 ಬಳಕೆದಾರರು ದೂರವಿದ್ದಾರೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ