
مقدمه: آشنایی با دستورات کاربردی لینوکس برای مدیران پایگاه داده اوراکل
در دنیای مدیریت پایگاه داده اوراکل، آشنایی با دستورات پرکاربرد لینوکس امری ضروری است.
این دستورات به مدیران پایگاه داده (DBA) کمک میکنند تا سیستمها را بهینه مدیریت کرده و عملکرد بهتری را ارائه دهند.
در این مقاله آموزش اوراکل، به بررسی جامع و کاربردی این دستورات خواهیم پرداخت.
اگر می خواهید با مفاهیم اولیه پایگاه داده اوراکل و معماری آن بیشتر آشنا بشید نوشته زیر را مطالعه کنید:
در این نوشته شما می خوانید
مدیریت کاربران و دسترسیها
بررسی کاربر جاری
برای مشاهده نام کاربری که در حال حاضر وارد سیستم شده است، از دستور زیر استفاده کنید:
whoami
تغییر به کاربر اوراکل
برای تغییر به کاربر اوراکل و دسترسی به محیط آن:
su - oracle
بررسی کاربران متصل به سیستم
برای مشاهده لیست کاربران متصل به سیستم:
who
تغییر رمز عبور کاربر اوراکل
برای تغییر رمز عبور کاربر اوراکل:
passwd oracle
مدیریت فرآیندهای اوراکل
بررسی فرآیندهای مربوط به اوراکل
برای مشاهده فرآیندهای در حال اجرای اوراکل:
ps -ef | grep pmon
توقف فرآیندهای اوراکل (در مواقع ضروری)
برای متوقف کردن یک فرآیند خاص با استفاده از شناسه فرآیند (PID):
kill -9
بررسی استفاده از منابع توسط فرآیندهای اوراکل
برای مشاهده مصرف منابع توسط فرآیندهای اوراکل:
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 ۱۵۲۱
تست دسترسی به پایگاه داده با 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
بررسی لاگهای مربوط به 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 / <
نمونه اسکریپت برای حذف فایلهای لاگ قدیمی
#!/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’;
این اقدامات، امنیت پایگاه داده اوراکل را در برابر حملات و دسترسیهای غیرمجاز افزایش میدهد.
نتیجهگیری
مدیران پایگاه داده اوراکل در لینوکس باید با مجموعهای از دستورات کاربردی آشنا باشند تا بتوانند سیستمهای خود را بهینه مدیریت کرده و عملکرد پایگاه داده را به حداکثر برسانند.
در این مقاله، دستورات ضروری برای مدیریت کاربران، فرآیندها، فضای ذخیرهسازی، پشتیبانگیری، امنیت و بهینهسازی پایگاه داده بررسی شدند.
با استفاده از این دستورات و استراتژیها، میتوان کارایی بالاتری در مدیریت پایگاه داده اوراکل داشت.
📢 اگر شما هم تجربه ای در استفاده از دستورات لینوکسی در اوراکل دارید در بخش کامنتها آن را به اشتراک بگذارید! 🚀
دیدگاهتان را بنویسید