ESC را فشار دهید تا بسته شود

زمیوس آموزش، یادگیری و سرگرمی

راهنمای جامع نصب و تنظیم Oracle Database روی لینوکس | آموزش گام‌به‌گام

مقدمه: چرا Oracle Database روی لینوکس؟

اگر می‌خواهید یک پایگاه داده حرفه‌ای و بهینه برای محیط‌های تولیدی (Production) راه‌اندازی کنید، Oracle Database روی لینوکس بهترین انتخاب است.

لینوکس و اوراکل یک ترکیب عالی برای عملکرد بالا، امنیت و پایداری هستند.

در این مقاله آموزش پایگاه داده اوراکل، راهنمای کامل نصب، پیکربندی، حل مشکلات و بهینه‌سازی Oracle Database روی لینوکس را به صورت گام‌به‌گام و کاربردی ارائه می‌کنیم.

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

در این نوشته شما می خوانید

پیش‌نیازهای سخت‌افزاری و نرم‌افزاری

✅ مشخصات سخت‌افزاری لازم برای نصب اوراکل

  • RAM: حداقل ۲ گیگابایت (پیشنهادی: ۸ گیگابایت)
  • فضای دیسک: حداقل ۳۰ گیگابایت
  • CPU: پردازنده ۶۴ بیتی Intel/AMD

✅ توزیع‌های لینوکسی پیشنهادی برای نصب اوراکل

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

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

				
					cat /etc/os-release
				
			

آماده‌سازی سیستم قبل از نصب اوراکل

✅ نصب پیش‌نیازهای سیستم

				
					sudo yum install -y oracle-database-preinstall-19c

				
			

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

				
					sudo yum install -y binutils gcc glibc glibc-devel \
libaio libaio-devel ksh make sysstat unixODBC unixODBC-devel \
compat-libcap1 compat-libstdc++-33 libXi libXtst

				
			

✅ ایجاد کاربر Oracle و تنظیم مجوزها

				
					sudo groupadd -g 54321 oinstall
sudo groupadd -g 54322 dba
sudo useradd -u 54321 -g oinstall -G dba oracle
echo "oracle:oracle" | sudo chpasswd

				
			

تنظیمات کرنل و حافظه برای عملکرد بهتر اوراکل

✅ تنظیم کرنل برای جلوگیری از خطاهای رایج

				
					sudo tee -a /etc/sysctl.conf <<EOF
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
EOF
sudo sysctl -p

				
			

✅ غیرفعال کردن Transparent HugePages (THP)

				
					echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
chmod +x /etc/rc.local

				
			

نصب و راه‌اندازی اوراکل روی لینوکس

✅ دانلود و استخراج Oracle Database 19c

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

				
					unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/product/19c/dbhome_1

				
			

✅ اجرای نصب Oracle با GUI یا بدون GUI

برای نصب بدون رابط گرافیکی:

				
					cd /u01/app/oracle/product/19c/dbhome_1
./runInstaller -silent -ignorePrereq -responseFile /path/to/response.rsp

				
			

تنظیمات شبکه‌ای اوراکل و Listener

✅ راه‌اندازی Listener

				
					netca
				
			

برای بررسی وضعیت Listener:

				
					lsnrctl status

				
			

✅ پیکربندی فایل tnsnames.ora برای اتصال از راه دور

				
					ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

				
			

✅ فعال کردن اتصال از راه دور در sqlnet.ora

				
					SQLNET.ALLOWED_LOGON_VERSION_CLIENT=11
SQLNET.ALLOWED_LOGON_VERSION_SERVER=11

				
			

بهینه‌سازی عملکرد اوراکل پس از نصب

✅ افزایش مقدار حافظه مدیریت شده به‌صورت خودکار (AMM)

				
					ALTER SYSTEM SET MEMORY_TARGET=2G SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET=2G SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

				
			

✅ فعال کردن Parallel Query Execution برای بهبود عملکرد

				
					ALTER SYSTEM SET parallel_degree_policy = AUTO;
ALTER SYSTEM SET parallel_max_servers = 16;

				
			

✅ جلوگیری از خطای ORA-01555: snapshot too old

				
					ALTER DATABASE SET UNDO_TABLESPACE = UNDO_TBS1;
				
			

حل مشکلات رایج هنگام نصب و اجرای اوراکل

✅ رفع خطای ORA-12154: TNS:could not resolve the connect identifier specified

بررسی مقدار ORACLE_SID و ORACLE_HOME

				
					echo $ORACLE_SID
echo $ORACLE_HOME

				
			

بررسی تنظیمات tnsnames.ora و listener.ora

✅ رفع خطای ORA-00020: maximum number of processes exceeded

				
					ALTER SYSTEM SET PROCESSES=500 SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

				
			

پشتیبان‌گیری و بازیابی پایگاه داده اوراکل

✅ پشتیبان‌گیری با RMAN

				
					rman target /
BACKUP DATABASE FORMAT '/backup/%U.bkp';

				
			

✅ بازیابی دیتابیس از RMAN

				
					rman target /
RESTORE DATABASE;
RECOVER DATABASE;
				
			

سوالات متداول درباره نصب Oracle Database روی لینوکس

