Thứ Năm, 28 tháng 4, 2022

Thứ Tư, 27 tháng 4, 2022

THỦ TỤC CẬP NHẬT ĐỒNG BỘ NTP CÁC HỆ THỐNG CNTT CỦA DOANH NGHÊP LỚN

Thủ tục cập nhật thời gian NTP cho các thành phần CNTT của các doanh nghiệp lớn (cổng quan trị, Server Linux, Unix, Cân bằng tải, SAN,...)

Cách để tim và bỏ những phân mảnh trên bảng Oracle Database

Giới thiệu

Trong bài viết này, tôi sẽ thảo luận về phân mảnh bảng, gây ra bảng chậm và lãng phí dung lượng. Phân mảnh là một vấn đề phổ biến xảy ra trong cơ sở dữ liệu oracle do các hoạt động DML quá mức như insert, sau đó là các hoạt động cập nhật và xóa.

Thứ Ba, 26 tháng 4, 2022

Bí kíp xóa dữ liệu lớn hiệu quả từ bảng trong Oracle Database

Là một người dùng ứng dụng, bạn có thể được yêu cầu viết một tập lệnh dọn dẹp để xóa dữ liệu cũ khỏi một bảng lớn có hàng triệu dòng dựa trên ngày hoặc một số trường. Là một DBA, những người làm ứng dụng thường hỏi tôi bất kỳ cách nào tốt nhất để xóa một lượng lớn các hàng khỏi một bảng khổng lồ (partition/ non-partition) nhanh nhất có thể.

Thiết lập local repository yum với DVD Red Hat Enterprise Linux 7

Mục đích: tạo repository local từ đĩa DVD để cài đặt gói, nâng cấp gói trên Red Hat Enterprise Linux 7 (RHEL)

Chủ Nhật, 24 tháng 4, 2022

Tổng quan về filesystem trên Linux

Bài viết này sẽ giới thiệu với các bạn tổng quan về filesystem trên hệ điều hành Linux.

Script PL/SQL thêm 1 triệu row vào bảng

Tạo bảng employees

CREATE TABLE employees (
EmployeesID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
TABLESPACE DATA

Thứ Năm, 21 tháng 4, 2022

Hướng Dẫn Sử Dụng WinSCP Upload/Download Lên Server/Hosting

1- WinSCP là gì?

WinSCP là một ứng dụng tiện ích giúp bạn kết nối vào một máy tính từ xa và truyền file giữa máy tính PC của bạn và máy chủ/hosting từ xa một cách dễ dàng.

Load Balancing là gì? Ứng dụng của Load Balancing

 Trong mạng máy tính, việc đảm bảo các máy chủ hoạt động đồng bộ, hiệu quả là việc rất quan trọng. Load balancing là một tính năng giúp thực hiện việc đó. Vậy load balancing là gì và vì sao cần đến nó?

CÂN BẰNG TẢI MỀM (LOAD BALANCING) - GIẢI PHÁP TOÀN DIỆN CHO NHỮNG HỆ THỐNG LỚN

Hiện nay, khi nhu cầu truy nhập mạng bùng nổ, các server cung cấp dịch vụ đang trở nên quá tải. Ta không thể cứ chọn mãi những Server đơn lẻ có cấu hình mạnh để đáp ứng nhu cầu này mà sẽ cần nghĩ đến hướng ghép nối, kết hợp nhiều Server khác thành một nhóm để tận dụng sức mạnh cũng như tối ưu chi phí đầu tư. Tuy nhiên, không phải cứ nói ghép nối là đưa các Server vào IDC để chạy mà cần có giải pháp để kết hợp chúng. Đó chính là lúc cần các kỹ thuật cân bằng tải.

Thứ Tư, 20 tháng 4, 2022

Invalid password khi logging vào Oracle ASM instance 12c

Tình huống: Một ngày nào đó chúng ta sẽ gặp phải trường hợp là không thể log vào 12c ASM instance báo lỗi  invalid username/password, mặc dù username, passsword là đúng.

Oracle / PLSQL: Hàm SUBSTR

Hướng dẫn này giải thích cách sử dụng hàm SUBSTR của Oracle  P/SQL với cú pháp và ví dụ.

Miêu tả

Hàm SUBSTR của Oracle P/SQL cho phép bạn trích xuất một chuỗi con từ một chuỗi (string).

Cú pháp

Cú pháp cho hàm SUBSTR trong Oracle P/SQL là:

SUBSTR(string, vị trí bắt đầu [, độ dài ])

Tham số hoặc đối số

string
Chuỗi nguồn.
Vị trí bắt đầu
Vị trí bắt đầu trích xuất. Vị trí đầu tiên trong chuỗi luôn là 1.
Độ dài
Không bắt buộc. Nó là số ký tự cần lấy. Nếu tham số này bị bỏ qua, hàm SUBSTR sẽ trả về toàn bộ chuỗi.

Kết quả trả về

Hàm SUBSTR trả về một giá trị chuỗi.
Nếu độ dài là một số âm, thì hàm SUBSTR sẽ trả về giá trị NULL.

Ghi chú

  • Nếu vị trí bắt đầu là 0, thì hàm SUBSTR coi vị trí bắt đầu là 1 (tức là: vị trí đầu tiên trong chuỗi).
  • Nếu  vị trí bắt đầu là một số dương, thì hàm SUBSTR bắt đầu từ đầu chuỗi.
  • Nếu vị trí bắt đầu là một số âm, thì hàm SUBSTR bắt đầu từ cuối chuỗi và đếm ngược

Áp dụng đối với

Hàm SUBSTR có thể được sử dụng trong các phiên bản sau của Oracle PL/SQL:

  • Oracle 12c, Oracle 11g, Oracle 10g, Oracle 9i, Oracle 8i

Ví dụ

Hãy xem một số ví dụ về hàm SUBSTR của Oracle và khám phá cách sử dụng hàm SUBSTR trong Oracle PL/SQL.

Ví dụ:

SUBSTR('This is a test', 6, 2)
Result: 'is'

SUBSTR('This is a test', 6)
Result: 'is a test'

SUBSTR('TechOnTheNet', 1, 4)
Result: 'Tech'

SUBSTR('TechOnTheNet', -3, 3)
Result: 'Net'

SUBSTR('TechOnTheNet', -6, 3)
Result: 'The'

SUBSTR('TechOnTheNet', -8, 2)
Result: 'On'
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

Gán quyền cho user chủ động kill tiến trình gây lock, gọi package

Mục đích: Gán quyền cho user chủ động kill tiến trình gây lock, gọi package để tránh việc người dùng làm phiền DBA quá nhiều.

Thứ Ba, 19 tháng 4, 2022

Khái niệm Schema và User trong Oracle

Nội dung:

User là gì?
Schema là gì?
Cách tạo Schema
Comment

Hướng dẫn kiểm tra Patches được Apply trong Oracle Database

Chúng ta có thể sử dụng tiện ích Oracle OPatch để kiểm tra Oracle Patches được apply trong Oracle database. opatch utility trong $ORACLE_HOME/OPatch directory. Có thể download các patch từ  Oracle Support. Sau khi download patch hãy đọc hướng dẫn cài đặt patch. OPatch sẽ liệt kê các bug sẽ được fix trong quá trình chúng ta patch. Trong trường hợp xung đột khi đã apply patch cần rollback lại ban đầu.

Thứ Hai, 18 tháng 4, 2022

Hướng dẫn khắc phục lỗi ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired và [1]: ORA-08104: this index object 5381076 is being online built or rebuilt

Bài toán: 

Khi tạo index nhầm (đáng nhẽ tạo local thì lại quên từ khóa local nên tạo nhầm thành global) nên ta cần xóa đi:

create index        app_owner.tab1_i7 on app_owner.tab1(status) parallel 8 online tablespace indx ;
alter index app_owner.tab1_i7 noparallel;

Giải pháp:

--Xóa index
drop index app_owner.tab1_i7;

[1]: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

-- Kill các lock vào bảng tab1
SELECT /*lock table*/  'kill -9 ' || spid a, a.INST_ID,A.SQL_ID,A.SID, A.SERIAL#, a.USERNAME, a.STATUS,A.SCHEMANAME,a.OSUSER,A.MACHINE,A.PROGRAM,A.TYPE,A.LOGON_TIME,BACKGROUND
FROM gv$session a, gv$process b 
WHERE b.addr = a.paddr   
AND a.inst_id=b.inst_id 
--and b.inst_id=3
AND (b.inst_id, a.sid) in
(SELECT /*+ parallel(8)*/ s.inst_id,s.sid
FROM gv$locked_object v, dba_objects d,
gv$lock l, gv$session s
WHERE v.object_id = d.object_id
AND (v.object_id = l.id1)
AND v.session_id = s.sid
and object_name=upper('tab1'))
--and type='USER'
--ORDER BY username, session_id;
order by inst_id;

-- Tạo lại index:
create index        app_owner.tab1_i7 on app_owner.tab1(status) parallel 8 online tablespace indx local;
alter index app_owner.tab1_i7 noparallel;

Phát sinh lỗi bên dưới:

[1]: ORA-08104: this index object 5381076 is being online built or rebuilt

-- Clean index tạo lỗi
DECLARE 
RetVal BOOLEAN;
OBJECT_ID BINARY_INTEGER;
WAIT_FOR_LOCK BINARY_INTEGER;
BEGIN 
OBJECT_ID := 5381076;
WAIT_FOR_LOCK := NULL;
RetVal := SYS.DBMS_REPAIR.ONLINE_INDEX_CLEAN (OBJECT_ID);
COMMIT; 
END; 
/

-- Tạo lại index
create index        app_owner.tab1_i7 on app_owner.tab1(status) parallel 8 online tablespace indx local;
alter index app_owner.tab1_i7 noparallel;

Hy vọng hữu ích cho bạn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

Phân biệt giữa UNIX và Linux

Đọc qua khá nhiều bài viết về Linux trên diễn đàn Tinh Tế cũng như một số nơi khác, mình thấy một số bạn có xu hướng đánh đồng 2 hệ điều hành (HĐH) UNIX và Linux. Bài viết này hy vọng đáp ứng phần nào thông tin cần thiết cho mọi người về những điểm khác nhau giữa 2 khái niệm này này.

Sự khác nhau giữa Linux và Unix và các những điều bạn chưa biết


Bạn đã từng nghe rất nhiều về Linux và Unix, nhưng có lẽ bạn vẫn chưa nắm được sự khác nhau giữa 2 thuật ngữ này. Sự thật mà nói thì Linux lấy cảm hứng từ Unix, nhưng Linux không phải là Unix, mặc dù nó hoàn toàn giống Unix. Trong bài này, mình sẽ giải thích sự khác biệt giữa hai hệ điều hành nổi tiếng này.

Xác định ai đang login vào OS?

Làm sao để xác định được ai đang login vào OS? 

Quản lý dịch vụ SSH trên Unix, Linux

Service sshd  được tự động bật lên sau khi cài đặt xong OS để giúp chúng ta có thể thao tác quản trị. Một ngày nào đó service này không lên thì chúng ta sẽ không SSH được. Vậy chúng ta phải làm như thế nào khi dịch vụ SSH bị treo?

Chủ Nhật, 17 tháng 4, 2022

Tạo composite partition theo list và subpartition theo range

Mục đích: Tạo bảng partition theo trường status gộp và subpartition theo trường month, chỉ 1 số partition theo status mới cần tạo subpartition do dữ liệu nhỏ.

Chi tiết thủ tục

--1.TẠO BẢNG

--drop table app_owner.tab1_new;

CREATE TABLE app_owner.tab1_new
(
   tab1_ID        NUMBER,
  INSERT_DATE             DATE,
  REP_CUST_ID   number;
  INVOICE_ID              NUMBER(10)            NOT NULL,
  CUST_ID                 NUMBER(10)            NOT NULL,
  EINV_ID number,  
  MONTH                   DATE                  NOT NULL,
  STA_DATE                DATE,
  END_DATE                DATE,
  TAX                     NUMBER(3),  
  PAYMENT_AMOUNT_VAT      NUMBER(15,2),
  STATUS                  NUMBER,
  DESCRIPTION             VARCHAR2(4000 BYTE)
)
NOCOMPRESS 
TABLESPACE DATA
PCTUSED    0
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            BUFFER_POOL      DEFAULT
           )
