DBA, Developer, Author, Trainer



یکی از بزرگترین مشکلاتی کاربرانی که از ویندوز به مک او اس سوییچ می‌کنند عدم وجود کلید Delete است چون این کلید با اینکه در صفجه کلید تعریف شده اما عملکرد backward داره اکثر کاربرهای مک هم تمایلی به استفاده از کیبرد full size ندارند.

یکسری کات‌های کوتاه جهت جایگزینی این دکمه به این ترتیبه:

- حذف متن از جلوی کرسر با نگه داشتن fn و delete ممکنه

- همچنین با دکمه‌های ترکیبی control + d

- همچنین هر کلمه رو می‌تونید با نگه داشتن کلید control + delete یا option + delete انجام بدید

- برای پاک کردن هر لاین یا پاراگراف می‌تونید از دکمه‌های command + delete استفاده کنید


حالا چرا به عملکرد یک دکمه آنقدر حساس شدیم؟ اصلا فرق بین عملکرد backward با delete چیه؟

اگه با Toad For Oracle تعامل داشته باشید می‌دونید که در صفحه New Connection شما مشخصات اتصال به پایگاه داده‌ها سیو میشه مثل عکس زیر:

و ما اگه بخواین یکی از این کانکشنها رو حذف کنید باید از عملکرد دکمه delete در ویندوز استفاده کنید و اگه توی مک باشید باید از command + delete استفاده کنید

در نهایت کار به همین سادگیه شما مجبور نیستید از یک صفحه کلید full-size در لپ تاپ‌های اپل استفاده کنید


خب الان باید سمت مبدا یک سرویس Pump ایجاد بکنیم که فایلهای Trail سمت مقصد فرستاده بشوند

برای اینکار اول باید سرویس Pump رو بسازیم بعد به سرویسهامون اضافه‌اش کنیم.

GGSCI (lx-02-oracle) 13> edit param pora1
EXTRACT pora1 
passthru
DECRYPTTRAIL AES128 KEYNAME supermaskey
RMTHOST 192.168.92.183 ,MGRPORT 65324, COMPRESS
ENCRYPTTRAIL AES128 KEYNAME supermaskey
RMTTRAIL dirdat/l2
TABLE TEST_USER.*;

خط اول: می‌گیم این پیکربندی مربوط به سرویس از جنس Extract هستش و اسمش pora1 نامگذاری شده

خط دوم: آپشن passthru به درد سولوشن‌های oltp به oltp میخوره یعنی همه‌ی structre مبدا در مقصد هستش اینجوری گلدن‌گیت دیگه دنبال تغییر structre نمیره ولی اگه ساختار مبدا و مقصد شما یکی نیست نباید از این آپشن استفاده کنید

خط سوم: وقتی trail fileهای ما رمزنگاری شده باشن اول از همه pump باید اونها رو DECRYPT کنه تا بتونه داخل اونها رو بخونه

خط چهارم: اتصال به سرور و manager مقصد به صورت فشرده هستش 

خط پنجم: بعد از انتقال به سرور مقصد دوباره فایلهای trail رو رمزنگاری کن

خط ششم: گفتم وقتی pump میاد trail میسازه جنسش rmttrail میشه پس اینجا مسیر ساخت این فایلها با نامگذاری رو مشخص می‌کنیم

خط هفتم: می‌تونیم توی pump هم مشخص کنیم که از tarilهای ما فقط جداول مشخصی رو انتقال بده

ادامه مطلب


اولین کار بررسی وضعیت سرویس Manager هستش:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

خب اینجا باید طبق نقشه راهمون نامگذاری‌ها رو انجام بدیم:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 10> edit param mgr
PORT 65324
autostart extract rora1
autorestart extract rora1 , RETRIES 10, WAITMINUTES 1, RESETMINUTES 5
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 3

چون سناریو فعلی یکطرفه است من فقط سرویس replicat رو اضافه کردم در ادامه برای راه‌اندازی سناریوی ۲ طرفه باید capture, pump هم راه‌اندازی بشه.

خب برای اینکه پیکربندی ما اعمال بشه یکبار سرویس رو stop, start می‌کنیم:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 11> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER .
Request processed.
Manager stopped.

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 12> start mgr
Manager started.

خب الان سرویس داره به صورت درست کار میکنه:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 59> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING


راه‌اندازی TRANDATA (اختیاری)

اگه بخوایم سناریوی یکطرفه راه‌اندازی کنیم اصلاً نیازی به اینکار نیست چون ما پروسه capture رو راه‌اندازی نمی‌کنیم ولی چون من میخوام سناریو رو در ادامه ۲ طرفه راه‌اندازی بکنم پس این کار رو انجام میدم:

GGSCI>ADD TRANDATA TEST_UNIDIRECTIONALGGS.*

نکته: اگه به خطای زیر برخوردید یکبار trandata رو پاک کنید و دوباره برای جدول trandata بسازید:

Logging of supplemental redo log data is already enabled for table TEST_UNIDIRECTIONALGGS.TEST_GGS_2.

2017-11-10 12:59:20 WARNING OGG-00706 Failed to add supplemental log group on table TEST_UNIDIRECTIONALGGS.TEST_GGS_2
due to ORA-32588: supplemental logging attribute primary key exists SQL ALTER TABLE "TEST_UNIDIRECTIONALGGS"."TEST_GGS_2"
ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE, FOREIGN KEY) COLUMNS /* GOLDENGATE_DDL_REPLICATION */.
delete trandata TEST_UNIDIRECTIONALGGS.TEST_GGS_2
add trandata TEST_UNIDIRECTIONALGGS.TEST_GGS_2


انجام initial load به روش‌های گوناگونی امکان پذیر است. اگه دیتای زیادی ندارید می‌تونید به صورت دستی اسکریپت‌های ساخت جداول و داده‌ها رو بر روی دیتابیس مقصد اعمال کنید.

اگه نیاز داشتید از initail load گلدن‌گیت استفاده کنید بهتره بدونید structure آبجکتها رو خودتون باید انتقال بدید و فقط دیتا رو با این روش می‌تونید انتقال بدید.

ولی در صورتی که دیتای زیادی دارید من توصیه میکنم از روشهای دیگه‌ای برای انتقال دیتا برای بار اول استفاده کنید.

خروجی  گرفتن از اسکیما

من تو این سناریوی تست قصد دارم اسکیمای 'TEST_UNIDIRECTIONALGGS' رو به دیتابیس مقصد منتقل کنم پس یک dump از اسکیمای مبدا با مشخصات زیر می‌گیرم:

EXPDP SYSTEM/. \
DUMPFILE="TEST_UNIDIRECTIONALGGS.dmp"\
LOGFILE="EXP_TEST_UNIDIRECTIONALGGS.log"\
DIRECTORY=DATA_PUMP_DIR\
FLASHBACK_TIME=SYSTIMESTAMP\
COMPRESSION=METADATA_ONLY\
CONTENT=ALL\
SCHEMAS=('TEST_UNIDIRECTIONALGGS')

