Tạo và quản lý Oracle Wallet
2. Oracle Wallet là gì?
Oracle Wallet là cách để lưu trữ các thông tin kết nối tới các database nằm trên nhiều tên miền (domain) khác nhau. Bảng dưới đây minh họa nội dung mà một Wallet chứa.
DB Connection String | Username | Passwod |
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db11g) ) ) | dev | dev001 |
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver2)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db12c) ) ) | prod | prod123 |
Như vậy Wallet chứa các chứng chỉ (credentials) để bạn có thể truy cập vào một database nào đó. Mà khi thông tin về database này thay đổi, bạn có thể cập nhập lại wallet. Ứng dụng của bạn có thể sử dụng các chứng chỉ trên Wallet để truy cập vào một database thay vì tự quản lý thông tin truy cập.
Oracle Wallet lưu trữ các thông tin chứng chỉ vào một tập tin. Sẽ rất nguy hiểm nếu hacker sao chép tập tin này và sử dụng ở máy của họ. Rất may Oracle (11&12) cho phép bạn tạo ra các Wallet địa phương, mà nó chỉ có tác dụng trên máy tính tạo ra nó.
3. Wallet trong Oracle 11g, 12c
Tạo và quản lý Wallet (11g, 12c)
Bạn phải mở CMD với quyền Adminstrator.
CD tới thư mục bin của Oracle:
Các Wallet có thể được copy từ máy này sang một máy tính khác, đó chính là lỗ hổng bảo mật, vì vậy trong Oracle Release 2 trở đi, bạn có thể ngăn chặn hoạt động của Wallet nếu nó được copy sang một máy tính khác bằng cách tạo Wallet địa phương sử dụng lệnh "orapki", thay vì sử dụng "mkstore" như của Oracle 10g.
Sử dụng lệnh tạo Wallet "orapki".
# wallet_location là đường dẫn thư mục tạo wallet.
orapki wallet create -wallet <wallet_location> -pwd <password> -auto_login_local
# Ví dụ:
orapki wallet create -wallet C:/DevPrograms/mywallet -pwd mysecret1 -auto_login_local
Wallet đã được tạo ra, nó gồm 2 file cwallet.sso & ewallet.p12
Hiển thị thông tin Wallet (11g,12c)
Hiển thị thông tin wallet:
# Cú pháp:
orapki wallet display -wallet <wallet-location>
# Ví dụ:
orapki wallet display -wallet C:/DevPrograms/mywallet
Thay đổi mật khẩu wallet (11g,12c)
# Cú pháp:
orapki wallet change_pwd -wallet <wallet-location> -oldpwd <old password> -newpwd <new password>
# Ví dụ:
orapki wallet change_pwd -wallet C:/DevPrograms/mywallet -oldpwd mysecret1 -newpwd mysecret2
4. Wallet trong Oracle 10g
Tạo và quản lý Wallet (10g)
Bạn phải mở CMD với quyền Adminstrator.
CD tới thư mục bin của Oracle:
Sử dụng lệnh tạo wallet:
# wallet_location là đường dẫn thư mục tạo wallet.
mkstore -wrl <wallet_location> -create
# Ví dụ:
mkstore -wrl C:/DevPrograms/db11g/product/11.2.0/dbhome_1/mywallet -create
Nhập mật khẩu cho wallet:
Chú ý: Mật khẩu bạn nhập vào có thể không đúng tiêu chuẩn và bạn sẽ nhận được một thông báo lỗi, chẳng hạn mật khẩu nhập vào không đủ 8 ký tự.
Nhập lại mật khẩu: mysecret1
Wallet đã được tạo ra, nó gồm 2 file cwallet.sso & ewallet.p12
5. Thêm chứng chỉ (credentials) truy cập database vào Wallet (10g,11g,12c)
mkstore -wrl <wallet_location> -createCredential <db_connect_string> <username> <password>
DB Connection String | Username | Passwod |
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db11g) ) ) | dev | dev001 |
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = myserver2)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = db12c) ) ) | prod | prod123 |
Ví dụ:
# <wallet_location>
C:\DevPrograms\mywallet
# <db_connect_string>
"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myserver1)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=db11g)))"
Các hướng dẫn về cơ sở dữ liệu Oracle
- Cài đặt PL/SQL Developer trên Windows
- Cơ sở dữ liệu Oracle mẫu để học SQL
- Hướng dẫn học SQL cho người mới bắt đầu với Oracle
- Cài đặt cơ sở dữ liệu Oracle 11g trên Windows
- Cài đặt cơ sở dữ liệu Oracle 12c trên Windows
- Cài đặt Oracle Client trên Windows
- Tạo Oracle SCOTT Schema
- Cơ sở dữ liệu mẫu
- Cấu trúc database và tính năng đám mây trong Oracle 12c
- Import và Export cơ sở dữ liệu Oracle
- Các hàm xử lý chuỗi trong Oracle
- Phân tách một chuỗi ngăn cách bởi dấu phẩy và chuyển vào mệnh đề IN của câu lệnh Select trong Oracle
- Truy vấn phân cấp trong Oracle
- Hướng dẫn và ví dụ Oracle Database Link và Synonym
- Hướng dẫn lập trình Oracle PL/SQL
- Phân tích XML trong Oracle PL/SQL
- Kiểm soát chuẩn hệ thống database Oracle (Audit Standard)
- Kiểm soát bắt buộc và kiểm soát quản trị trong Oracle
- Tạo và quản lý Oracle Wallet
Show More