Tìm hiểu sự khác biệt của tài khoản sys và system.

Tìm hiểu sự khác biệt của tài khoản sys và system.

Mô hình kết nối của công cụ phía Client:

Tìm hiểu sự khác biệt của tài khoản sys và system.


Nếu có hộp thoại như dưới đây hiện ra, bạn hãy chỉ đường dẫn đến file java.exe đang cài trên máy bạn

Tìm hiểu sự khác biệt của tài khoản sys và system.

Màn hình khởi chạy

Tìm hiểu sự khác biệt của tài khoản sys và system.



Tiếp sau là đến giao diện chính của Oracle SQL Developer



Tìm hiểu sự khác biệt của tài khoản sys và system.


Bạn Click vào dấu cộng màu xanh hoặc click chuột phải vào Connection chọn New Connection. Màn hình New Connection sẽ yêu cầu bạn nhập 1 số thông tin để vào database.
  • Connection Name: Tên của connection, bạn có thể đặt tùy thích.
  • Username: tên User trên database mà bạn sẽ kết nối vào. Ở bài đầu tiên này, bạn có thể kết nối bằng User có quyền cao nhất trong database là SYS.
  • Password: mật khẩu của user
  • Connection Type: Chọn Basic (những loại khác chúng ta sẽ tìm hiểu ở những bài sau)
  • Role: Chọn SYSDBA
  • Hostname: Điền địa chỉ IP hoặc hostname của máy chủ chứa database. Ở đây tôi cài đặt Oracle ngay tại máy của mình nên t điền localhost.
  • Port: Mặc định là 1521
  • SID: Điền ORCL là tên của database mà chúng ta đã tạo ở bài trước.

Tìm hiểu sự khác biệt của tài khoản sys và system.


Nhấn Test --> Save --> Connect.

Tìm hiểu sự khác biệt của tài khoản sys và system.


Muốn cấu hình TNS:

Trong trình duyệt SQLDeveloperTools --> Preferences , như được hiển thị trong hình ảnh bên dưới.

Tìm hiểu sự khác biệt của tài khoản sys và system.

Trong các tùy chọn Preferencesexpand Database --> select Advanced --> under "Tnsnames Directory" --> Browse the directory nơi tnsnames.ora hiện ra.


Sau đó nhấp vào Ok .như thể hiện trong sơ đồ dưới đây.

Tìm hiểu sự khác biệt của tài khoản sys và system.

Hy vọng giúp đỡ được cho bạn.

@ Trần Văn Bình - Founder of Oracle DBA AZ 

---------------------------

* Dữ liệu trong thời đại 4.0 là "TRÁI TIM" của doanh nghiệp. Quản trị cơ sở dữ liệu (Database Administration - DBA) là ngành có lương cao nhất trong ngành IT và đầy tiềm năng trong thời đại 4.0. Oracle là cơ sở dữ liệu hàng đầu trên thế giới và được rất nhiều doanh nghiệp lớn trên thế giới và Việt Nam sử dụng.

* Bạn có mong muốn từng bước trở thành chuyên gia DBA không? Nếu câu trả lời là CÓ thì hãy nhanh chóng đăng ký sở hữu trọn đời khóa học online "Quản trị cơ sở dữ liệu cơ bản" của tôi tại Unica (bạn có thể xem trên điện thoại, máy tính bảng, PC vào bất kỳ lúc nào chỉ cần có mạng Internet). Hiện tại tôi đang khuyến mại cho 100 bạn đăng ký đầu tiên giảm giá từ 2400K còn 799K, CAM KẾT HOÀN TIỀN 100% nếu học xong không có kết quả:

- Môn 1: Quản trị Oracle 12 cơ bản, giảm giá 70% HÔM NAY cho 100 bạn đầu tiên từ 2tr4 còn 799K theo link:  https://bit.ly/3d2ofqZ (khoá này học ở Oracle hãng là 1.500$), chuyển khoản còn 699K

