Thứ Năm, 8 tháng 11, 2018

Thủ tục thay đổi hostname không phải reboot trên Linux


  1. Thay đổi tên trong file /etc/sysconfig/network
cd /etc/sysconfig
vi network
Thay bằng:
HOSTNAME=bossdata
  1. Thay đổi trong file /etc/hosts
vi /etc/hosts
192.168.1.110     bossdata
  1. Thay đổi tên hostname trong phiên hiện tại:
hostname bossdata
  1. Kiểm tra
hostname
  1. Khởi động lại service mạng để nhận thông tin hostname mới:
service network restart

#linux 



Thứ Hai, 5 tháng 11, 2018

Quy trình Patch cơ sở dữ liệu Oracle


1. Chuẩn bị:
  • Nâng cấp OPatch lên 11.2 (OPatch hiện tại là 11.1):
  • Kiểm tra trước khi nâng cấp:
    $ export PATH=$PATH:$ORACLE_HOME/Opatch
    $ opatch version
    Invoking OPatch 11.1.0.6.6

    OPatch Version: 11.1.0.6.6

    OPatch succeeded.
  • Download patch p6880880

Thứ Sáu, 5 tháng 10, 2018

ORA-02273: this unique/primary key is referenced by some foreign keys


1. Errors
alter table DEPARTMENTS# drop constraint departments_pk;

ORA-02273: this unique/primary key is referenced by some foreign keys

2. Solutions
select * from all_constraints
where constraint_type='R' and r_constraint_name='DEPARTMENTS_PK';

alter table EMPLOYEES# drop constraint EMP_TO_DEPT_FK;

alter table JOB_HISTORY# drop constraint JOB_HIST_TO_DEPARTMENTS_FK;

alter table BINHTV.DEPARTMENTS# drop constraint departments_pk; --> OK



Thứ Ba, 18 tháng 9, 2018

Lựa chọn cơ sở dữ liệu đúng mục đích sử dụng

Hình ảnh có liên quan
Mọi cơ sở dữ liệu (CSDL – database) đều được tạo ra theo cách không giống nhau, mỗi loại đều có ưu và nhược điểm riêng. Thực tế cho thấy những loại database như MySQL, MongoDB đôi khi bị “lạm dụng” vì tính phổ biến của nó, bất chấp tính tương thích với dự án / nhu cầu hiện tại. Việc chỉnh sửa một database không phù hợp để cải thiện tính tương thích sẽ tiêu tốn nhiều thời gian, công sức và dẫn đến các lỗ hổng về bảo mật và khả năng mở rộng của toàn hệ thống. Vậy, việc chọn lựa một database phù hợp nhất cho dự án của bạn ngay từ đầu sẽ là sự lựa chọn tối ưu. Trước khi cân nhắc chọn database, mời các bạn đọc bài viết bên dưới, với nội dung gồm liệt kê các dạng database thường thấy, điểm mạnh / kém của chúng và nhất là chúng thích hợp để sử dụng cho mục đích nào.

Thứ Hai, 17 tháng 9, 2018

Thay đổi địa chỉ IP trên Solaris 10 không phải reboot

Có thể thay đổi địa chỉ IP của máy chủ Solaris 10 bằng cách sửa đổi vài tệp tin. Đây là cách thực hiện:
Địa chỉ IP của hệ thống được đặt dưới /etc/hosts. Tệp này thực sự được liên kết một cách tượng trưng với /etc/inet /hosts trong Solaris 10. Trong hệ thống của tôi, tôi có các mục sau trong /etc/hosts
# cat /etc/hosts
::1     localhost
127.0.0.1       localhost
192.168.1.122   opensolaris     loghost

Thứ Năm, 13 tháng 9, 2018

Xử lý cảnh báo enq: SQ - contention

1. Mục đích: 

Xử lý cảnh báo enq: SQ - contention làm wait nhiều khi ứng dụng lớn cần truy cập vào sequence. Hiện tượng khi đọc AWR --> Top 5 Timed Foreground Events có event:


EventWaitsTime(s)Avg wait (ms)% DB timeWait Class
enq: SQ - contention1,299179,88113847767.56Configuration
db file sequential read2,180,71728,7841310.81User I/O
DB CPU20,4967.70
SQL*Net message from dblink13,679,74513,51515.08Network
gc buffer busy release157,2573,078201.16Cluster

Thứ Ba, 11 tháng 9, 2018

Mount DBFS on Exadata

[oracle@testdb03 ~]$ ./mount-dbfs.sh 
Usage: mount-dbfs.sh { start | stop | check | status | restart | clean | abort }

