Ai đó có thể giải thích cho tôi sự khác biệt của SID, Tên DB, Tên miền DB, Tên cơ sở dữ liệu toàn cầu, Tên dịch vụ, Bí danh dịch vụ và Tên sơ thẩm trong Oracle không?
Cảm ơn Michael
Ai đó có thể giải thích cho tôi sự khác biệt của SID, Tên DB, Tên miền DB, Tên cơ sở dữ liệu toàn cầu, Tên dịch vụ, Bí danh dịch vụ và Tên sơ thẩm trong Oracle không?
Cảm ơn Michael
Câu trả lời:
SID = xác định thể hiện cơ sở dữ liệu (tên cơ sở dữ liệu + số hiệu). Vì vậy, nếu tên cơ sở dữ liệu của bạn là somedb và số hiệu của bạn là 3, thì SID của bạn là somedb3.
Tên DB = Tên của cơ sở dữ liệu (cơ sở dữ liệu có thể được chia sẻ b / t nhiều trường hợp)
Tên miền DB = Thường giống với tên miền công ty của bạn (somecompany.com)
Tên cơ sở dữ liệu toàn cầu = Tên cơ sở dữ liệu + tên miền cơ sở dữ liệu (somedb.somecompany.com)
Tên dịch vụ = Một "trình kết nối" với một hoặc nhiều trường hợp. Việc tạo các tên dịch vụ bổ sung trong môi trường RAC thường rất hữu ích vì dịch vụ có thể được sửa đổi để sử dụng các SID cụ thể làm kết nối chính hoặc phụ hoặc hoàn toàn không sử dụng một số SID nhất định.
Bí danh dịch vụ = Bí danh cho tên dịch vụ (giống như CNAME, v.v.). Giả sử bạn đặt tên dịch vụ của mình một cái gì đó có ý nghĩa với dba, nhưng có lẽ đó là một chút bí truyền. Tạo một bí danh dịch vụ và đặt tên cho nó một cái gì đó sẽ có ý nghĩa với người dùng.
Tên sơ thẩm = giống như SID
default service name
= global db name
?
Cách bạn mô tả SID chỉ là hành vi DEFAULT trong cấu hình RAC. SID (== instance_name) chỉ là: Tên ví dụ của bạn.
Tôi luôn nhìn vào nó như thế này: Một Instance, là một Instance của phần mềm RDBMS. Một thể hiện MOUNTS một controlfile, (thay đổi cơ sở dữ liệu) Trong phần tương tác này được ghi vị trí của các tệp dữ liệu. bộ sưu tập các tệp dữ liệu (okay và controlfile (s)) == cơ sở dữ liệu.
Cơ sở dữ liệu có tên, db_name và (tùy chọn) một tên miền (db_domain) -> cùng global_db_name. Bây giờ hãy tưởng tượng bạn đang sao chép (DataGuard) cơ sở dữ liệu của bạn. Bạn muốn giữ DB_name giống nhau, phải không? (Ý tôi là: khôn ngoan dữ liệu, đó là cơ sở dữ liệu CÙNG) Nhưng sau đó, làm thế nào để xác định hai 'phiên bản' cơ sở dữ liệu của bạn? Nhập 'DB_UNIQUE_NAME' ... Vâng, nó đang bị lẫn lộn ...
Thực tiễn cá nhân của tôi là đặt tên INSTANCE giống như db_unique_name trong thiết lập DataGuard và gắn với tên RAC (db_name + Instance_Number) trong thiết lập RAC. Sau đó, db_unique_names tôi tạo nên, thường giống như db_name + hậu tố 1 chữ cái (MYDBa MYDBb, v.v.)
Chúc mừng, Paul
SID là ví dụ. Tốt hơn nên tránh sử dụng thuật ngữ 'thể hiện cơ sở dữ liệu', chỉ là ví dụ.
"SID = xác định thể hiện cơ sở dữ liệu (tên cơ sở dữ liệu + số hiệu)" là sai. "Một Instance, là một Instance của phần mềm RDBMS" là sai. DBMS được gỡ cài đặt hoặc cài đặt chỉ là DBMS.
"Tên miền DB = Thường giống như miền công ty của bạn" nên tránh. Tôi gặp vấn đề khi sử dụng tên miền và các vấn đề biến mất khi không sử dụng tên miền.
"Tên cơ sở dữ liệu toàn cầu = Tên cơ sở dữ liệu + miền cơ sở dữ liệu" cũng sai. Tên cơ sở dữ liệu toàn cầu là Tên dịch vụ. Nó đơn giản mà.
"SID = xác định thể hiện cơ sở dữ liệu (tên cơ sở dữ liệu + số hiệu). Vì vậy, nếu tên cơ sở dữ liệu của bạn là somedb và số hiệu của bạn là 3, thì SID của bạn là somedb3." sai. Không có catenation như vậy của danh tính hoặc tên.
Tôi đề nghị bạn tham khảo
Knowledge Xpert for Oracle Administration > Oracle Architecture > Oracle instance, files and processes
nếu bạn đã cài đặt cóc, thậm chí là phiên bản dùng thử.
Nó mô tả toàn bộ bức tranh một cách kỹ lưỡng.