بطاقات مرجعية
مرجع سريع لـ Oracle وAPEX
تفاصيل الاتصال والروابط والأوامر التي تحتاجها يوميًا.
اتصال البيئة المحلية
- المضيف / المنفذ
- localhost / 1521
- الخدمة (PDB)
- FREEPDB1
- المسؤول
- SYSTEM
- رابط APEX
- http://localhost:8080/ords/apex
- EM Express
- https://localhost:5500/em
دورة حياة Docker
- تشغيل
- docker compose start
- إيقاف (حفظ البيانات)
- docker compose stop
- إزالة
- docker compose down
- إعادة ضبط
- docker compose down -v
- الحالة
- docker ps
APEXlang / SQLcl
- تصدير التطبيق
- apex export -applicationid 100 -exptype APEXLANG -dir ./app100
- استيراد التطبيق
- apex import -input ./app100/my-app
- اتصال
- sql user/pwd@//host:1521/FREEPDB1
SQL / PL-SQL سريع
- أعلى N
- FETCH FIRST 5 ROWS ONLY
- إدراج/تحديث
- MERGE INTO t USING s ON (…) WHEN MATCHED THEN UPDATE … WHEN NOT MATCHED THEN INSERT …
- معرّف تلقائي
- id NUMBER GENERATED ALWAYS AS IDENTITY
- دفعات
- FORALL i IN ind.FIRST..ind.LAST INSERT …
مقتطفات ذكاء القاعدة
- تفعيل الملف
- EXEC DBMS_CLOUD_AI.set_profile('HR_AI')
- اسأل
- SELECT AI how many orders this month
- راجع SQL
- SELECT AI showsql …
- أقرب 5 متجهات
- ORDER BY VECTOR_DISTANCE(embedding, :q, COSINE) FETCH FIRST 5 ROWS ONLY
مراجع ذكاء APEX
- التفعيل
- Workspace Utilities → Generative AI
- تطبيق توليدي
- Create → Create App using Generative AI
- المساعد
- Page Designer → AI Assistant
Claude Code لمطوّري أوراكل
شغّل وكيل برمجة ذكيًا على مشروع أوراكل حقيقي دون أن يقترب مما لا يجب لمسه، ودون إهدار الرموز.
إعداد آمن للوكيل
- منع الأوامر المدمّرة
- .claude/settings.json → "permissions": { "deny": ["Bash(git push --force:*)", "Bash(rm -rf:*)"] }
- إبقاء الأسرار غير مقروءة
- "deny": ["Read(./.env)", "Read(./**/wallet/**)"]
- حماية ملف الإعدادات نفسه
- "deny": ["Edit(.claude/settings.json)"]
- تطبيق مُتحقَّق من بصمته
- sha256sum -c apply.sql.sha256 && sql -S $DB_CONN @apply.sql
- مستخدم القاعدة للوكيل
- مستخدم بأقل صلاحيات؛ لا DBA ولا SYS ولا محفظة الإنتاج
سير عمل متعدد الوكلاء
- القائد
- يملك الخطة والعقود؛ يدمج ولا يعدّل بالجملة
- مسارات العمل
- مسار لكل مجموعة ملفات، فلا يكتب وكيلان في الملف نفسه
- المراجع
- خصم متعمَّد: قبل تثبيت العقد، وعند فشل اختبار مرتين، وقبل الإنهاء
- مراقب الحركة
- ينظّم الدمج ويفرض حدود المسارات ويمنع التداخل
- معنى «انتهى»
- اختبارات تمر على تثبيت نظيف، لا «تمت الترجمة»
قواعد توفير الرموز
- النموذج المناسب للمهمة
- نموذج كبير للتخطيط والمراجعة؛ وأصغر للتعديلات الآلية والبحث
- الفحص المركّز أولًا
- شغّل الاختبار الذي لمسته قبل المجموعة الكاملة
- حدود إعادة المحاولة في الكود
- MAX_RETRIES = 2 في السكربت، لا «حاول حتى ينجح» في الموجّه
- سياق صغير
- أشِر إلى الملفات وأرقام الأسطر؛ لا تلصق تصديرات كاملة
- قاعدة التوقف
- الفشل نفسه مرتين ← توقّف واستدعِ المراجع
SQLcl + Liquibase
- التقاط المخطط
- lb generate-schema -split
- معاينة SQL
- lb update-sql -changelog-file controller.xml
- النشر
- lb update -changelog-file controller.xml
- الحالة
- lb status -changelog-file controller.xml
- وسم إصدار
- lb tag -tag v1.2.0
- التراجع عن آخر تغيير
- lb rollback-count -count 1 -changelog-file controller.xml
- التراجع إلى وسم
- lb rollback -tag v1.2.0 -changelog-file controller.xml
مشاريع SQLcl
- بدء مشروع (مستودع git)
- project init -name myapp -schemas APP -makeroot
- تصدير الكائنات إلى src/
- project export
- تجهيز التغييرات من فرق git
- project stage
- إصدار النسخة
- project release -version 1.2.0
- بناء الحزمة
- project gen-artifact -version 1.2.0
- نشر الحزمة
- project deploy -file artifact/myapp-1.2.0.zip
- اختبار التثبيت النظيف
- انشر كل إصدار في مخطط فارغ قبل الشحن