[oracle@testdb03 ~]$ ./mount-dbfs.sh check
Check -- OFFLINE

[oracle@testdb03 ~]$ ./mount-dbfs.sh start
mount-dbfs.sh mounting DBFS at /dbfs_direct from database dbfs
ORACLE_SID is dbfs3
spawning dbfs_client command using SID dbfs3
Start -- ONLINE

Các câu lệnh backup với Oracle RMAN

Lệnh sao lưu RMAN

Sao lưu RMAN được thực hiện bằng cách sử dụng câu lệnh BACKUP
Để thực hiện sao lưu cơ sở dữ liệu đầy đủ sử dụng:

Thứ Năm, 6 tháng 9, 2018

ASM_Chuyển dữ liệu từ tablespace INDX sang INDX_RECO bằng cách rebuild index

-- Mục đích: Chuyển dữ liệu từ tablespace INDX sang INDX_RECO do nhu cầu chuyển sang phân vùng SATA tốc độ thấp bằng cách rebuild lại index
-- 1. Size tablespace_name like '%INDX%'
select * from dba_data_files where tablespace_name like '%INDX%';

select round(sum(bytes)/1024/1024/1024,2) "GB" from dba_data_files  where tablespace_name like '%INDX%';

-- 2.Tao tablespace INDX_RECO
create tablespace INDX_RECO datafile '/u01/app/oracle/oradata/orcl/indx_reco_001.dbf' size 100M autoextend on next 100m;

File System_Chuyển dữ liệu sang tablespace DATA, INDX bằng cách move partition (Oracle Database)

-- Mục đích: Quy hoạch lại các dữ liệu ví dụ như dữ liệu từ tablespace DATA2018, INDX2018, USERS sang tablespace DATA, INDX bằng phương pháp move partition table/table partition, index, sau đó drop các tablespace DATA2018, INDX2018, USERS đi để giải phóng dung lượng do phân mảnh (DATA2018 cấp 5TB dùng 1TB, INDX2018 cấp 3TB dùng 1TB, USERS cấp 10TB dùng 2TB --> Cấp 18TB dùng 4TB, thu hồi được 14TB)
-- Tính mở rộng: Thủ tục này có thể áp dụng từ tablespace này sang tablespace khác

--1.Check thông tin
select  round(sum(bytes)/1024/1024/1024,2) "GB" from dba_segments where tablespace_name in ('DATA2018','INDX2018','USERS')
order by "GB" desc;

Kiểm tra thông tin của tablespace Oracle

--Hiển thị size, free, max free của tablespace
SELECT  a.tablespace_name,100 - ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Usage",
    ROUND (a.bytes_alloc / 1024 / 1024) "Size MB",
    ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Used MB",
    ROUND (NVL (b.bytes_free, 0) / 1024 / 1024) "Free MB",
    --ROUND ( (NVL (b.bytes_free, 0) / a.bytes_alloc) * 100) "%Free",
    ROUND (maxbytes / 1048576)  "Max MB",
    round(maxbytes/1048576-(ROUND (a.bytes_alloc / 1024 / 1024)- ROUND (NVL (b.bytes_free, 0) / 1024 / 1024)),0) "Free_MB_Max",
    ROUND (ROUND ( (a.bytes_alloc - NVL (b.bytes_free, 0)) / 1024 / 1024)/  ROUND (maxbytes / 1048576) * 100) "%Used of Max"
    FROM (SELECT f.tablespace_name, SUM (f.bytes) bytes_alloc,  SUM (DECODE (f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes
            FROM dba_data_files f
            GROUP BY tablespace_name) a,
        (SELECT f.tablespace_name, SUM (f.bytes) bytes_free  FROM dba_free_space f  GROUP BY tablespace_name) b
 WHERE a.tablespace_name = b.tablespace_name(+)  --and  (a.tablespace_name in ('TEMP1','DATA201511','DATA201512','DATA2016','INDX'))
 order by "%Used of Max" desc;

File System_Quy trình chuyển datafile của tablespace DATA, INDX sang phân vùng mới bằng cách copy datafile

Muc đích: 
- Chuyển đổi tablespace từ phân vùng /u01 sang phân vùng u02 hoặc sang phân vùng tốc độc thâp như  SATA bằng cách copy datafile
- Ứng cứu phân vùng /u01 đầy 99, 100% cần chuyển 1 số datafile để tránh đầy sang phân vùng /u02

0.Kiểm tra dung lượng tablespace: 100MB
select round(sum(bytes)/1024/1024, 2) from dba_data_files where tablespace_name like 'DATA2018%' order by file_name desc;

select * from dba_data_files where tablespace_name like 'DATA2018%' order by file_name desc;

1.Read only, Offline tablespace
-- Chuyen tablespace ve che do read only
--alter tablespace DATA2018 read only;
Select 'alter tablespace ' || tablespace_name || ' read only;' from dba_tablespaces where tablespace_name like 'DATA2018';

Quản lý sequence trong Oracle Database


SELECT
select * from DBA_SEQUENCES where sequence_name like 'ORD_SEQ%'

Thứ Tư, 5 tháng 9, 2018

Hướng dẫn tạo ZFS pools và file systems trên Solaris

Chúng tôi có thể tạo nhóm ZFS bằng các thiết bị khác nhau như:

a. Sử dụng toàn bộ đĩa
b. Sử dụng slices đĩa
c. Sử dụng tập tin

Thứ Sáu, 31 tháng 8, 2018

Thay đổi IP, hostname trên Solaris

  1. Assume the Primary Administrator role, or become superuser.
    The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.

Xử lý lỗi GoldenGate bị ABEND khi instance down đột ngột

Troubleshoot GoldenGate Process when Instance down suddenly

Mục đích: Khắc phục lỗi tiến trình GoldenGate bị ABEND khi instance shutdown đột ngột
1. Errors message from $GGATE/ggserr.log

2018-08-30 15:19:41  WARNING OGG-00715  Oracle GoldenGate Capture for Oracle, ext1.prm:  [Thread #3] Purging transaction (transaction id: 3607.7.337705, start time: 2018-08-30 15:33:03, start seqno: 85665, start RBA: 2920625168).
2018-08-30 15:19:41  WARNING OGG-00712  Oracle GoldenGate Capture for Oracle, ext1.prm:  Updating I/O checkpoint after purging orphaned transactions on thread 3 with current position (Seq#: 85669, RBA: 615293852).
2018-08-30 15:19:42  WARNING OGG-00723  Oracle GoldenGate Capture for Oracle, consext5.prm:  Record with class# 7092, slt# 12, at seqno 85669, rba 715072016 SCN 2867.4219647111 (12317890884743) has secondary transaction ID that is du
plicate of existing open uncommitted transaction.
.
 ....
2018-08-30 15:20:53  ERROR   OGG-00446  Oracle GoldenGate Capture for Oracle, EXT2.prm:  Could not find archiv
ed log for sequence 87475 thread 1 under default destinations SQL <SELECT  name    FROM v$archived_log   WHERE se
quence# = :ora_seq_no AND         thread# = :ora_thread AND         resetlogs_id = :ora_resetlog_id AND         a
rchived = 'YES' AND         deleted = 'NO>, error retrieving redo file name for sequence 87475, archived = 1, use
_alternate = 0Not able to establish initial position for sequence 87475, rba 1795950096.
2018-08-30 15:20:53  ERROR   OGG-01668  Oracle GoldenGate Capture for Oracle,DP2.prm:  PROCESS ABENDING.

Cài đặt VMWare Tools trên máy ảo Solaris

Đối với các máy ảo Solaris, bạn tự cài đặt hoặc nâng cấp VMware Tools bằng cách sử dụng dòng lệnh.
Điều kiện tiên quyết
  • Bật nguồn máy ảo.
  • Xác minh rằng hệ điều hành client đang chạy.
  • Vì trình cài đặt VMware Tools được viết bằng Perl, hãy xác minh rằng Perl đã được cài đặt trong hệ điều hành khách.

Thứ Năm, 30 tháng 8, 2018

Tạo user ftp trên Solaris, AIX, Linux

1. Thêm người dùng chỉ có thể dùng ftp
    #  useradd ftp01
    # passwd ftp01

Quy trình khôi phục Point-in-Time Oracle Database

Bạn có thể thực hiện khôi phục tại thời điểm do máy chủ quản lý bằng các bước sau. Cơ sở dữ liệu phải ở chế độ ARCHIVELOG.

Quy trình khôi phục cơ sở dữ liệu Oracle 11g sau thảm họa

Khôi phục thảm họa bao gồm khôi phục và khôi phục cơ sở dữ liệu đích sau khi mất toàn bộ cơ sở dữ liệu đích, tất cả các control file hiện tại, tất cả các online redo log file, tất cả các pfile và cơ sở dữ liệu recovery catalog (nếu có).
Để thực hiện khắc phục thảm họa, các bản sao lưu sau được yêu cầu tối thiểu:
• Sao lưu các tệp dữ liệu (data file)
• Archived redo log tương ứng được tạo sau thời gian sao lưu
• Ít nhất một autobackup của tệp điều khiển (control file)

ĐỌC NHIỀU

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