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

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

راهنمای جامع دستورات پرکاربرد لینوکس برای مدیران پایگاه داده اوراکل

مقدمه: آشنایی با دستورات کاربردی لینوکس برای مدیران پایگاه داده اوراکل

در دنیای مدیریت پایگاه داده اوراکل، آشنایی با دستورات پرکاربرد لینوکس امری ضروری است.

این دستورات به مدیران پایگاه داده (DBA) کمک می‌کنند تا سیستم‌ها را بهینه مدیریت کرده و عملکرد بهتری را ارائه دهند.

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

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

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

مدیریت کاربران و دسترسی‌ها

بررسی کاربر جاری

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

				
					whoami

				
			

تغییر به کاربر اوراکل

برای تغییر به کاربر اوراکل و دسترسی به محیط آن:

				
					su - oracle
				
			

بررسی کاربران متصل به سیستم

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

				
					who
				
			

تغییر رمز عبور کاربر اوراکل

برای تغییر رمز عبور کاربر اوراکل:

				
					passwd oracle
				
			

مدیریت فرآیندهای اوراکل

بررسی فرآیندهای مربوط به اوراکل

برای مشاهده فرآیندهای در حال اجرای اوراکل:

				
					ps -ef | grep pmon

				
			

توقف فرآیندهای اوراکل (در مواقع ضروری)

برای متوقف کردن یک فرآیند خاص با استفاده از شناسه فرآیند (PID):

				
					kill -9 <pid>
				
			

بررسی استفاده از منابع توسط فرآیندهای اوراکل

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

				
					top -u oracle
				
			

مدیریت سرویس‌های اوراکل

بررسی وضعیت Listener

برای مشاهده وضعیت Listener اوراکل:

				
					lsnrctl status

				
			

راه‌اندازی Listener

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

				
					lsnrctl start

				
			

متوقف کردن Listener

برای متوقف کردن Listener:

				
					lsnrctl stop
				
			

بررسی وضعیت دیتابیس

برای مشاهده وضعیت دیتابیس:

				
					sqlplus / as sysdba
SQL> select instance_name, status from v$instance;

				
			

مدیریت فضای ذخیره‌سازی و فایل‌ها

بررسی فضای دیسک

برای مشاهده فضای استفاده‌شده و باقی‌مانده دیسک:

				
					df -h
				
			

بررسی فضای اشغال‌شده توسط اوراکل

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

				
					du -sh /u01/app/oracle
				
			

فهرست فایل‌های لاگ اوراکل

 برای مشاهده لیست فایل‌های لاگ اوراکل:

				
					ls -lh /u01/app/oracle/diag/rdbms/*/trace/
				
			

مشاهده آخرین خطوط فایل لاگ

برای مشاهده زنده آخرین خطوط فایل لاگ:

				
					tail -f /u01/app/oracle/diag/rdbms/*/trace/alert_*.log
				
			

مدیریت شبکه و پورت‌ها

بررسی وضعیت پورت‌های باز

برای مشاهده پورت‌های باز و فرآیندهای مرتبط:

				
					netstat -tulnp | grep oracle
				
			

بررسی ارتباط با پایگاه داده از طریق پورت

برای تست اتصال به پایگاه داده از طریق پورت ۱۵۲۱:

				
					telnet <db_host> ۱۵۲۱
				
			

تست دسترسی به پایگاه داده با tnsping

برای تست دسترسی به سرویس اوراکل:

				
					tnsping ORCL
				
			

مدیریت پشتیبان‌گیری و بازیابی

بررسی فایل‌های پشتیبان در RMAN

برای مشاهده لیست فایل‌های پشتیبان:

				
					rman target /
RMAN> list backup;
				
			

گرفتن بکاپ کامل

برای گرفتن پشتیبان کامل از دیتابیس:

				
					rman target /
RMAN> backup database plus archivelog;

				
			

بازیابی دیتابیس از بکاپ

برای بازیابی دیتابیس از پشتیبان:

				
					rman target /
RMAN> restore database;
RMAN> recover database;
				
			

مدیریت کرون‌جاب برای اجرای وظایف خودکار

ویرایش وظایف زمان‌بندی شده

برای ویرایش کرون‌جاب‌ها:

				
					crontab -e

				
			

نمایش وظایف زمان‌بندی شده

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

				
					crontab -l
				
			

افزودن یک بکاپ روزانه

برای افزودن وظیفه پشتیبان‌گیری روزانه در ساعت ۲ بامداد:

				
					۰ ۲ * * * /u01/app/oracle/scripts/backup.sh

				
			

بررسی و نظارت بر عملکرد اوراکل

بررسی نشست‌های فعال در پایگاه داده

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

				
					sqlplus / as sysdba
SQL> select * from v$session;

				
			

مشاهده فرآیندهای پایگاه داده

برای مشاهده فرآیندهای پایگاه داده که در حال اجرا هستند:

				
					SQL> select * from v$process;
				
			

بررسی کوئری‌های در حال اجرا

برای مشاهده کوئری‌های در حال اجرا و بررسی عملکرد SQL:

				
					SQL> select * from v$sql where rownum <= 10;
				
			

بررسی وضعیت Undo Tablespace

برای مشاهده اطلاعات مربوط به Undo Tablespace که روی پایگاه داده تأثیرگذار است:

				
					SQL> select tablespace_name, file_name from dba_data_files 
where tablespace_name like 'UNDO%';

				
			

مدیریت اشکال‌زدایی و مشکلات در اوراکل

بررسی پیام‌های خطای سیستم

مشاهده خطاهای اخیر سیستم که می‌تواند روی اوراکل تأثیر بگذارد:

				
					dmesg | tail -20
				
			

مشاهده فایل‌های خطای اوراکل