ادامه مطلب


در ولنتاین ۱۳۹۷ هستیم.

ولنتاین روز جالبیه جوری که در ویکیپدیا فارسی میتونیم بخونیم:

روز ولنتاین یا روز عشق یا روز عشاق در 

فرهنگ مسیحی 

سده‌های میانه و سپس فرهنگ 

مدرن غربی روز ابراز 

عشق است که به صورت سالانه برگزار می‌شود. این مناسبت هر سال در روز ۱۴ فوریه (۲۵ بهمن ماه) برگزار می‌شود. سابقهٔ تاریخی روز والنتین به جشنی که به افتخار 

قدیس والنتین در 

کلیساهای

کاتولیک برگزار می‌شد، بازمی‌گردد. روز والنتین برگرفته از سنن 

روم باستان و 

مسیحیت می‌باشد.

[۱] این ابراز عشق معمولاً با فرستادن کارت والنتین یا خرید هدایایی مانند 

گل سرخ انجام می‌شود.

طبق روایات سنت ولنتاین»، کشیش معبدی در نزدیکی رم بود که در ۱۴ فوریه سال ۲۶۹ میلادی به دستور امپراتور کلا دوم و به دلیل کمک به زوج‌های جوان مسیحی برای ازدواج، گردن زده شد. اما ساکنان رم، کشیش ولنتاین را فراموش نکردند و حتی کلیسایی را به یاد او نام گذاری کردند. بتدریج نیز ولنتاین به قدیس حامی عاشقان تبدیل شد.

[۲]

https://en.wikipedia.org/wiki/Valentine%27s_Day

ادامه مطلب


خب من برای راه‌اندازی سناریوی تست‌امون یک ماشین دیگه با مشخصات زیر آماده کردم که به عنوان مقصد ازش استفاده کنم:

همیشه یک DBA قبل اینکه گلدن‌گیت رو راه‌اندازی بکنه باید نقشه راهش رو بکشه و قوانین نامگذاری‌های سرویسها و مسیرهاش رو هم مشخص و داکیومنت بکنه

من نقشه راه سناریوی تستمون رو با

Microsoft Visio به صورت زیر کشیدم:

ادامه مطلب


در زمستان ۱۳۹۷ هستیم!!

من تا حال حاضر که ۲۴ امین گردش زمین به دور خورشید رو می‌بینم!! ۲ بار عاشق جنس مخالف شده‌ام و خب از اونجایی که تجربه‌هام تا الان به همین ۲ بار منتهی میشه، توی این ۲ بار رابطه‌هام به شکل عجیبی سریع تموم شد (تقریبا کمتر از یکماه) از اونجایی که درگیری‌های ذهنی‌ام همیشه کاری بوده هیچوقت یادم نمیمونه کجا چه نوع اشتباهاتی کردم که باعث شده به این سرعت ترمز رابطه رو بزنن، یسری نکات رو (چون از یه تنور داغ بیرون اومدم) برای مهدی آینده و شما مینویسم که حواسمون در آینده شاید و شاید جمع‌تر بشه:

ادامه مطلب


برای ساخت این سرویس اول از همه باید فایل پیکربندی اون رو بسازیم:

edit param eora1

و پیکربندی زیر رو درون اون قرار بدیم:

EXTRACT eora1 
USERID ggs, &
PASSWORD ggs
TRANLOGOPTIONS EXCLUDEUSER ggs, asmuser sys@ASM, asmpassword sys
ENCRYPTTRAIL AES128 KEYNAME supermaskey
EXTTRAIL dirdat/l1
DDL INCLUDE MAPPED
TABLE TEST_USER.*;

خط اول: ما مشخص میکنیم که یک سرویس extract به اسم eora1 میخوایم

خط دوم: مشخص میکنیم که نام‌کاربری ما چیه

خط سوم: پسورد رو کاربر گلدن‌گیتمون رو وارد میکنیم (می‌تونیم به صورت هش شده اون رو وارد کنیم)

نکته: توی گلدن‌گیت برای اضافه کردن سرویسها باید به صورت اسکرپت‌نویسی عمل کنیم یعنی هر خط اینجا یک دستور جدید محسوب میشه برای اینکه ادامه‌ی دستوری رو خط بعدش بنویسیم از & استفاده می‌کنیم 

خط چهارم: با دستور TRANLOGOPTIONS ما بر روی TRAIN Fileها مدیریت انجام می‌دیم یکی از آپشنهای این دستور EXCLUDEUSER هستش که با دادن کاربر ggs من از ایجاد loop جلوگیری کردم.

نکته: اگه دیتابیس شما با ASM پیکربندی شده چون Redo Log های ما در دیسک گروه‌های ASM وجود دارن و گلدن‌گیت نیاز داره به طور مستقیم با Online Redo Log Fileها کار بکنه ما باید مشخصات کاربر ASM رو هم بهش بدیم که اینکار رو با آپشنهای asmuser, asmpassword در دستور TRANLOGOPTIONS انجام می‌دیم.

ادامه مطلب


هدف

هدف تو زندگی خیلی مهمه، اهداف هر شخص نشان دهنده شخصیت و خواسته‌های درونی اوست که حالات بیرونی او را شکل میدهد. نداشتن هدف از شما یک انسان بی هویت و پوچ میسازه که همیشه در حال زندگی کردن با حرف بقیه است،‌ داشتن هدف‌های مشخص باعث میشه شما بتونید با ایجاد مسیر گام به گام و همچنین سعی و تلاش به نتیجه مطلوب برسید.

پ.ن: امرور تولد فرزاد کارخانی یکی از همکاران قدیمی ام در تیم

لحظه نگار است. از نظر من خیلی مهمه که به انسان‌ها تولدشون رو به موقع تبریک گفت چون انسان موجودی اجتماعی است و نباید خارج از این موضوع با انسان رفتار بشه وگرنه عواقب جبران ناپذیری در تصمیمات و سرنوشت انسان داره.

اهداف در زندگی دارای درجه اهمیت گوناگون هستند و اولویت برخی از هدفها ممکنه در محور زمان برای انسان جا به جا شود و یا حتی انسان بخواهد برای دستیابی به هدفی هدف دیگری را قربانی کند، مثلا ممکنه شما هدفی با اولویت بالا برای مهاجرت/ ازدواج یا . نداشته باشید اما شرایط محیطی را به شکلی جمع بندی کنید که موضوع در اهدافتان در اولویتی بالاتر قرار بگیرد.

ادامه مطلب


