الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

حجم Index خمسه اضعاف حجم Table

Featured Replies

بتاريخ:

السلام عليكم ورحمه الله وبركاته
انا ملاحظ ان حجم index عندي اصبح غير طبيعيا فقد وصل الي 11 جيجا وحجم table وصصل 2.5جيجا فقط فهل هناك خطا وما هو علاجه واعاده الامور الي طبيعتها وشكرا

بتاريخ:

اخي الكريم

يجب ترفق لنـا structure for table و structure for index حتى يمكن تحديد المشكله بشكل أدق.
على كل حال يمكنك ان تعيد بناء index وذلك باستخدام rebuild index
alter index scott.pk_emp rebuild;
سوف يقوم بأعادة بناء index (الجديد )وبعد الانتهاء من البناء يقوم بمسح القديم .. ولذلك يتطلب وجود space كافي لأجراء هذه العمليه , واثناء عملية rebuild لا تؤثر على اي query على هذا table.

بتاريخ:
  • كاتب الموضوع

اليك يا اخي شكل وصف الجدول

CREATE TABLE DEBIT_ACCOUNT (
DOC_CODE NUMBER (9) NOT NULL,
DOC_NO_D NUMBER (18) NOT NULL,
DOC_DATE DATE NOT NULL,
TOTAL_VALUE NUMBER (12,2) NOT NULL,
CURRENCY_CODE NUMBER (4),
ACCOUNT_CODE NUMBER (9),
PART_VALUE NUMBER (12,2),
SALE_TAX NUMBER (12,2),
ADD_TAX NUMBER (12,2),
ANOTHER_TAX NUMBER (12,2),
REPRESENT_CODE NUMBER (8),
CUST_CODE NUMBER (9),
PAID_VALUE NUMBER (12,2) DEFAULT 0,
MENU_NO NUMBER (8),
EXCHANGE NUMBER (12,2) DEFAULT 1,
DECLARATION VARCHAR2 (240),
FLAG NUMBER (2),
FLAG1 NUMBER (2),
BRANCH_CODE NUMBER (2) NOT NULL,
EDIT_DATE DATE,
PAY_DATE DATE,
BANK_CODE NUMBER (3),
BRANCH_BANK_CODE NUMBER (3),
STATE NUMBER (2) DEFAULT 0,
PAYMENT_CODE NUMBER (2) DEFAULT 0,
UNDER_CASH_FLAG NUMBER (2) DEFAULT 0,
OLD_CUST NUMBER (9),
BRANCH_CODE1 NUMBER (2),
TEST NUMBER (12,2) DEFAULT 0,
ORDER_NO NUMBER (8),
ORDER_DATE DATE,
INV_NO NUMBER (8),
INV_DATE DATE,
INV_CODE NUMBER (2),
AUDITOR_FLAG NUMBER (2) DEFAULT 0,
COUPON_NO NUMBER (8) DEFAULT 0,
JURIST_FLAG NUMBER (1) DEFAULT 0,
INV_BACK_FLAG NUMBER (1),
SOURCE NUMBER (1) DEFAULT 0,
ACTION_USER_DATE VARCHAR2 (50),
PERIOD_FLAG NUMBER (2) DEFAULT 0,
CONSTRAINT DA1_PK
PRIMARY KEY ( DOC_NO_D, DOC_DATE, DOC_CODE, BRANCH_CODE )
USING INDEX
TABLESPACE INDX PCTFREE 10
STORAGE ( INITIAL 10485760 NEXT 99434496 PCTINCREASE 50 ))
TABLESPACE NILE_DATA NOLOGGING
PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255
STORAGE (
INITIAL 40960
NEXT 4882432
PCTINCREASE 10
MINEXTENTS 1
MAXEXTENTS 10240
FREELISTS 1 FREELIST GROUPS 1 )
NOCACHE;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT BRANCHE1
FOREIGN KEY (BRANCH_CODE)
REFERENCES TSW.NBRANCH (NBR_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT REPRESENT1
FOREIGN KEY (REPRESENT_CODE)
REFERENCES TSW.REP_MASTER (REP_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT PERIOD_F_K
FOREIGN KEY (PERIOD_FLAG)
REFERENCES CUST.PERIOD_TYPE (PERIOD_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DEBIT_ACCOUNT_CUSTOMER
FOREIGN KEY (ACCOUNT_CODE)
REFERENCES TSW.CUSTOMER (CUST_CODE) DISABLE ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DEBIT_ACCOUNT_CUSTOMER1
FOREIGN KEY (CUST_CODE)
REFERENCES TSW.CUSTOMER (CUST_CODE) DISABLE ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DA1_CUR_FK
FOREIGN KEY (CURRENCY_CODE)
REFERENCES CUST.CURRENCY (CURRENCY_CODE) ;

ALTER TABLE DEBIT_ACCOUNT ADD CONSTRAINT DA1_DC_FK
FOREIGN KEY (DOC_CODE)
REFERENCES CUST.DOCUMENT_TYPE (DOC_CODE) ;




CREATE INDEX CUST.TAX_INDEX ON
"CUST".DEBIT_ACCOUNT(BRANCH_CODE, ACCOUNT_CODE, DOC_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 12099584 PCTINCREASE 10 )
;

CREATE INDEX CUST.DA_DATE_INDEX ON
"CUST".DEBIT_ACCOUNT(DOC_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 7495680 PCTINCREASE 10 )
;

CREATE INDEX CUST.ACCOUNT_INDEX ON
"CUST".DEBIT_ACCOUNT(ACCOUNT_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 131072 NEXT 1425408 PCTINCREASE 10 )
;

CREATE UNIQUE INDEX CUST.ALTERNAT_P_K ON
"CUST".DEBIT_ACCOUNT(DOC_CODE, DOC_NO_D, DOC_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 7503872 PCTINCREASE 10 )
;

CREATE BITMAP INDEX CUST.SOURCE_INDEX ON
"CUST".DEBIT_ACCOUNT(SOURCE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 507904 PCTINCREASE 50 )
;

CREATE BITMAP INDEX CUST.BRANCH_INDEX ON
"CUST".DEBIT_ACCOUNT(BRANCH_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 761856 PCTINCREASE 50 )
;

CREATE BITMAP INDEX CUST.DOC_CODE_INDEX ON
"CUST".DEBIT_ACCOUNT(DOC_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 335872 PCTINCREASE 50 )
;

CREATE INDEX CUST.PERIOD_FLAG ON
"CUST".DEBIT_ACCOUNT(PERIOD_FLAG)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 131072 NEXT 2326528 PCTINCREASE 10 )
;

CREATE INDEX CUST.DEBIT_ACCOYUNT1 ON
"CUST".DEBIT_ACCOUNT(DOC_CODE, BRANCH_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 10485760 NEXT 8192 PCTINCREASE 0 )
;

CREATE INDEX CUST.CUST_CODE_INDX ON
"CUST".DEBIT_ACCOUNT(CUST_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 40960 NEXT 127672320 PCTINCREASE 50 )
;

CREATE INDEX CUST.DOC_NO_D_INDX ON
"CUST".DEBIT_ACCOUNT(DOC_NO_D)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 11567104 PCTINCREASE 10 )
;

CREATE UNIQUE INDEX CUST.KEY ON
"CUST".DEBIT_ACCOUNT(BRANCH_CODE, DOC_CODE, DOC_DATE, DOC_NO_D)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 23592960 PCTINCREASE 10 )
;

