FTP
شما میتونید از FTP در ASM استفاده کنید این قابلیت از طریق محصول Oracle XML DB پشتیبانی میشه پس شما باید این قابلیت رو نصب داشته باشید که به طور معمول در هنگام ایجاد دیتابیس نصب میشه و احتمالاً همین الان این ویژگی رو نصب دارید.
اگه این قابلیت رو نداشتید و یا نیاز داشتید در یک نصب جدید اون رو فعال کنید باید موقع ایجاد دیتابیس (DBCA) تیک مربوط رو بزنید و در صورت تمایل میتونید از طریق ویزارد پیکربندیهای مورد نیاز رو انجام بدید:
موقع نصب database software نیازی به این قابلیتها به طور معمول نیست مگر اینکه ادمین تشخصی بده پس من همهی تیکها رو برمیدارم
تو مرحله ۸ در ویزارد DBCA ما به پنجره زیر میرسیم که من به غیر از قابلیت Oracle XML DB قابلیت دیگهای رو نیاز ندارم
روی Customize کلیک میکنیم و در صورت تمایل این قابلیت رو از این طریق پیکربندی میکنیم
خب اولین قدم اینه که این قابلیت رو در دیتابیسی که به ASM متصل هستش به صورت دستی (یا از طریق ویزارد) با اسکریپت catdbdbca.sql فعال و پیکربندی کنیم(بعضی پلتفرمها ممکنه پیکربندی بیشتری احتیاج داشته باشن اما برای من که بدون مشکل کار کرد).
این اسکریپت در دایرکتوری ORACLE_HOME/rdbms/admin پیدا میشه. وقتی اسکریپت رو اجرا کنید میتونید برای دو تا پارامتر لحاظش کنید؛ یکی برای پورت سرویس FTP و یکی برای پورت سرویس HTTP (اولین پارمتر برای پورت FTP و پارامتر دوم برای پورت HTTP)
اگه من بخوام از طریق ویزارد این پیکربندی رو انجام بدم به صورت زیر باید انجام بشه
این سرویس برای انتقال فایلها بین سرورهای مختلف با Oracle Data Pump عالیه البته میتونید کلی استفاده ازش دربیارید اینکار رو به خودتون واگذار میکنم.
@?/rdbms/admin/catxdbdbca 7787 8080
وقتی این اسکریپت رو اجرا کردید وقتشه با یه ftp client به سرورمون متصل بشیم:
(کاربری که من باهاش به FTP متصل شدم کاربر SYSTEM هستش)
C:\oracle\product\10.2.0\DB01\RDBMS\ADMIN>ftp ftp> open localhost 7787 Connected to RobertsDellXPS. 220- RobertsDellXPS Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution. 220 RobertsDellXPS FTP Server (Oracle XML DB/Oracle Database) ready. User (RobertsDellXPS:(none)): system 331 pass required for SYSTEM Password: 230 SYSTEM logged in ftp> dir 200 PORT Command successful 150 ASCII Data Connection drw-r--r-- 2 SYS oracle 0 JAN 21 22:20 home drw-r--r-- 2 SYS oracle 0 AUG 30 14:28 public drw-r--r-- 2 SYS oracle 0 JAN 21 22:20 sys -rw-r--r-- 1 SYS oracle 0 JAN 31 02:31 xdbconfig.xml 226 ASCII Transfer Complete ftp: 250 bytes received in 0.06Seconds 3.97Kbytes/sec.
حالا میتونید به دایرکتوری ASM برید (مسیر /sys/asm مثل مثال زیر)
ftp> cd sys 250 CWD Command successful ftp> dir 200 PORT Command successful 150 ASCII Data Connection drw-r--r-- 2 SYS oracle 0 AUG 30 14:28 acls drw-r--r-- 2 SYS oracle 0 AUG 30 14:28 apps drw-r--r-- 2 SYS oracle 0 AUG 30 14:28 asm -rw-r--r-- 1 SYS oracle 0 JAN 21 22:20 databaseSummary.xml drw-r--r-- 2 SYS oracle 0 AUG 30 14:28 log drw-r--r-- 2 SYS oracle 0 AUG 30 14:28 oid drw-r--r-- 2 SYS oracle 0 JAN 21 22:20 schemas 226 ASCII Transfer Complete ftp: 435 bytes received in 0.00Seconds 435000.00Kbytes/sec. ftp> cd asm 250 CWD Command successful ftp> dir 200 PORT Command successful 150 ASCII Data Connection drw-r--r-- 2 SYS oracle 0 JAN 31 02:37 COOKED_DGROUP2 drw-r--r-- 2 SYS oracle 0 JAN 31 02:37 COOKED_DGROUP1 226 ASCII Transfer Complete ftp: 140 bytes received in 0.70Seconds 0.20Kbytes/sec.
حالا میتونید فایلهای درون ASM رو کپی کنید:
ftp> get thread_1_seq_1.258.613091705 200 PORT Command successful 150 ASCII Data Connection 226 ASCII Transfer Complete ftp: 1152512 bytes received in 0.19Seconds 6130.38Kbytes/sec.
یا فایلی به دیسک گروههاتون ارسال کنید:
ftp> put myalias.dbf newdbf.dbf 200 PORT Command successful 150 BIN Data Connection 226 BIN Transfer Complete ftp: 10493952 bytes sent in 0.94Seconds 11199.52Kbytes/sec.
HTTP
وقتی شما اسکریپت catxdbdbca.sql رو اجرا میکنید سرویس HTTP رو هم در سطح دیتابیس با XMLDB راهانداز کردید.
اسکرین زیر نشون میده که من به HTTP سرور فعلی وصل و وارد یک دایکتوری زیر شدم
+cooked_dgroup2/rob10gr2/controlfile
البته قابل درکه که فقط شما از این سرویس قابلیت دانلود فایل دارید و قابلیت ارسال فایل رو ندارید.
منبع:
https://www.toadworld.com/platforms/oracle/w/wiki/1149.ftp-and-http-with-asm