GLOBAL یک فایل بدون پسوند هستش که ما می‌تونیم تعدادی از پارمترهای عمومی رو درون اون مشخص کنیم و با بالا اودن سرویس‌های گلدن‌گیت این تنظیمات اعمال می‌شوند. تا نسخه‌های قبلی می‌تونستیم اسم CheckpointTable رو همینجا درون این فایل مشخص کنیم اما تو نسخه‌های جدید گلدن‌گیت دیگه به این پارمتر کاری نداره و ازش تبعیت نمیکنه و شما حتما باید موقع ساخت CheckpointTable اسمی رو هم براش انتخاب کنید

نمونه‌ای از فایل GLOBALS

CHECKPOINTTABLE CHKTABLE
GGSCHEMA GGS
ENABLEMONITORING

ادامه مطلب


برای راه‌اندازی سناریوی تست من یک اسکیما با تعدادی جدول میسازم:

DROP USER TEST_UNIDIRECTIONALGGS CASCADE;
CREATE USER TEST_UNIDIRECTIONALGGS
IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
PROFILE DEFAULT
ACCOUNT UNLOCK;
-- 2 Roles for TEST_UNIDIRECTIONALGGS
GRANT CONNECT TO TEST_UNIDIRECTIONALGGS;
GRANT DBA TO TEST_UNIDIRECTIONALGGS;
ALTER USER TEST_UNIDIRECTIONALGGS DEFAULT ROLE ALL;
-- 2 System Privileges for TEST_UNIDIRECTIONALGGS
GRANT CREATE SESSION TO TEST_UNIDIRECTIONALGGS;
GRANT UNLIMITED TABLESPACE TO TEST_UNIDIRECTIONALGGS;
-- 1 Tablespace Quota for TEST_UNIDIRECTIONALGGS
ALTER USER TEST_UNIDIRECTIONALGGS QUOTA UNLIMITED ON USERS;

ادامه مطلب


خب همونطور که یادتونه در مراحل نصب، گلدن‌گیت سرویس MGR رو ساخته و میدونیم استارت شده برای اینکه ببینیم چه سرویس‌هایی در گلدن‌گیت پیکربندی شده‌اند از دستور زیر استفاده می‌کنیم:

GGSCI (lx-02-oracle) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

برای اینکه محتویات فایل MGR رو ببینیم از دستور زیر استفاده می‌کنیم:

GGSCI (lx-02-oracle) 2> edit param mgr

نکته: با زدن این دستور فایل پیکرندی شما با ادیتور پیشفرض تنظیم شده باز میشه

برای باز کردن فایل در محل فیزیکی اون هم به مسیر زیر می‌ریم و فایل مربوطه رو در دایکتوری مربوطه باز می‌کنیم:

نکته: دایرکتوری مربوط به پیکرندی‌های گلدن‌گیت (dirprm) هستش

[root@lx-02-oracle ~]# cd /u02/app/oracle/ggs/dirprm/
[root@lx-02-oracle dirprm]# ll
total 8
-rwxr-x--- 1 oracle oinstall 103 Aug  7  2014 jagent.prm
-rw-r--r-- 1 oracle oinstall  10 Nov  1 17:13 mgr.prm

ادامه مطلب


نزدیک به ۱ هفته است با مشکل عجیبی در سرورهای عملیاتی‌ام برخورد کردم که بهتر دیدم مشکل را به صورت عمومی مستند کنم

APPLIES TO

  • دیتاسنتر: Hetzner - Germany
  • نسخه مجازی‌ساز: Proxmox Virtual Environment 5.2
  • نسخه سیستم عامل: Oracle Linux Server release 7.5
  • نسخه پایگاه‌داده : Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
  • نسخه JDK اوراکل: Java SE Development Kit 8u181
  • نسخه APEX (دولوپ): Oracle Application Express 18.1
  • نسخه ORDS (دولوپ): Oracle REST Data Services 18.2.0.r1831332

ادامه مطلب


ما ۴ تا name در دیتابیس داریم که از اول هر ۴ تای این اسامی در دیتابیس اوراکل نبوده‌اند و به مرور نسخه‌های مختلف و زمان ایجاد شده‌اند.

ORACLE_SID (در سطح OS) = این پارامتر در سطح OS ما است. اگر پارامتر db_name مقداردهی نگردند مقدار این پارامتر را می‌گیرد.

DB_NAME (اجباری، یکسان باشد*) = اسم دیتابیس و به معنای کلمه جایی که دیتاها ذخیره می‌شوند. عمیقاً کلمه دیتابیس به ۳ دسته از فایل‌ها گفته می‌شود:

۱) دیتافایل‌ها ۲) فایلهای ORL, CTL, SPFILE منظور DB_NAME فایلهای دیتابیس است که مجزا از Instance هستند.

ORACLE DB_NAME PARAMETER V11.2 -

LINK

ادامه مطلب


ممکنه خیلی براتون پیش اومده باشه که از یه windows desktop به عنوان workstation برای اتصال به سرورها استفاده کرده باشید و به مشکل نبودن قابلیت چند session همزمان در ویندوز دسکتاپ برخورد کرده باشید. خب همه ما می‌دونیم که اگه توی ویندوز سرور باشیم به صورت پیش‌فرض تا ۲ کاربر همزمان رو می‌تونیم داشته باشیم و با فعال کردن

Remote Desktop Services می‌تونیم بسته به لایسنس تهیه شده یوزرهای بیشتری رو به صورت remote به طور همزمان داشته باشیم.

حالا اگه بخوایم در windows desktop این قابلیت رو فعال و استفاده کنیم باید چیکار کنیم؟

پروژه RDP Wrapper Library نوشته شده توسط Stas'M برای این منظور ایجاد شده. هدف این پروژه فعال کردن ویژگی Remote Desktop Host و concurrent RDP sessions در windowsهای desktop است.

ادامه مطلب


ممکنه خیلی پیش بیاد که بخواین فعالیت خاصی رو با

CRON زمانبندی کنید ولی زمانبندیتون پیچیده شده و احتیاج به کمک دارید. خب می‌دونید بهترین کار اینه که تمرین کنید ولی اگه فرصت تمرین رو ندارید می‌تونید به وبسایت زیر مراجعه کنید که شعارش اینه "ویرایشگر سریع و ساده برای زمانبندی‌های CRON"

 

 

https://crontab.guru


حدودا ۱۵ سال پیش مهندس نرم‌افزار 

Tim Peters به طور خلاصه راهنمایی را جهت آشنایی با فلسفه پایتون منتشر کرد که در ابتدا قرار بود ۲۰ مورد باشد که ۱۹ تای آن نوشته شد.

تائوی برنامه نویسی

استاد برنامه نویس بدین گونه به سخن درآمد: هنگامی که سه روز بدون برنامه نویسی سپری شود، زندگی معنای خود را از دست خواهد داد.»