برای نصب Oracle Database روی لینوکس مراحل زیر را طی کنید:

  1. بررسی نسخه لینوکس با دستور cat /etc/os-release
  2. نصب پیش‌نیازها با yum install oracle-database-preinstall-19c
  3. ایجاد کاربر oracle و تنظیم مجوزها
  4. دانلود فایل نصب اوراکل و اجرای runInstaller
  5. راه‌اندازی Listener با netca و پیکربندی tnsnames.ora
  6. تست اتصال به پایگاه داده با sqlplus system@ORCL

این خطا معمولاً به دلیل مشکل در تنظیمات شبکه‌ای اوراکل رخ می‌دهد. برای رفع آن:
✅ بررسی کن که فایل tnsnames.ora در مسیر $ORACLE_HOME/network/admin/ تنظیمات صحیحی داشته باشد.
✅ مقدار ORACLE_HOME و ORACLE_SID را با دستور echo $ORACLE_SID بررسی کن.
✅ دستور lsnrctl status را اجرا کن تا مطمئن شوی Listener فعال است.

برای بهینه‌سازی اوراکل روی لینوکس و افزایش سرعت اجرای کوئری‌ها:
✔ فعال‌سازی Parallel Query Execution:

ALTER SYSTEM SET parallel_degree_policy = AUTO;
ALTER SYSTEM SET parallel_max_servers = 16;

✔ افزایش مقدار SGA و PGA برای مدیریت بهتر حافظه:

ALTER SYSTEM SET MEMORY_TARGET=2G SCOPE=SPFILE;
ALTER SYSTEM SET MEMORY_MAX_TARGET=2G SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

✔ بررسی مصرف منابع با دستور:

SELECT * FROM v$sysstat WHERE name LIKE ‘CPU%’;

Listener در اوراکل برای مدیریت اتصالات ورودی به پایگاه داده استفاده می‌شود.

برای راه‌اندازی: اجرای netca و ایجاد یک Listener جدید

بررسی وضعیت Listener با:

lsnrctl status

راه‌اندازی دستی Listener با:

lsnrctl start

تنظیمات listener.ora را بررسی کن و مقدار HOST را روی ۰.۰.۰.۰ یا نام سرور قرار بده.

🔹 برای جلوگیری از از دست رفتن اطلاعات پایگاه داده، پشتیبان‌گیری با RMAN ضروری است.

✅ پشتیبان‌گیری کامل از پایگاه داده:

rman target /
BACKUP DATABASE FORMAT ‘/backup/%U.bkp’;

✅ بازیابی پایگاه داده از بکاپ RMAN:

rman target /
RESTORE DATABASE;
RECOVER DATABASE;

✅ بررسی لاگ‌های بازیابی:

SELECT * FROM v$backup;

این خطا زمانی رخ می‌دهد که تعداد اتصالات همزمان به پایگاه داده از مقدار تعیین‌شده در init.ora بیشتر شود.

✅ بررسی مقدار فعلی:

SHOW PARAMETER PROCESSES;

افزایش تعداد مجاز اتصالات:

ALTER SYSTEM SET PROCESSES=500 SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP;

مدیریت بهتر اتصالات با محدود کردن idle sessions:

ALTER PROFILE DEFAULT LIMIT IDLE_TIME 10;

این خطا معمولاً هنگام اجرای کوئری‌های طولانی و حجیم رخ می‌دهد که فضای UNDO Tablespace کافی نیست.

✅ بررسی میزان فضای موجود در UNDO Tablespace:

SELECT tablespace_name, file_name, bytes/1024/1024 AS size_mb FROM dba_data_files WHERE tablespace_name = ‘UNDOTBS1’;

 

✅ افزایش فضای UNDO Tablespace برای جلوگیری از این خطا:

ALTER DATABASE DATAFILE ‘/u01/app/oracle/oradata/ORCL/undotbs01.dbf’ RESIZE 2G;

 

✅ تنظیم UNDO_RETENTION برای حفظ اطلاعات بیشتر در UNDO Tablespace:

ALTER SYSTEM SET UNDO_RETENTION = 900;

 

✅ ساخت UNDO Tablespace جدید و استفاده از آن:

CREATE UNDO TABLESPACE UNDO_TBS2 DATAFILE ‘/u01/app/oracle/oradata/ORCL/undotbs02.dbf’ SIZE 2G AUTOEXTEND ON;
ALTER DATABASE SET UNDO_TABLESPACE = UNDO_TBS2;

📌 اجرای کوئری‌های بهینه و افزایش فضای UNDO می‌تواند از بروز این مشکل جلوگیری کند. در مقاله، راهکارهای بهینه‌سازی بیشتر ارائه شده است.

 

 

نتیجه‌گیری : چرا این راهنما بهترین روش نصب اوراکل روی لینوکس است؟

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

با این آموزش، Oracle Database شما در لینوکس بدون مشکل و با بالاترین کارایی اجرا خواهد شد.

📢 اگر شما هم تجربه ای در نصب اوراکل روی لینوکس را دارید در بخش کامنت‌ها آن را به اشتراک بگذارید! 🚀

میثم راد

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *