Thứ Bảy, 26 tháng 10, 2019

Mount NFS 1 phân vùng từ Solaris sang Linux hoặc Solaris khác

1. Source (Solaris1, UFS,):
  • Mount phân vùng ufs /s01 thông tin trong /etc/vfstab
  /dev/md/dsk/d10 /dev/md/rdsk/d10        /bk  ufs     2       yes     -
  • Share NFS quyen read write
#  share -F nfs -o rw /bk
(192.168.1.25 là IP ca máy Solaris1)

Thứ Tư, 23 tháng 10, 2019

Thủ tục Cài đặt Oracle Data Guard 11g, 12c, 19c với Physical Standby bằng Duplicate

Trong bài viết này tôi sẽ hướng dẫn bạn cách xây dựng một cơ chế dự phòng vật lý của Oracle Database với giải pháp Physical Standby. Giả định là cơ sở dữ liệu chính đã hoạt động tốt và ORACLE software được cài đặt trên máy chủ dự phòng.
PRIMARY
STANDBY
SERVER
primary-host
standby-host
DB_UNIQUE_NAME
PROD
PRODSBY

Thứ Ba, 22 tháng 10, 2019

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

Trong bài viết này, chúng tôi sẽ giải thích các bước để áp dụng bản vá Cập nhật cơ sở dữ liệu tháng 1 năm 2018 (DB RU) trên cơ sở dữ liệu oracle 12.2. Bắt đầu vào tháng 7 năm 2017, Oracle đã chuyển sang chiến lược linh hoạt và đáp ứng hơn cho quy trình phát hành phần mềm cơ sở dữ liệu. Những thay đổi này chỉ ảnh hưởng đến cơ sở dữ liệu và cơ sở hạ tầng lưới phát hành 12.2 trở lên.

Thứ Sáu, 11 tháng 10, 2019

Cơ sở dữ liệu là gì?

Cơ sở dữ liệu là gì?

Trước khi đi vào tìm hiểu cơ sở dữ liệu là gì, chúng ta sẽ cùng tìm hiểu về dữ liệu là gì? Nó là thông tin của đối tượng được lưu trữ trên máy tính hoặc các các thiết bị lưu trữ như ổ cứng, usd, đĩa cd,… Đối tượng ở đây có thể là người, vật, sự việt, khái niệm, hiện tượng,… Các dữ liệu được thể hiện dưới nhiêu hình thức đa dạng có thể kể đến như dạng chữ, âm thanh, video, hình ảnh, ký hiệu,.. Tùy thuộc vào hoàn cảnh mà dữ liệu có ý nghĩa khác nhau.

Thứ Năm, 10 tháng 10, 2019

Bạn lựa chọn Oracle Database hay Microsoft SQL Server?

MS SQL Server và Oracle là 2 trong số các hệ thống quản lý cơ sở dữ liệu quan hệ (Relational Database Management Systems - RDBMS) hiệu quả. Vậy MS SQL Server và Oracle và gì? Nên dùng cái nào? Bài viết dưới đây sẽ giúp bạn so sánh MS SQL Server và Oracle để đưa ra lựa chọn đúng đắn nhất dành cho mình.

Thứ Sáu, 21 tháng 6, 2019

Thủ tục switchover Oracle DataGuard

STT
Công việc
Câu lệnh tại máy primay 192.168.0.22
Câu lệnh tại máy standby 192.168.0.11
1
Kiểm tra đồng bộ log giữa 2 máy
ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS';
SELECT sequence#, first_time, next_time
FROM   v$archived_log
ORDER BY sequence#;
kết quả:
3289 29-MAY-2017 16:55:53 29-MAY-2017 17:20:49
ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS';
SELECT sequence#, first_time, next_time, applied
FROM   v$archived_log
ORDER BY sequence#;
kết quả:
3289 29-MAY-2017 16:55:53 29-MAY-2017 17:20:49 YES

Thứ Tư, 19 tháng 6, 2019

DBCA : No Protocol specified

Got strange message when launched DBCA : 
DBCA : No Protocol specified
ORACLE_HOME has been properly setup, but make sure, don't forget to issue xhost+ command. 
Login as root
# xhost
Login as oracle
$ dbca


Thứ Hai, 17 tháng 6, 2019

BÍ QUYẾT TỐI ƯU CẤU TRÚC CƠ SỞ DỮ LIỆU ORACLE

1. Mục đích

  • Tối ưu cấu trúc bảng, index, partition.
  • Tối ưu câu lệnh truy vấn và tác động của Database
  • Tối ưu việc xử dụng tài nguyên của Database
  • Đảm bảo database hoạt động ổn định
  • Thống nhất phương án thiết kế Database và tác động Database

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';

ĐỌC NHIỀU

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