نویسنده جفری جیمز، مترجم آیدین غریب نواز

دریافت پی دی اف تائوی برنامه نویسی
حجم: 201 کیلوبایت

>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

  • زیبا بهتر از زشت است.
  • صریح بهتر از ضمنی است.
  • ساده بهتر از پیچیده است.
  • پیچیده بهتر از بغرنج است.
  • مسطح بهتر از تو در تو است.
  • تنک بهتر از متراکم است.
  • خوانایی مهم است.
  • موارد خاص آنقدر خاص نیستند که قانون را زیر پا گذاشت.
  • هرچند کاربری خلوص را مغلوب می‌کند.
  • خطاها هرگز نباید بی سر و صدا رد شوند.
  • مگر اینکه صریحا مسکوت شده باشند.
  • در وقت شک و تردید از حدس زدن پرهیز کن.
  • باید تنها و تنها یک راه آشکار برای انجام آن وجود داشته باشد.
  • هرچند ممکن است آن راه در ابتدا آشکار نباشد مگر آنکه هلندی باشی!
  • اکنون بهتر از هرگز است.
  • هرچند هرگز اغلب بهتر از همین حالا است.
  • اگر تشریح پیاده‌سازی‌اش سخت است، ایده‌ی بدی است.
  • اگر تشرح پیاده‌سازی‌اش ساده است،‌ ممکن است ایده‌ی خوبی باشد.
  • فضای نام‌ها ایده‌ی بی‌نظیری هستند – بیایید بیشتر بکار ببریمشان!


یکی از بزرگترین مشکلاتی کاربرانی که از ویندوز به مک او اس سوییچ می‌کنند عدم وجود کلید Delete است چون این کلید با اینکه در صفجه کلید تعریف شده اما عملکرد backward داره اکثر کاربرهای مک هم تمایلی به استفاده از کیبرد full size ندارند.

یکسری کات‌های کوتاه جهت جایگزینی این دکمه به این ترتیبه:

- حذف متن از جلوی کرسر با نگه داشتن fn و delete ممکنه

- همچنین با دکمه‌های ترکیبی control + d

- همچنین هر کلمه رو می‌تونید با نگه داشتن کلید control + delete یا option + delete انجام بدید

- برای پاک کردن هر لاین یا پاراگراف می‌تونید از دکمه‌های command + delete استفاده کنید


حالا چرا به عملکرد یک دکمه آنقدر حساس شدیم؟ اصلا فرق بین عملکرد backward با delete چیه؟

اگه با Toad For Oracle تعامل داشته باشید می‌دونید که در صفحه New Connection شما مشخصات اتصال به پایگاه داده‌ها سیو میشه مثل عکس زیر:

و ما اگه بخواین یکی از این کانکشنها رو حذف کنید باید از عملکرد دکمه delete در ویندوز استفاده کنیم و اگه توی مک باشید باید از command + delete استفاده کنید

در نهایت کار به همین سادگیه شما مجبور نیستید از یک صفحه کلید full-size در لپ تاپ‌های اپل استفاده کنید


حدودا ۱۵ سال پیش مهندس نرم‌افزار 

Tim Peters به طور خلاصه راهنمایی را جهت آشنایی با فلسفه پایتون منتشر کرد که در ابتدا قرار بود ۲۰ مورد باشد که ۱۹ تای آن نوشته شد.

تائوی برنامه نویسی

استاد برنامه نویس بدین گونه به سخن درآمد: هنگامی که سه روز بدون برنامه نویسی سپری شود، زندگی معنای خود را از دست خواهد داد.»

نویسنده جفری جیمز، مترجم آیدین غریب نواز

دریافت پی دی اف تائوی برنامه نویسی
حجم: 201 کیلوبایت

>>> import this

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

ادامه مطلب


بالاخره اوراکل به طور واضح پلن پشتیبانی پایگاه داده خود از پلتفرم

Docker را اعلام کرد.

طبق توضیحات موجود در متالینک، اوراکل به زودی و به شکل رسمی پشتیبانی از پلتفرم Docker را برای پایگاه‌داده Oracle با ساخت و پشتیبانی Oracle Linux به عنوان Host برای محیط عملیات آغاز می‌کند.

تو ادامه گفته شده اوراکل قصد داره از مشتری‌هایی که Oracle Database - single instance را بر روی Docker containerها در سیستم‌عامل Oracle Linux 7.4 و بالاتر یا Red Hat Enterprise Linux 7 اجرا می‌کنند پشتیبانی رسمی بکنه. در حال حاضر باینری‌های داکر برای نصب و اجرا در کانال Addonهای اوراکل لینوکس (oraclelinux7-addons) موجود است.

همچنین جزییات نصب در Chapter 2 داکیومنت 

Oracle Linux 7 Docker Users Guide موجود است. باقی جزییات درباره پشتیبانی داکر بر روی اوراکل لینوکس را می‌توانید در داکیومنت 

Support for Docker Running on Oracle Linux - Doc ID 1921163.1 مشاهده کنید.

خبر خوب برای مشتری‌هایی که می‌خواهند از Oracle RAC در زیرساخت Docker استفاده کنند اوراکل پشتیبانی از محیط توسعه و تست را برای RAC به طور رسمی آغاز کرده توجه داشته باشید برای محیط عملیات فعلا پشتیبانی صورت نمی‌گیرد. یک راهنمای سریع و با جزییات برای پیکربندی Oracle RAC در Docker را می‌توانید

اینجا پیدا کنید. همچنین پچ‌های پیش‌نیاز برای نصب از

OTN قابل دانلود است.

اطلاعات بیشتر که می‌تواند برایتان مفید باشد:

  • Support for Docker Running on Oracle Linux (Doc ID 1921163.1)

  • Information on Docker for Oracle Linux can be found at Oracle Linux Cloud Native Environment

  • Oracle Brings Flagship Database and Developer Tools to the Docker Store (press release)

  • Creating an Oracle Database Docker Image (blog post)


خیلی‌ها کاراکترها رو با کاربردشون میشناسن مثلا علامت مجموعه‌ها ولی نکته اینجاست که اسامی با کاربرد کاراکترها در اون حوزه منطبق شدند و در حوزه‌های دیگه ممکنه کاراکترها کاربردهای مختلفی داشته باشند پس بهتره مواقعی که می‌خوایم از اسم کاراکترها نام ببریم اون رو با توضیح کاربردش توی اون حوزه تشریح نکنیم و از اسم خود کاراکتر استفاده کنیم. اسامی درست یکسری از کاراکترهای پر کاربرد در برنامه‌نویسی رو لیست می‌کنم تا حواسمون بیشتر روی این موضوع باشه:

 