- Môn 2: Quản trị Linux trong 21h, cũng giảm giá 70% HÔM NAY  cho 100 bạn đầu tiên từ 2tr4 còn 799K theo link: https://bit.ly/3e7gwJw, chuyển khoản còn 699K

---------------------------

học oracle database 

Các tìm kiếm liên quan đến 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 dba roles and responsibilities

Để làm việc với Oracle database thì việc nắm vững kiến trúc của nó cũng khá quan trọng. Oracle đã tạo ra 1 RDBMS thuộc hàng top trên thế giới. Do đó kiến trúc của Oracle database nhìn vào đơn giản nhưng rất phức tạp, nhưng nếu nắm vững lý thuyết thì sẽ cảm thấy rất đơn giản

Xét 1 server Oracle database cơ bản, chúng ta sẽ có 3 kiến trúc:

  • Kiến trúc bộ nhớ (memory structure)
  • Kiến trúc process (process structure)
  • Kiến trúc về lưu trữ (storage structure)

Trong đó, bộ nhớ và các process sẽ tạo thành instance, phần lưu trữ là database.

Instance + database = 1 Oracle database system.

Tìm hiểu sự khác biệt của tài khoản sys và system.


Với nonclustered database system, mỗi database sẽ chạy trên 1 instance. Trên 1 server, bạn tạo ra 3 database, thì sẽ có 3 instance, mỗi instance chạy cho 1 database.

Với clustered database system, mỗi database sẽ chạy trên nhiều instance. VD bạn có thể có 3 server cùng chạy 1 database, mỗi server là 1 instance.

Tìm hiểu sự khác biệt của tài khoản sys và system.

Trong phần 1 này chúng ta sẽ tìm hiểu về kiến trúc bộ nhớ, là kiến trúc cực kỳ quan trọng trong hoạt động của Oracle database.

Kiến trúc bộ nhớ của Oracle gồm 2 phần:

– System Global Area (SGA): phần bộ nhớ chia sẻ, bao gồm nhiều phần bộ nhớ nhỏ bên trong, chứa thông tin về hoạt động database, thông tin về các session, process, code thực thi, dữ liệu đọc từ phần lưu trữ lên…

– Program Global Area (PGA): phần bộ nhớ riêng cho mỗi server process (user session) hay background process.

System Global Area (SGA)

Tìm hiểu sự khác biệt của tài khoản sys và system.

SGA là phần bộ nhớ cực kỳ quan trọng trong Oracle instance. SGA chứa các dữ liệu, thông tin hoạt động của database, và được dùng chung cho các server/background processes.

Trong SGA chia ra làm nhiều phần bộ nhớ nhỏ hơn, bao gồm:

Shared Pool

Tìm hiểu sự khác biệt của tài khoản sys và system.

Shared pool bao gồm 1 số phần bộ nhớ nhỏ như sau:

– Library cache: chứa những câu lệnh SQL, PL/SQL của các user, cũng như parse tree, execution plan của các câu lệnh đ. Do là bộ nhớ chia sẻ, nên có thể chứa các câu lệnh giống nhau của các session, cũng như khi đã có execution plan cho 1 câu lệnh, lần tiếp theo câu lệnh đó được chạy sẽ có execution plan để chạy luôn, tiết kiệm thời gian phân tích.

– Data dictionary: chứa các database table của user SYS và SYSTEM, là các table chứa các thông tin về database, cấu trúc database, thông tin về user… để hỗ trợ trong việc thực thi các câu lệnh. Nếu phần này nhỏ, việc đọc thông tin từ data dictionary sẽ tốn thêm I/O, gọi là recursive calls

– Server Result Cache: gồm SQL query result cache và PL/SQL function result cache, chứa 1 số kết quả thực thi để có thể dùng lại cho các câu lệnh tương tự.

Database Buffer Cache