LOGGING
PARTITION BY LIST  (STATUS)
SUBPARTITION BY RANGE (month)
(  
   PARTITION P03 VALUES ('0','3')
    LOGGING
    NOCOMPRESS 
    TABLESPACE DATA
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                BUFFER_POOL      DEFAULT
               ),
   PARTITION P16 VALUES ('1','6')
    LOGGING
    NOCOMPRESS 
    TABLESPACE DATA
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                BUFFER_POOL      DEFAULT
               ),  
   PARTITION P5 VALUES ('5')
    LOGGING
    NOCOMPRESS 
    TABLESPACE DATA
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                BUFFER_POOL      DEFAULT
               ),                                              
  PARTITION P2 VALUES ('2')
    LOGGING
    NOCOMPRESS 
    TABLESPACE DATA
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                BUFFER_POOL      DEFAULT
               )
  (  
      SUBPARTITION data2020 VALUES LESS THAN (TO_DATE('01-01-2021', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data2021 VALUES LESS THAN (TO_DATE('01-01-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202201 VALUES LESS THAN (TO_DATE('01-02-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202202 VALUES LESS THAN (TO_DATE('01-03-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202203 VALUES LESS THAN (TO_DATE('01-04-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202204 VALUES LESS THAN (TO_DATE('01-05-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202205 VALUES LESS THAN (TO_DATE('01-06-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202206 VALUES LESS THAN (TO_DATE('01-07-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202207 VALUES LESS THAN (TO_DATE('01-08-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202208 VALUES LESS THAN (TO_DATE('01-09-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202209 VALUES LESS THAN (TO_DATE('01-10-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202210 VALUES LESS THAN (TO_DATE('01-11-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202211 VALUES LESS THAN (TO_DATE('01-12-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202212 VALUES LESS THAN (TO_DATE('01-01-2023', 'DD-MM-YYYY')) TABLESPACE DATA
    ),   
  PARTITION P4 VALUES ('4')
    LOGGING
    NOCOMPRESS 
    TABLESPACE DATA
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                BUFFER_POOL      DEFAULT
               )
    (  
      SUBPARTITION data2020_ VALUES LESS THAN (TO_DATE('01-01-2021', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data2021_ VALUES LESS THAN (TO_DATE('01-01-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202201_ VALUES LESS THAN (TO_DATE('01-02-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202202_ VALUES LESS THAN (TO_DATE('01-03-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202203_ VALUES LESS THAN (TO_DATE('01-04-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202204_ VALUES LESS THAN (TO_DATE('01-05-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202205_ VALUES LESS THAN (TO_DATE('01-06-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202206_ VALUES LESS THAN (TO_DATE('01-07-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202207_ VALUES LESS THAN (TO_DATE('01-08-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202208_ VALUES LESS THAN (TO_DATE('01-09-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202209_ VALUES LESS THAN (TO_DATE('01-10-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202210_ VALUES LESS THAN (TO_DATE('01-11-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202211_ VALUES LESS THAN (TO_DATE('01-12-2022', 'DD-MM-YYYY')) TABLESPACE DATA,
      SUBPARTITION data202212_ VALUES LESS THAN (TO_DATE('01-01-2023', 'DD-MM-YYYY')) TABLESPACE DATA
    ),    
  PARTITION PM VALUES (DEFAULT)
    LOGGING
    NOCOMPRESS 
    TABLESPACE DATA
    PCTFREE    10
    INITRANS   1
    MAXTRANS   255
    STORAGE    (
                BUFFER_POOL      DEFAULT
               ) 
)
NOCACHE
MONITORING
ENABLE ROW MOVEMENT;

--2.Đổi tên bảng hiện tại đang chạy thành history

--27s
alter table app_owner.tab1 rename to tab1_history;

Có thể gặp lỗi như bên dưới:
--ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

Ta phải Kill lock đi theo câu lệnh, xác định đúng INST_ID để kill vào đúng node cần kill (nhầm co s 
SELECT /*lock table*/  'kill -9 ' || spid a, a.INST_ID,A.SQL_ID,A.SID, A.SERIAL#, a.USERNAME, a.STATUS,A.SCHEMANAME,a.OSUSER,A.MACHINE,A.PROGRAM,A.TYPE,A.LOGON_TIME,BACKGROUND
FROM gv$session a, gv$process b 
WHERE b.addr = a.paddr   
AND a.inst_id=b.inst_id 
--and b.inst_id=3
AND (b.inst_id, a.sid) in
(SELECT /*+ parallel(8)*/ s.inst_id,s.sid
FROM gv$locked_object v, dba_objects d,
gv$lock l, gv$session s
WHERE v.object_id = d.object_id
AND (v.object_id = l.id1)
AND v.session_id = s.sid
and object_name=upper('tab1'))
--and type='USER'
--ORDER BY username, session_id;

--3.Đổi tên bảng mới về bảng product

alter table app_owner.tab1_new rename to tab1;

--4.Insert dữ liệu vào bảng mới

insert/*+ append nologging parallel(a,8) */ into app_owner.tab1  a
select /*+ parallel(b,8) */ * from app_owner.tab1_history b;

commit;

--5.Tao lại index

create index app_owner.tab1_NEW_I1 on app_owner.tab1(tab1_ID) tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I1 noparallel;
create index app_owner.tab1_NEW_I2 on app_owner.tab1(CUST_ID)  tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I2 noparallel;
create index app_owner.tab1_NEW_I3 on app_owner.tab1(REP_CUST_ID)  tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I3 noparallel;
create index app_owner.tab1_NEW_I5 on app_owner.tab1(EINV_ID)  tablespace INDX local parallel 8 online;
alter index app_owner.tab1_NEW_I5 noparallel;
create index app_owner.tab1_I6 on app_owner.tab1(INVOICE_ID)  tablespace INDX local parallel 8 online;
alter index app_owner.tab1_I6 noparallel;

--6.Gahter

BEGIN
  SYS.DBMS_STATS.GATHER_TABLE_STATS (
     OwnName           => 'app_owner'
    ,TabName           => 'tab1'
    ,Estimate_Percent  => 10
    ,Method_Opt        => 'FOR ALL COLUMNS SIZE 1'
    ,Degree            => 16
    ,Cascade           => TRUE
    ,No_Invalidate  => FALSE);
END;
/

Hy vọng giúp ích cho bạn.
=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty

Quy trình kiểm tra và xử lý lỗi hệ thống CNTT


1Sơ đồ quy trình kiểm tra và xử lý lỗi  


Thứ Bảy, 16 tháng 4, 2022

Lợi ích Oracle và ứng dụng thực tế mà bạn nên biết

Lợi ích Oracle và ứng dụng thực tế mà bạn nên biết

Khi bạn gõ vào trình duyệt web (web browser), chẳng hạn, Chrome, Firefox hay Safari, một địa chỉ hay web link. Sau đó, thông tin được hiển thị trên màn hình máy tính hoặc smart phone của bạn.

Thứ Sáu, 15 tháng 4, 2022

Chuyển đổi bảng non-partition sang partition tự động

Vấn đề:

Bảng table_non_partition không chia partition mà dữ liệu đã 100, 200,... triệu row rồi, select rất chậm do vậy cần phải partition bảng này.

Thứ Năm, 14 tháng 4, 2022

Xóa 1 node khỏi Oracle RAC 3 node

Mục đích: Chúng ta có RAC 3 node hoặc 4 node chạy nhưng không ổn định do đường truyền interconnect giữa các node quá chậm (khuyến nghị < 1ms) nên cần chuyển về mô hình RAC 2 node để giảm giao tiếp giữa các node.

[VIP] Quy trình vận hành cơ sở dữ liệu Oracle từ A-Z với 9 bước hiệu quả

Hướng dẫn các thao tác vận hành và tác động vào DB cho các DBA với từng bước cụ thể, dựa vào các hướng dẫn để giám sát và vận hành các DB hàng ngày:
1. Hướng dẫn khai báo datafile:
+   Khai báo thêm các datafile cho DB theo qui trình đảm bảo hoạt động của DB, tránh nhầm lẫn khi thao tác với DB.
+   Sử dụng I/O của các mount point một cách hiệu quả nhất.
2. Hướng dẫn khai báo partition cho DB:
+   Thêm partition cho các bảng chia partition trong DB theo qui trình đảm bảo hoạt động của DB, tránh nhầm lẫn khi thao tác với DB.
+   Kiểm tra các bảng có partition.
3. Hướng dẫn kiểm tra lỗi lock bảng và tồn session:
+   Xử lý lỗi liên quan tới việc lock bảng và tồn session.
+   Đảm bảo lỗi phải được xử lý nhanh nhất.
+   Lưu lại log toàn bộ quá trình xử lý.
+   Thống nhất cách xử lý giữa các DBA.
4. Hướng dẫn kiểm tra cơ sở dữ liệu:
+   Kiểm tra log của DB, nhằm kiểm tra hoạt động của DB có gì bất thường không.
+   Kiểm tra log backup của DB, mục đích xem bản backup DB có thành công hay không.
5. Hướng dẫn rebuild index:
+   Đảm bảo DB và ứng dụng hoạt động ổn định.
+   Rebuild lại các index bị lỗi trong quá trình hoạt động.
6. Hướng dẫn tác động vào profile của user:
+   Kiểm tra các user bị giới hạn số lần login fail và bỏ giới hạn này.
+   Kiểm tra các user chưa có quyền unlimited tablespace và bổ sung thêm.
+   Đảm bảo các ứng dụng hoạt động bình thường sau khi tiếp nhận, các user ứng dụng không bị ảnh hưởng sau khi tác động.
7. Hướng dẫn quản trị oracle ASM:
+   Hướng dẫn các DBA cách quản lý, giám sát và vận hành oracle ASM.
8. Hướng dẫn vận hành oracle dataguard:
+   Cung cấp các bước vận hành giám sát trên 2 DB có cấu hình dự phòng bằng oracle dataguard.
9. Hướng dẫn vận hành oracle goldengate:
+   Hướng dẫn cấu hình oracle goldengate giữa 2 DB.
+   Giám sát, vận hành các tiến trình oracle goldengate.

Hiểu rõ về tham số DDL_LOCK_TIMEOUT

Mục đích: Hiểu rõ tham số DDL_LOCK_TIMEOUT hoạt động như thế nào

Thứ Hai, 11 tháng 4, 2022

Các câu lệnh kiểm tra phần cứng Cell Storage của Exadata

[root@dbaviet01 ~]#     cellcli -e "LIST PHYSICALDISK WHERE diskType=HardDisk"
         20:0    D75VLH  normal
         20:1    D771JG  normal
         20:2    D70WSH  normal
         20:3    D70TWH  normal
         20:4    D76TTG  normal
         20:5    D7757G  normal
         20:6    D771DG  normal
         20:7    D76B7G  normal
         20:8    DW37TG  normal
         20:9    D5WY7G  normal
         20:10   D774NG  normal
         20:11   DL9DDE  normal

Thứ Bảy, 9 tháng 4, 2022

Bí kíp tắt instance Oracle RAC DB khủng

Mục đích: DB khủng shutdown bình thường có khi mất cả 1 tiếng, bật 1 tiếng hoặc treo, vậy làm sao dể tắt/bật DB khủng được thành công, an toàn.

Thứ Sáu, 8 tháng 4, 2022

Hướng dẫn sử dụng lệnh systemctl trong Linux

Trong một vài năm gần đây, Linux và các distribution của nó dần chuyển đổi qua việc sử dụng systemd làm init system. Bài viết này sẽ giới thiệu về các command của systemd và tạo 1 service và run nó với systemctl.

Thứ Năm, 7 tháng 4, 2022

Cấu hình IP, mạng trong Linux

Networking Files

File "/etc/sysconfig/network" là file cấu hình mạng mức cao nhất, gồm thông tin hostname và gateway:

Hướng dẫn thiết lập Virtual Network trên vmware

Thiết lập Virtual Network trên vmware

VMware workstation là phần mềm giả lập, nói cách khác là 1 cái máy trạm tạm thời giúp chúng ta cấu hình trên này, nhưng bên cạnh đó chúng ta phải sử dụng card mạng internet ảo hóa để truy cập internet, Nói cách khác nó là vitrual Network (VNet ). Hôm nay mình xin Hướng dẫn thiết lập Virtual Network trên vmware. để làm được điều này, các bạn hãy Download VMware Workstation Pro 16 Full Key . và bài viết này đang nối tiếp bài
Hướng dẫn cài đặt Vmware Workstation Pro 16 trên máy tính

Cấu hình máy ảo Linux 7 ra ngoài mạng Internet để cài đăt gói VNC từ Internet

1. Cấu hình cạc mạng máy ảo

Thứ Tư, 6 tháng 4, 2022

So sánh giữa Percona, MariaDB và MySQL

Giới thiệu

CSDL có mặt trong hầu hết các ứng dụng với rất nhiều sự lựa chọn. MySQL từ lâu đã là một lựa chọn nguồn mở phổ biến, tuy nhiên Percona và MariaDB là hai nhánh fork từ MySQL có thể thay thế bằng nhiều tính năng nâng cao. Bài viết này sẽ so sánh cả ba hệ quản trị CSDL để giúp bạn có sự lựa chọn phù hợp.

Hướng dẫn cấu hình và sử dụng iLO server HP

Mục lục

1. Tìm hiểu về iLO

2. Cài đặt iLO

3.Giám sát các thông tin trên iLO

Hướng dẫn cấu hình và sử dụng iDRAC server Dell

Mục lục#

1. Tìm hiểu về iDRAC
2. Cài đặt iDRAC
3. Giám sát các thông tin trên iDRAC

[VIP5] THỦ TỤC BẢO TRÌ ĐỊNH KỲ PHẦN CỨNG, OS, CLUSTER, TAPE, STORAGE

Mục đích: THỦ TỤC BẢO TRÌ ĐỊNH KỲ PHẦN CỨNG, OS, CLUSTER, TAPE, STORAGE HỆ THỐNG CNTT

Thứ Ba, 5 tháng 4, 2022

Thứ Hai, 4 tháng 4, 2022

Hướng dẫn viết script tự động sao lưu (backup) MySQL Server/Maria DB

Nếu bạn cần một giải pháp khác tốt hơn là gõ từng câu lệnh thủ công thì ở bài này mình sẽ hướng dẫn các bạn tự viết một Shell script để thực hiện công việc backup để khi nào cần backup, bạn chỉ cần gõ một câu lệnh nào đó mà bạn tự đặt ra thay vì sử dụng các lệnh thủ công. Hơn nữa, cũng trong bài này mình sẽ hướng dẫn bạn cách đưa một Shell script bạn tự viết vào crontab để công việc backup diễn ra hoàn toàn tự động, như backup 1 ngày 1 lần chẳng hạn.

Full RMAN Incremental Backup tới Tape

Mục đích: Full RMAN Incremental Backup tớiTape

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master