`

Backtick

~

Tilde

;

Semicolon

:

Colon

.

Period, Dot, Full stop, Point

-

Hyphen

_

Underscore

Double quotation

Quotation

()

Parentheses

{}

Braces

[]

Brackets

< >

Right and Left angle brackets

@

At sign

|

Vertical bar

/

Slash

\

Back Slash

*

Asterix

?

question mark

!

Exclamation mark

Sharp sign

#

Number sign, Hash, Pound sign

 

دریافت
حجم: 28.6 کیلوبایت


فونت‌هایی که برای کدنویسی استفاده می‌شوند یک ویژگی مشترک دارند اون هم monospaced بودن فونت است. این ویژگی توی خیلی از فونت‌ها مثل Courier هستش. فونتهای monospaced تمام کاراکترهاشون(حروف، اعداد و کاراکترهای ویژه) فاصله افقی هر کاراکتر از چپ‌ترین تا راست‌ترین باهمدیگه یکی هستش

این ویزگی خیلی به خوانایی کدها کمک میکنه چون کد به خاطر یکی بودن فاصله افقی هر ۲ سر کاراکترها یه حالت جدولی پیدا میکنه چون دقیقا کاراکترها زیر همدیگه قرار می‌گیرند و برای همین چشم خیلی  راحتتر حروف رو دنبال میکنه

اگه می‌خواین برای شخص یا گروهی توی تلگرام کد بفرستید از سه تا کاراکتر بک تیک (backtick) استفاده کنید سرور تلگرام متن شما رو با فونت monospaced نشون میده


هدف

هدف تو زندگی خیلی مهمه، اهداف هر شخص نشان دهنده شخصیت و خواسته‌های درونی اوست که حالات بیرونی او را شکل میدهد. نداشتن هدف از شما یک انسان بی هویت و پوچ میسازه که همیشه در حال زندگی کردن با حرف بقیه است،‌ داشتن هدف‌های مشخص باعث میشه شما بتونید با ایجاد مسیر گام به گام و همچنین سعی و تلاش به نتیجه مطلوب برسید.

اهداف در زندگی دارای درجه اهمیت گوناگون هستند و اولویت برخی از هدفها ممکنه در محور زمان برای انسان جا به جا شود و یا حتی انسان بخواهد برای دستیابی به هدفی هدف دیگری را قربانی کند، مثلا ممکنه شما هدفی با اولویت بالا برای مهاجرت/ ازدواج یا . نداشته باشید اما شرایط محیطی را به شکلی جمع بندی کنید که موضوع در اهدافتان در اولویتی بالاتر قرار بگیرد.

ادامه مطلب


تیم اوراکل امروز بروزرسانی‌های جدیدی برای تمپلیت‌های VM خود برای محصول دیتابیس اوراکل را در دسترس توسعه دهندگان قرار داد. Oracle VM Templateها همونطور که می‌توانید حدس بزنید تمپلیت‌هایی هستند که می‌توانند به طور کامل یک محیط Single Instance یا (Oracle Restart (Single Instance/HA و یا (Oracle Real Application Clusters (RAC پیکربندی شده را در یک محیط Oracle VM به طور کامل و خودکار اجرا کنند.

معماری اپلیکیشن‌محور تمپلیت‌های ماشین مجازی اوراکل با هدف ایجاد امکان پیاده‌سازی سریع اپلیکیشن طراحی شده است. با استفاده از تمپلیت‌های ماشین مجازی اوراکل، اپلیکیشن‌های پیچیده نظیر Oracle Database یا Oracle Real Application Clusters - RAC را می‌توان ظرف چند دقیقه پیاده‌سازی کرد. ۱۰ بار سریعتر از سایر راهکارها .

شما در یک بیزنس بزرگ قرار دارید با تمپلیت‌های Oracle VM می‌توانید در عرض چند دقیقه بهترین و قویترین دیتابیس رابطه‌ای جهان را به سادگی به هر تعداد که می‌خواهید به عنوان یک دیتابیس Single Instance یا (Oracle Restart (Single Instance/HA و یا Oracle RAC برای هر نود کلاستر بهره‌برداری و کلون‌گیری کنید.

اطلاعات بیشتر برای نصب و استفاده در داکیومنت PDF آرشیو شده در صفحه تمپلیت‌ها موجود است، می‌توانید این داکیومنت رو از طریق

شبکه فناوری اوراکل پیدا کنید.

تمپلیت‌های اوراکل برای مخاطبین گسترده‌ای از قبیل مدیران پایگاه داده، مدیران سیستم، توسعه دهندگان اپلیکیشن، کاربرهای تازه کار و کاربرهای حرفه ای قابل استفاده و مفید است. برخی از ویژگی‌های این تمپلیت‌ها:

  • صد درصد بدون مشکل و قابل اطمینان است، یعنی چند منبع مختلف برای یک تمپلیت وجود ندارد.
  • جامع است، یعنی نیازی به نصب سیستم عامل، نرم افزار اوراکل یا استفاده از اسکرپت دیگری برای محیط تست یا عملیات نیست.
  • تمام تمپلیت‌ها هم برای محیط دولوپ و هم برای عملیات قابل استفاده هستند.
  • تمام نسخه ها در هر ۲ نسخه از Oracle VM (ورژن ۲ و ۳) پشتیبانی می‌شوند (به عنوان مثال تمپلیت RAC و غیره).
  • آخرین پچ‌های موجود مثل PSU و پچ‌های توصیه شده از طرف اوراکل برای محصول مورد نظر بر روی این تمپلیت‌ها موجود است.
  • قابلیت سفارشی سازی پچ‌های نصب شده با opatch در دسترس شما است.
  • بدون مشکل در نصب سناریو. با چند کلیک سناریو خود را پیاده‌سازی کنید.
  • تضمین پایداری همیشگی از سوی اوراکل

حالا وقت آن است که خبر جدیدی که از سوی کمپانی اوراکل در

متالینک (پشتیبانی رسمی اوراکل) درج شده رو باهم مرور کنیم.

اوراکل گفته است که بروزرسانی تمپلیت ها برای سال ۲۰۱۹ انجام شده و تغییرات زیر برای هر ۳ تمپلیت دیتابیسی صورت گرفته است:

Oracle Linux 7.6 UEK Release 5 Update 2 (UEK R5U2): 19.3.0.0.190416, 18.6.0.0.190416 and 12.2.0.1.190416 Templates Released!

Oracle Linux 6.10 UEK4: 12.1.0.2.190416 Templates Released!

همچنین اوراکل اعلام کرده است که این ۳ تمپلیت تا پایان ماه مه ۲۰۱۹ (نیمه خرداد ۱۳۹۸) به پلتفرم

Oracle Cloud اضافه خواهند شد.

جهت پیشبرد کسب و کار خود و دریافت مشاوره/ پشتیبانی/ راه‌اندازی راهکارهای اوراکل از طریق صفحه

تماس با ما در ارتباط باشید. 


بالاخره اوراکل به طور واضح پلن پشتیبانی پایگاه داده خود از پلتفرم

Docker را اعلام کرد.

طبق توضیحات موجود در

متالینک

(پشتیبانی رسمی اوراکل)، اوراکل به زودی و به شکل رسمی پشتیبانی از پلتفرم Docker را برای پایگاه‌داده Oracle با ساخت و پشتیبانی Oracle Linux به عنوان Host برای محیط عملیات آغاز می‌کند.

تو ادامه گفته شده اوراکل قصد داره از مشتری‌هایی که Oracle Database - single instance را بر روی Docker containerها در سیستم‌عامل Oracle Linux 7.4 و بالاتر یا Red Hat Enterprise Linux 7 اجرا می‌کنند پشتیبانی رسمی بکنه. در حال حاضر باینری‌های داکر برای نصب و اجرا در کانال Addonهای اوراکل لینوکس (oraclelinux7-addons) موجود است.

همچنین جزییات نصب در Chapter 2 داکیومنت 

Oracle Linux 7 Docker Users Guide موجود است. باقی جزییات درباره پشتیبانی داکر بر روی اوراکل لینوکس را می‌توانید در داکیومنت 

Support for Docker Running on Oracle Linux - Doc ID 1921163.1 مشاهده کنید.

خبر خوب برای مشتری‌هایی که می‌خواهند از Oracle RAC در زیرساخت Docker استفاده کنند اوراکل پشتیبانی از محیط توسعه و تست را برای RAC به طور رسمی آغاز کرده توجه داشته باشید برای محیط عملیات فعلا پشتیبانی صورت نمی‌گیرد. یک راهنمای سریع و با جزییات برای پیکربندی Oracle RAC در Docker را می‌توانید

اینجا پیدا کنید. همچنین پچ‌های پیش‌نیاز برای نصب از

OTN قابل دانلود است.

اطلاعات بیشتر که می‌تواند برایتان مفید باشد:

  • Support for Docker Running on Oracle Linux (Doc ID 1921163.1)

  • Information on Docker for Oracle Linux can be found at Oracle Linux Cloud Native Environment

  • Oracle Brings Flagship Database and Developer Tools to the Docker Store (press release)

  • Creating an Oracle Database Docker Image (blog post)


در حال حاضر نسخه 19c پایگاه‌داده رابطه‌ای اوراکل برای تمام پلتفرم‌ها در دسترس قرار داده شده است. اوراکل قراره از این نسخه برای مشتریان برتر تا جمعه، ۱۱ فروردین ۱۴۰۲ پشتیبانی طولانی مدت (Long Term Support) انجام بده همچنین پشتیبانی تمدید شده (Extended Support) خود را تا سه شنبه، ۱۱ فروردین ۱۴۰۵ برای این نسخه ارائه میدهد.

به منظور جلوگیری از خرید جدید محصول، به حداقل رساندن پروسه ارتقا در آینده و استفاده از ویژگی‌های جدید اوراکل شما رو تشویق میکند بدون تعلل به نسخه جدید 19c آپگرید کنید.

گزینه‌های ارتقای توصیه شده از طرف اوراکل:

اگه شما در حال حاظر از نسخه 11.2.0.4 یا 12.1.0.2 پایگاه داده اوراکل استفاده می‌کنید شما باید یک مجوز توافقنامه نامحدود که شامل پشتیبانی تمدید شده و ارتقا به نسخه 19c است را با پرداخت هزینه توافقنامه قبل از پچ کردن به نسخه جدید تهیه کنید. 

در جریان باشید آخرین نسخه پچ پایگاه‌داده اوراکل 11.2.0.4 در پلن پشتیبانی تمدید شده در آخرین روز از تاریخ پشتیبانی یعنی پنج شنبه، ۱۱ دی ۱۳۹۹ انتشار پیدا می‌کند،

همچنین آخرین پچ نسخه 12.1.0.2 پایگاه‌داده اوراکل شنبه، ۹ مرداد ۱۴۰۰ انشار پیدا می‌کند و از سه شنبه، ۸ مرداد ۱۳۹۸ آپگرید به نسخه 19c برای این مشتریان بدون هزینه خواهد بود.

ولی اگه در حال حاضر از نسخه 12.2.0.1 یا 18c پایگاه داده استفاده می‌کنید بهتره قبل از اینکه به آخرین روزهای پشتیبانی تصحیح خطای اوراکل برسید آپگرید کنید.

تاریخ پایان پشتیبانی تصحیح خطای اوراکل برای نسخه 12.2.0.1 جمعه، ۱۰ مرداد ۱۳۹۹ تعیین و برای نسخه 18c چهارشنبه، ۹ تیر ۱۴۰۰ تعیین شده است.

هدف اوراکل از این توصیه‌ها راهنمایی شماست که همیشه در دوره پشتیبانی Lifetime Support و Error Correction بمانید و از هزینه ارتقا در دوره Extended Support به نسخه جدید جلوگیری کنید.

برای سوالات خود درباره certified بودن محصول خود مانند 

Oracle E-Business Suite,

Oracle JD Edwards,

Oracle PeopleSoft,

Oracle Siebel و . به بخش Certification از

اکانت متالینک خود مراجعه نمایید.

برای سوال در مورد نحوه فرآیند ارتقا و انجام آن در سایت‌های خود می‌توانید

با ما در تماس باشید.

همچنین برای اطلاعات بیشتر به مستند زیر مراجعه کنید:

Release Schedule of Current Database Releases (Doc ID 742060.1)


بعد از پیکربندی دیتاگارد یکی از مسائل مهم راه‌اندازی سرویس بروکر است. نحوه پیکربندی این سرویس رو در ادامه باهم انجام خواهیم داد.

مثال پیکربندی دیتابیس

db_unique_name در دیتابیس اصلی: tehran

db_unique_name در دیتابیس دیتاگارد: yazd

نیازمندی‌های قبل از پیکربندی

استارت پروسس Dataguard broker DMON در دیتابیس اصلی (primary) و دیتاگارد (standby)

SQL> alter system set dg_broker_start=true sid='*'; 

 

ادامه مطلب


بعد از پیکربندی دیتاگارد یکی از مسائل مهم راه‌اندازی سرویس بروکر است. نحوه پیکربندی این سرویس رو در ادامه باهم خواهیم دید.

مثال پیکربندی دیتابیس

db_unique_name در دیتابیس اصلی: tehran

db_unique_name در دیتابیس دیتاگارد: yazd

نیازمندی‌های قبل از پیکربندی

استارت پروسس Dataguard broker DMON در دیتابیس اصلی (primary) و دیتاگارد (standby)

SQL> alter system set dg_broker_start=true sid='*'; 

 

ادامه مطلب


می‌خوایم نحوه چک کردن سایز فعلی دیتابیس اوراکل رو برای Non-CDB و CDBها ببینیم. اکثرا این اطلاعات در نرم‌افزارهایی مثل Toad For Oracle به سادگی قابل روئیت هستند اما اگر شما در سایت عملیاتی باشید و دسترسی به ابزار نداشته باشید بهترین راهکار اجرای کوئری در sqlplus هستش.

محیط Non-CDB

چک کردن سایز اشغال شده دیتافایلها در دیسک:

select sum(bytes)/1024/1024 size_in_mb from dba_data_files;

چک کردن تمام فضای استفاده شده توسط سگمنت‌ها:

select sum(bytes)/1024/1024 size_in_mb from dba_segments;

چک کردن سایز اسکیماها در اوراکل:

select owner, sum(bytes)/1024/1024 Size_MB from dba_segments group by owner;

چک کردن فضای آزاد و فضای اشغال شده در دیتابیس:

select
"Reserved_Space(MB)", "Reserved_Space(MB)" - "Free_Space(MB)" "Used_Space(MB)","Free_Space(MB)"
from(
select
(select sum(bytes/(1014*1024)) from dba_data_files) "Reserved_Space(MB)",
(select sum(bytes/(1024*1024)) from dba_free_space) "Free_Space(MB)"
from dual );

چک کردن سایز تمام فایل‌های دیتابیس بعلاوه tempها و redoها:

select
( select sum(bytes)/1024/1024/1024 data_size from dba_data_files ) +
( select nvl(sum(bytes),0)/1024/1024/1024 temp_size from dba_temp_files ) +
( select sum(bytes)/1024/1024/1024 redo_size from sys.v_$log ) +
( select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024/1024 controlfile_size from v$controlfile) "Size in GB"
from
dual;

محیط CDB و دیتابیسهای PDB

چک کردن سایز PDB:

select con_id, name, open_mode, total_size from v$pdbs;

چک کردن سایز CDB:

select sum(size)/1024/1024/1024 from cdb_data_files;

منبع

https://smarttechways.com/2018/04/23/check-the-size-of-oracle-database-and-pdbs-database/


پروژه شما نیاز به ارتباط با دیتابیس اوراکل داره و شما نیاز به نصب Oracle Client دارید. اینجا دیگه نباید از ایمیج alpine استفاده کنید (

توضیحات بیشتر) بلکه باید از ایمیج oracle linux slime که اوراکل ارائه داده استفاده کنید. داکر فایل قرار داده شده در ریپازیتوری زیر به ما در ایجاد داکر فایل شخصی خودمون کمک خواهد کرد:

https://github.com/oracle/docker-images/tree/master/OracleInstantClient

من داکر فایل‌ام رو به شکل زیر نوشتم و به سادگی تونستم پروژه خودم رو به اوراکل متصل کنم:

نکته: در هنگام اتصال به اوراکل دیگه از آی پی هاست نباید استفاده کنید و باید آی پی داکری ماشین اوراکل دیتابیس سرور رو پیدا و استفاده کنید.

FROM oraclelinux:7-slim

ARG release=19
ARG update=3
# define the directory to work in
WORKDIR /code
# copy the requirements.txt file to the work directory
COPY requirements.txt .

RUN yum -y install oracle-release-el7 && yum-config-manager --enable ol7_oracle_instantclient && \
yum -y install oracle-instantclient${release}.${update}-basic oracle-instantclient${release}.${update}-devel oracle-instantclient${release}.${update}-sqlplus && \
rm -rf /var/cache/yum && \
yum -y install oracle-epel-release-el7 && \
yum -y install python36 && \
yum -y install vim sudo && \
ln -fs /usr/bin/python3 /usr/bin/python && \
python3 -m pip install --no-cache-dir -r requirements.txt

# Optional Oracle Network or Oracle client configuration files can be
# copied to the default configuration file directory. These files
# include tnsnames.ora, sqlnet.ora, oraaccess.xml and cwallet.sso.
# For example:
# COPY wallet/* /usr/lib/oracle/${release}.${update}/client64/lib/network/admin

# Uncomment if the tools package is added
# ENV PATH=$PATH:/usr/lib/oracle/${release}.${update}/client64/bin

# Copy rest of the source code
COPY src/ src/
# EXPOSE the needed ports, for example 8080
EXPOSE 8080
# Running Command or Entry Point
CMD python src/app.py
CMD tail -f /dev/null

اول از همه چیز باید هدف داکر یادمون باشه، سلامت یک پروژه با حداقل بسته‌های وابستگی! پس برای پروژه نرم‌افزاری خودتون تا جایی که می‌تونید حداقل پابستگی‌ها را در فایل Requirements.txt مشخص کنید.

با کم کردن حجم شما برای خودتون بهترین رویکرد در deploy رو با کم کردن حجم دانلودها، حجم push ها به سرور عملیاتی رو ایجاد کردید. پس این نکات وقتی دارید داکر ایمیج ایجاد می‌کنید توی ذهنتون باشه.

ادامه مطلب


یه مشکل نتورکی داریم ولی نمیدونیم مشکل دقیقا از کجاست؟؟ توی این مواقع به غیر از خوندن لاگ لیسینر توصیه میشه trace رو در سطح لیسینر فعال کنید که جزییات بیشتری رو بتونید آنالیز و tshot کنید.

فعالسازی با تنظیم:

پارمترهای listener.ora

DIAG_ADR_ENABLED_LISTNER=OFF 
TRACE_DIRECTORY_LISTENER = <path>
TRACE_LEVEL_LISTENER = 16

پارامترهای sqlnet.ora

DIAG_ADR_ENABLED=OFF 
TRACE_LEVEL_SERVER = 16
TRACE_DIRECTORY_SERVER = <path>

داکر برای راحت‌تر کردن فرآیند build, test و deploy و اجرای سرویس‌ها به صورت پرتابل ساخته شده است. داکر به صورت خودکار آبجکت‌هایی که دیگه ازشون استفاده نمیشه مثل کانتینرهای بدون استفاده، ایمیج‌های بدون استفاده، دیسک‌های مجازی بدون استفاده و شبکه‌های مجازی رو پاک نمیکنه. وقتی شما با داکر کار می‌کنید ممکنه بسیار آبجکت بدون استفاده در طول زمان ایجاد کنید این آبجکت‌های بدون استفاده فضای دیسک شما رو اشغال می‌کنند پس بهتره به صورت مدیریت شده اقدام به پاکسازی کنید.

ادامه مطلب


برای راه‌اندازی اوراکل ۱۹.۳ بر روی داکر ابتدا باید داکر را بر روی پلتفرم هاست خود نصب کنید. برای نصب داکر از

وبسایت رسمی داکر شما نیاز به ساخت اکانت در داکر هاب دارید. بعد از ساخت اکانت و نصب

 Docker Desktop با کلیک بر روی اون داکر به سادگی اجرا میشه.

ادامه مطلب


باطری‌های Lithium Ion که امروزه مورد استفاده لپ‌تاپ‌ها هستند با رعایت نکردن برخی اقدامات به سادگی خراب می‌گردند. نکات زیر به شما در نگهداری صحیح این باطری‌ها کمک می‌کند.

۱- در ابتدا شارژ باطری را تا ۳ درصد خالی کنید و بعد از آن کاملاً شارژ نمائید. (برای بار اول حدود ۸ ساعت شارژ شود.)

۲- شارژ باطری نباید هیچ زمانی کمتر از ۳ درصد خالی شود. خالی کردن شارژ باطری تا صفر درصد ممنوع می‌باشد و اگر این کار انجام گردد باطری به سادگی خراب می‌شود یا عمر آن کم می‌گردد.

۳- اگر باطری برای ۲ روز متمادی در حال شارژ شدن است لطفاً شارژ باطری را یکبار خالی و مجدداً شارژ نمایید.

۴- حتماً توجه فرمایید قبل از انبار کردن باطری آن را بیشتر از ۵۰ درصد شارژ نمایید. (شارژ کمتر از ۵۰ درصد باعث خرابی باطری می‌گردد.)

۵- بهترین شرایط برای استفاده از باطری خالی کردن شارژ آن تا ۳ درصد و مجدد شارژ نمودن آن حداقل هفته‌ای یکبار است.

۶- باطری باید از گرما و ولتاژ بالا و دور از دسترس کودکان باشد.

۷- اگر باطری برای زمان زیادی استفاده شده (بیش از ۲ سال) باطری باید تعویض شود تا از احتمالات مترقبه جلوگیری کند.

۸- هنگامی که باطری جدید تهیه می‌کنید و باطری توانایی شارژ شدن ندارد ممکن است مشکل شما از آداپتور باشد (مخصوصاً در لپ‌تاپ‌های برند DELL) در این مورد به متخصص مربوط مراجعه کنید.

۹- زمان کلی استفاده از شارژ باطری ارتباط مستقیم به نوع سخت‌افزار لپ‌تاپ و طراحی آن دارد.

نکات مهم

- هرگز باطری در حال استفاده یا شارژ شدن را از دستگاه خارج نکنید.

- وقتی شارژ باطری در حال اتمام است هرگز کمتر از ۳ درصد آن را خالی نکنید.


اوراکل حداقل نیازمندی‌های اساسی را برای نصب کامل و موفق دیتابیس اوراکل 19c بر روی توزیع اوراکل لینوکس ۷ (یا بالاتر) یا توزیع ردهت سازمانی نسخه ۷ یا بالاتر پلتفرم ۶۴ بیتی اعلام کرد.

در این مقاله راجع به نصب قدم به قدم دیتابیس 19c راهنمایی نمی‌کنیم. به عنوان مثال به ساخت کاربر oracle در سطح سیستم‌عامل و یا تنظیم متغیرهای محیطی در این مقاله پوشش داده نمی‌شوند. این موارد رو به طور کامل در مقاله دیگری تحت عنوان راهنمای نصب و راه‌اندازی دیتابیس 19c بر روی لینوکس پوشش داده خواهند شد.

پیشنیازهای اعلامی مبنی بر نصب و راه‌اندازی دیتابیس اوراکل به صورت Single Instance بر روی File System است اگر محیط شما شامل RAC و یا ASM است برای دریافت مشاوره از طریق صفحه

تماس با ما تماس بگیرید.

نیازمندی‌ها برای نصب و راه‌اندازی اوراکل 19c ریلیز ۶۴ بینی در اوراکل لینوکس ۷ ریلیز ۶۴ بیتی یا ردهت سازمانی نسخه ۷ و بالاتر

قبل از انجام نصب و راه‌اندازی حداقل نیازمندی‌های اعلام شده را برای جلوگیری از مشکلات در نصب با دقت مطالعه کنید.

ادامه مطلب


برای انجام این پروسه میشه از sqlplus  و با استفاده از دستور oradebug  اطلاعاتی را به دست آورد. فرمان oradebug hanganlyze اطلاعاتی را در فایل trace برای بررسی بیشتر ارائه خواهد کرد. روال کلی با استفاده از فرمان های  زیر است:

sqlplus / as sysdba
oradebug setmypid
oradebug unlimit
oradebug hanganlyze 3
oradebug dump ashdumpseconds 30
oradebug dump systemstate 266
oradebug tracefile_name

در مواقع هنگ کامل که با sqlplus / as sysdba به دیتابیس نمی توان متصل شد از سوئیچ زیر استفاده کنید:

sqlplus /nolog
set _prelim on

شاید برای شما هم اتفاق افتاده باشه که در telnet client لینوکس بعد از اتصال موفق به ftp گیر کرده باشید!

[oracle@pydev ~]$ telnet 172.30.23.26 21
Trying 172.30.23.26.
Connected to 172.30.23.26.
Escape character is '^]'.
220 Microsoft FTP Service

در این مواقع ctrl+c یا ctrl+z نیز ما رو از محیط این برنامه خارج نمیکنند!

[oracle@pydev ~]$ telnet 172.30.23.26 21
Trying 172.30.23.26.
Connected to 172.30.23.26.
Escape character is '^]'.
220 Microsoft FTP Service

^C
^C
^C
^C
^Z

در این مواقع شما یا باید منتظر شوید تا سرور ftp شما رو بیرون کند

Connection closed by foreign host.

یا با استفاده از دکمه ctrl+] (کنترل + براکت بسته) و سپس اینتر وارد خط لاین telnet شوید و با q از محیط ftp client لینوکس خارج شوید.

[oracle@pydev ~]$ telnet 172.30.23.26 21
Trying 172.30.23.26.
Connected to 172.30.23.26.
Escape character is '^]'.
220 Microsoft FTP Service

^]

telnet> q
Connection closed.
[oracle@pydev ~]$

یه مشکل اذیت کننده توی Anyconnect نسخه ۴.۶ مک این ه که هربار URL جدید وارد می‌کنید بعد از بستن برنامه و باز کردن مجدد آن این URL فراموش میشه و آدرس قدیمی به کاربر نشان داده میشه

کافیه به مسیر زیر برید و فایل profile.xml را باز کنید

sudo vim /opt/cisco/anyconnect/profile/profile.xml

و حالا بخش زیر رو ویرایش کنید

        <ServerList>
                <HostEntry>
                    <HostName>C.20DNSC.IN</HostName>
                    <HostAddress>C.20DNSC.IN</HostAddress>
                </HostEntry>
        </ServerList>


آخرین مطالب

آخرین ارسال ها

آخرین وبلاگ ها

آخرین جستجو ها