Tìm hiểu sự khác biệt của tài khoản sys và system.

Database buffer cache là phần bộ nhớ để chứa các block dữ liệu đọc từ đĩa lưu trữ lên. Khi 1 session cần dữ liệu, Oracle sẽ kiểm tra có trong Database buffer cache chưa. Nếu có rồi (cache hit), thì đọc luôn trong buffer cache. Nếu chưa có (cache miss), Oracle sẽ phải đọc từ thiết bị lưu trữ lên.

Buffer trong Database buffer cache được quản lý theo thuật toán LRU (Least Recently Used). Những buffer cũ ít xài sẽ được xóa dữ liệu đi để lấy chỗ cho dữ liệu mới cần thiết.

Ngoài Database buffer cache, phần KEEP buffer pool được dùng để chứa những dữ liệu cần sử dụng lâu hơn, phần RECYCLE buffer pool được dùng để chứa những dữ liệu cần xóa nhanh hơn, phần nK buffer cache sẽ dùng để chứa dữ liệu từ những block khác size mặc định (vd 16k, 32k).

Redo Log Buffer

Tìm hiểu sự khác biệt của tài khoản sys và system.

Redo log buffer là phần bộ nhớ chứa những thay đổi trên database, do các câu lệnh DML, DDL hay do các hoạt động nội bộ trong database. Khi Redo log buffer đầy 1/3 hoặc cứ sau mỗi 3 giâyLog writer process sẽ ghi vào Redo log files, để lấy chỗ cho những nội dung thay đổi mới.

Do Redo log buffer chứa những thay đổi trên database, nên để đảm bảo toàn vẹn dữ liệu, 1 transaction chỉ được coi là đã commit khi đã ghi những thay đổi trong Redo log buffer vào Redo log files, đảm bảo nếu có sự cố có thể recover được những thay đổi gần nhất.

Large Pool

Tìm hiểu sự khác biệt của tài khoản sys và system.

Large pool có khả năng cấp phát 1 lượng lớn block buffer, dùng cho các hoạt động lớn trong database, như các transaction liên quan tới nhiều database, các parallel query, backup/restore, các hoạt động I/O của server process, Advanced Queuing memory table…

Large pool không dùng thuật toán LRU để quản lý.

Java Pool

Phần bộ nhớ này được dùng để lưu tất cả những code và data Java trong session của user, cũng như của máy ảo Java (JVM). Khi chạy export/import chẳng hạn, phần bộ nhớ này sẽ được sử dụng.

Streams Pool

Streams Pool phục vụ cho Oracle Streams. Nếu cấu hình Streams Pool bằng 0, phần bộ nhớ cho các hoạt động Streams set được cấp phát từ Shared pool và tối đa là 10% Shared pool.

Program Global Area (PGA)

Có 1 phần bộ nhớ trong hệ thống chứa thông tin về session, gọi là User Global Area (UGA).

Trong trường hợp instance dùng cấu hình shared server, UGA sẽ nằm trong SGA luôn.

Còn trường hợp instance cấu hình dedicated server, UGA sẽ nằm trong PGA.

PGA là phần bộ nhớ riêng cho mỗi server process. Ngoài UGA, PGA còn chứa Private SQL Area và SQL Work Areas.

– Private SQL Area: chứa các bind variables, thông tin về câu query (ví dụ như số dòng khi thực hiện full table scan)…

– SQL Work Areas: vùng bộ nhớ này dùng cho các hoạt động khác liên quan đến câu query như:

  • sort area dùng cho việc sắp xếp
  • hash area dùng cho thao tác hash join
  • bitmap merge area cho thao tác merge bitmap từ bitmap index scan…

Ngoài SGA và PGA, Oracle instance còn sử dụng Software code area, là 1 phần bộ nhớ riêng biệt, chứa code thực thi của Oracle. Phần bộ nhớ này là read-only, thường cố định và chỉ thay đổi khi update/reinstall software.