
مقدمه: چرا Oracle Database روی لینوکس؟
اگر میخواهید یک پایگاه داده حرفهای و بهینه برای محیطهای تولیدی (Production) راهاندازی کنید، Oracle Database روی لینوکس بهترین انتخاب است.
لینوکس و اوراکل یک ترکیب عالی برای عملکرد بالا، امنیت و پایداری هستند.
در این مقاله آموزش پایگاه داده اوراکل، راهنمای کامل نصب، پیکربندی، حل مشکلات و بهینهسازی Oracle Database روی لینوکس را به صورت گامبهگام و کاربردی ارائه میکنیم.
اگر می خواهید قبل از نصب اوراکل کمی با دستورات لینوکس آشنا بشید نوشته زیر را مطالعه کنید:
در این نوشته شما می خوانید
پیشنیازهای سختافزاری و نرمافزاری
✅ مشخصات سختافزاری لازم برای نصب اوراکل
- RAM: حداقل ۲ گیگابایت (پیشنهادی: ۸ گیگابایت)
- فضای دیسک: حداقل ۳۰ گیگابایت
- CPU: پردازنده ۶۴ بیتی Intel/AMD
✅ توزیعهای لینوکسی پیشنهادی برای نصب اوراکل
اوراکل روی اکثر توزیعهای لینوکس قابل اجرا است، اما پیشنهاد میشود از نسخههای زیر استفاده کنید:
- Oracle Linux ۷, ۸, ۹ (پیشنهادی، پشتیبانی رسمی)
- Red Hat Enterprise Linux (RHEL) 7, 8, 9
- CentOS 7 (برای محیطهای تستی)
- Rocky Linux ۸, ۹ (جایگزین CentOS)
برای بررسی نسخه لینوکس، دستور زیر را اجرا کنید:
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 <
✅ غیرفعال کردن 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 روی لینوکس مراحل زیر را طی کنید:
- بررسی نسخه لینوکس با دستور
cat /etc/os-release
- نصب پیشنیازها با
yum install oracle-database-preinstall-19c
- ایجاد کاربر
oracle
و تنظیم مجوزها - دانلود فایل نصب اوراکل و اجرای
runInstaller
- راهاندازی Listener با
netca
و پیکربندیtnsnames.ora
- تست اتصال به پایگاه داده با
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 شما در لینوکس بدون مشکل و با بالاترین کارایی اجرا خواهد شد.
📢 اگر شما هم تجربه ای در نصب اوراکل روی لینوکس را دارید در بخش کامنتها آن را به اشتراک بگذارید! 🚀
دیدگاهتان را بنویسید