CREATE INDEX CUST.TOTAL_VALUE_INDX ON
"CUST".DEBIT_ACCOUNT(TOTAL_VALUE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 99434496 PCTINCREASE 50 )
;

CREATE INDEX CUST.PAY_CODE_INDEX ON
"CUST".DEBIT_ACCOUNT(PAYMENT_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 16384 NEXT 491347968 PCTINCREASE 10 )
;

CREATE INDEX CUST.DEBIT_ACCOUNT_INV_SK ON
"CUST".DEBIT_ACCOUNT(INV_CODE, INV_NO, INV_DATE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 262144 NEXT 1777664 PCTINCREASE 10 )
;

CREATE INDEX CUST.DA1_CUR_FK_I ON
"CUST".DEBIT_ACCOUNT(CURRENCY_CODE)
TABLESPACE INDX PCTFREE 10 STORAGE(INITIAL 40960 NEXT 510271488 PCTINCREASE 50 )
;

بتاريخ:

كما قال الاخ منير ،، الواضح انك مسحت جزء كبير من الجدول ولم تقم بعمل index rebuild جرب وشوف

بتاريخ:
  • كاتب الموضوع

اشكرك يا اخي علي الاهتمام
وعلي فكره انا بعمل اعاده انشاء لجميه الفهارس مره تقريبا كل اسبوع

بتاريخ:

اخي الكريم
من الواضح من structure for table and indexs أنـه هنـاك عدد كبير من لل INDEX
فـهناك table واحد فقط وفيه 11 Index ومن 11 Index هناك 5 منهم composite وكثير من الاعمدة مشتركه في اكثر من INDEX مثلا العامود DOC_DATE .... ولهذا فأنك اساءة أستخدام INDEX
فأن هذا العدد من index أكيد سوف يحتاج الى space وأيضا سوف تتأخير عمليات DML على هذا table.
فيجب ان تعيد system analyzes for your system

  • بعد 4 أسابيع...
بتاريخ:

مشكـور يا اخ وليد

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.