VPN விழும்போது தரவுத்தளங்களுக்கு இடையேயான பரிமாற்றம் இறக்கிறது, «மீண்டும் இயக்கு» என்பது மீட்புத் திட்டம் அல்ல. மூலத்திலிருந்து எக்ஸ்ட்ராக்ஷன் முடிந்திருக்கலாம், இலக்கு ஏற்கனவே commit செய்திருக்கலாம், அல்லது பதில் திரும்பும் வழியில் வெறுமனே தொலைந்திருக்கலாம். இந்த மூன்று நிலைகளுக்கும் வெவ்வேறு நடவடிக்கைகள் தேவை, «பிழை» மட்டும் தெரிந்த வாடிக்கையாளரால் அவற்றை வேறுபடுத்த முடியாது.

தீர்வு கட்டமைப்பு ரீதியானது: ஒவ்வொரு இயக்கத்திற்கும் நீடித்த தொகுதி அடையாளத்தை வழங்கி, வாடிக்கையாளர் ஊகிக்க அனுமதிப்பதற்குப் பதிலாக தரவுத்தளங்கள் கேள்விகளுக்குப் பதிலளிக்கட்டும்.

தரவுத்தளம் உண்மையில் என்ன உறுதியளிக்கிறது

SQL Server மற்றும் Oracle இரண்டும் பரிவர்த்தனைக்குள் அணுத்தன்மையை வழங்குகின்றன. இரண்டிற்கும் இடையே அணுத்தன்மையை எதுவும் வழங்கவில்லை. இழந்த இணைப்பு தரவுத்தளத்தை சிதைக்காது, கைமுறையாக பின்னோக்கிச் செல்லவும் கட்டாயப்படுத்தாது, ஏனெனில் சேவையகம் உங்கள் இல்லாமல் அதன் சொந்த பரிவர்த்தனையைத் தீர்க்கிறது. உடைவது முடிவைப் பற்றிய அழைப்பவரின் அறிவு.

தனித்தனியாக commit என்பது தனித்தனியாக commit. இரு இணைப்புகளையும் சுமக்கும் VPN இரண்டு commit-களை ஒரு வேலை அலகாக இணைக்காது.

நீங்கள் ஒருபோதும் கேளாத commit

ஒரு தோல்வி முறை அப்பாவி மறுமுயற்சி தர்க்கத்தை தண்டிக்கிறது: சேவையகம் commit செய்கிறது, ஒப்புதல் ஒருபோதும் அழைப்பவரை அடையவில்லை. Oracle இதை அறியப்படாத முடிவு சிக்கலாக பதிவு செய்து, அதற்காக பரிவர்த்தனை ஆவணங்களில் Transaction Guard வழங்குகிறது. தொடர்பு பிழை என்பது அனுப்பப்பட்ட commit தோல்வியடைந்ததற்கான சான்று அல்ல, அதை சான்றாகக் கருதுவதே ஒரு தொகுதி இரண்டு முறை வெளியிடப்படும் வழி. இந்த வேறுபாடு மறுமுயற்சி பாதையில் மிக முக்கியமானது, அங்கு இயக்குபவரிடம் பிழைச் செய்தி மட்டுமே உள்ளது, செயல்பட வேறு சமிக்ஞை இல்லை.

எனவே மீட்பு படி முடிவை பிழை உரையிலிருந்து ஊகிப்பதற்குப் பதிலாக இலக்கிலிருந்து படிக்க வேண்டும்.

பரிமாற்றத்திற்கு தொகுதி அடையாளம் வழங்குங்கள்

ஒவ்வொரு இயக்கமும் மாறாத தொகுதி ID பெறுகிறது, இலக்கு அந்த ID உடன் என்ன செய்தது என்பதைப் பதிவு செய்கிறது. வாழ்க்கைச் சுழற்சி நான்கு படிகள், விற்பனையாளர் யாராக இருந்தாலும் அது ஒரே மாதிரியாகத் தெரிகிறது:

  1. எக்ஸ்ட்ராக்ட் பதிவு செய்யப்பட்ட ஸ்கீமா மற்றும் எல்லையுடன் அடையாளம் காணப்பட்ட, மாறாத மூல தொகுதி.
  2. மாற்று அதை இலக்கின் தயாரிப்புப் பகுதிக்கு, தயார் என அறிவிக்கும் முன் முழுமையற்ற அல்லது முரண்பட்ட உள்ளடக்கத்தைக் கண்டறியுங்கள்.
  3. பயன்படுத்து இலக்கின் சொந்த தனித்துவம் அல்லது பூட்டுதல் விதிகளின் கீழ், அதே உள்ளூர் பரிவர்த்தனையில் நிறைவைப் பதிவு செய்யுங்கள்.
  4. சமரசம் நீடித்த முடிவை ஆதரிக்கப்பட்ட நெறிமுறை மூலம், ஒப்புதல் அல்லது மறுமுயற்சிக்கு முன்.