برای یافتن پیام‌های خطای ORA در فایل‌های لاگ:

				
					grep ORA- /u01/app/oracle/diag/rdbms/*/trace/alert_*.log

				
			

بررسی مصرف حافظه به تفکیک فرآیند

مشاهده میزان مصرف حافظه برای یک فرآیند خاص:

				
					pmap -x <pid>
				
			

بررسی لاگ‌های مربوط به Listener برای خطایابی

				
					cat /u01/app/oracle/diag/tnslsnr/$(hostname)
/listener/alert/log.xml
| grep "WARNING" -A 5
				
			

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

مشاهده و آزادسازی فضای استفاده‌شده توسط جداول نامعتبر

				
					SQL> select segment_name, segment_type, tablespace_name, 
bytes/1024/1024 as size_mb from dba_segments 
where segment_type='TABLE';
				
			

بررسی استفاده از شاخص‌ها (Indexes)

				
					SQL> select index_name, table_name, num_rows 
from dba_indexes where table_name='Table_Name';
				
			

بازسازی شاخص‌ها برای بهینه‌سازی

				
					SQL> alter index Shakhes_Name rebuild;
				
			

بررسی اندازه جداول و میزان استفاده از فضای ذخیره‌سازی

				
					SQL> select table_name, num_rows, blocks, empty_blocks 
from dba_tables where table_name='Table_Name';
				
			

اتوماسیون وظایف پایگاه داده با اسکریپت‌های شل

نمونه اسکریپت برای گرفتن پشتیبان روزانه از دیتابیس با RMAN

				
					#!/bin/bash
export ORACLE_SID=orcl
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
rman target / <<EOF
backup database plus archivelog;
exit;
EOF
				
			

نمونه اسکریپت برای حذف فایل‌های لاگ قدیمی

				
					#!/bin/bash
find /u01/app/oracle/diag/rdbms/*/trace/ -type f -name 
"*.log" -mtime +7 -exec rm -f {} \;
				
			

نمونه کرون‌جاب برای اجرای اسکریپت‌های مدیریتی

				
					۰ ۳ * * * /u01/app/oracle/scripts/db_backup.sh
۰ ۴ * * * /u01/app/oracle/scripts/clean_logs.sh
				
			

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

غیرفعال کردن کاربران غیرضروری

				
					sudo userdel testuser
				
			

تغییر مجوزهای دسترسی برای جلوگیری از افشای اطلاعات

				
					chmod -R 700 /u01/app/oracle/
				
			

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

				
					sudo iptables -A INPUT -p tcp --dport 1521 -s 
۱۹۲.۱۶۸.۱.۰/۲۴ -j ACCEPT

sudo iptables -A INPUT -p tcp --dport 1521 -j DROP
				
			

فعال‌سازی Auditing برای نظارت بر فعالیت‌های کاربران

				
					SQL> audit session;

				
			

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

برای بررسی وضعیت دیتابیس اوراکل و اطمینان از فعال بودن آن، می‌توانید از SQL*Plus استفاده کنید:

sqlplus / as sysdba
SQL> select instance_name, status from v$instance;

همچنین برای بررسی سرویس Listener که وظیفه مدیریت اتصالات پایگاه داده را دارد، می‌توان از دستور زیر استفاده کرد:

lsnrctl status

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

sqlplus / as sysdba
SQL> startup;

برای خاموش کردن پایگاه داده به‌صورت ایمن:

SQL> shutdown immediate;

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

برای بررسی کاربران فعال در پایگاه داده و مشاهده نشست‌های جاری:

sqlplus / as sysdba
SQL> select username, sid, serial# from v$session where username is not null;

همچنین برای مشاهده فعالیت کاربران:

SQL> select * from v$session where status=’ACTIVE’;

پشتیبان‌گیری از پایگاه داده با استفاده از RMAN:

rman target /
RMAN> backup database plus archivelog;

برای بررسی لیست پشتیبان‌های موجود:

RMAN> list backup;

همچنین می‌توان یک اسکریپت برای اجرای روزانه پشتیبان‌گیری ایجاد کرد و در کرون‌جاب قرار داد.

برای مشاهده لاگ‌های مربوط به عملکرد پایگاه داده:

tail -f /u01/app/oracle/diag/rdbms/*/trace/alert_*.log

برای جستجوی خطاهای ORA– در لاگ‌ها:

grep ORA- /u01/app/oracle/diag/rdbms/*/trace/alert_*.log

این دستورات به مدیران پایگاه داده کمک می‌کنند تا مشکلات را سریع‌تر شناسایی و برطرف کنند.

برای بررسی فضای دیسک در لینوکس:

df -h

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

du -sh /u01/app/oracle

همچنین برای مشاهده اندازه جداول در پایگاه داده:

sqlplus / as sysdba
SQL> select table_name, num_rows, blocks, empty_blocks from dba_tables where table_name=’نام_جدول’;

برای افزایش امنیت، می‌توان این اقدامات را انجام داد:

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

sudo iptables -A INPUT -p tcp –dport 1521 -j DROP

تغییر مجوزهای دسترسی به دایرکتوری اوراکل:

chmod -R 700 /u01/app/oracle/

فعال‌سازی Audit برای نظارت بر فعالیت کاربران:

sqlplus / as sysdba
SQL> audit session;

تغییر رمز عبور کاربران پایگاه داده به صورت منظم:

alter user system identified by ‘new_secure_password’;

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

نتیجه‌گیری

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

در این مقاله، دستورات ضروری برای مدیریت کاربران، فرآیندها، فضای ذخیره‌سازی، پشتیبان‌گیری، امنیت و بهینه‌سازی پایگاه داده بررسی شدند.

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

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

میثم راد

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

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

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