மறுமுயற்சிகள் அதே ID ஐ மீண்டும் பயன்படுத்துகின்றன. ஒவ்வொரு முயற்சிக்கும் புதிய ID நீங்கள் இப்போது கட்டிய நகல் தடுப்பை அழிக்கிறது, இது மறுமுயற்சி உறையுறை தானாக ஒன்றை உருவாக்கும் வரை வெளிப்படையாகத் தெரிகிறது.

ID உங்களுக்கு பின்னர் சமரசம் செய்ய ஏதோ ஒன்றைத் தருகிறது, வாடிக்கையாளர் செயல்முறை வெகு முன்பே மறைந்த பிறகும்.

தொகுதியைக் கோரு, பிறகு பயன்படுத்து

பயன்பாட்டுப் படி தொகுதி ID ஐக் கோர வேண்டும், வணிக மாற்றங்களைச் செய்ய வேண்டும், ஒரு உள்ளூர் பரிவர்த்தனையில் நிறைவைப் பதிவு செய்ய வேண்டும். சரிபார்ப்பையும் செருகலையும் தனித்தனி கூற்றுகளாகச் செய்வது நீங்கள் அகற்ற முயன்ற போட்டியை மீண்டும் கொண்டு வருகிறது. இரண்டு பணியாளர்கள் போட்டியிட்டால், சரியாக ஒரு கோரிக்கை வெல்லும், மற்றவருக்கு அது தெரிவிக்கப்படும்.

நிறைவுப் பதிவு இல்லாதது, நடந்துகொண்டிருக்கும் பரிவர்த்தனை ஒருபோதும் commit செய்யாது என்பதற்கான சான்று அல்ல. கோரிக்கை போட்டி முயற்சிகளை வரிசைப்படுத்த வேண்டும், அல்லது நெறிமுறை எந்த முடிவிற்கும் முன் நீடித்த முடிவைப் படிக்க வேண்டும்.

அந்த வரிசைப்படுத்தலுக்கு பயன்பாட்டுக் குறியீட்டில் சரிபார்த்து-பின்னர்-மீண்டும் செய் சுழற்சிக்குப் பதிலாக தரவுத்தளத்தின் ஆதரிக்கப்பட்ட பொறிமுறையைப் பயன்படுத்துங்கள்.

வடிவமைப்பு இன்னும் என்ன உறுதியளிக்க முடியாது

தயாரிப்பு வேலையை மீண்டும் தொடங்கக்கூடியதாக ஆக்கி, ஒரு நீண்ட அமர்வின் மீதான சார்பைக் குறைக்கிறது. இது SQL Server, Oracle மற்றும் வேலை செய்யும் எந்த வெளிப்புற பக்கவிளைவு மீதும் ஒரு அணு commit ஐ உருவாக்காது. வணிகத்திற்கு அது உண்மையில் தேவைப்பட்டால், ஆதரிக்கப்பட்ட பகிரப்பட்ட பரிவர்த்தனை அல்லது சமரசச் செயல்முறையை வடிவமைத்து தகுதி பெறுங்கள், நிச்சயமற்ற முடிவுடைய வேலை யாருக்குச் சொந்தம் என்பதும் உட்பட. அதைவிட பலவீனமானது பரிமாற்றக் குறியீட்டில் அல்ல, சமரச கையேட்டில் இடம் பெறுகிறது.

மூன்று இடங்களில் குறுக்கீட்டை ஏற்றுக்கொள்ளுங்கள்: பரிமாற்றத்தின் போது, பயன்பாட்டின் போது, மற்றும் commit க்குப் பிறகு ஆனால் ஒப்புதலுக்கு முன். பிறகு வாடிக்கையாளரின் செய்திக்குப் பதிலாக வணிக முடிவைச் சரிபார்த்து, தொகுதி ஏட்டு வேலை முழுமையற்றதா, commit ஆனதா, அல்லது இன்னும் தீர்க்கப்படவில்லையா என்பதைச் சொல்லட்டும்.

தொடர்புடைய கட்டுரைகள்