Lỗi PL/SQL Developer không load được danh sách Database trong tnsnames.ora

Lỗi PL/SQL Developer không load được danh sách Database trong tnsnames.ora

Để sử dụng được PL/SQL Developer trên window ta cần:
– Server chứa Oracle để ta kết nối tới
– Máy tính cần cài Oracle Client để kết nối
– Phần mềm PL/SQL Developer để lập trình (Oracle Dev)
– Chỉnh sửa file tnsnames.ora (D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN) để thiết lập Oracle Client đến Oracle Client

Trong một số trường hợp sau khi có đủ các thứ trên nhưng khi bật PL/SQL Developer lên thì trong mục Database không thấy có danh sách các Oracle Server mà đã config trong file tnsnames.ora.

Nguyên nhân xảy ra là do vì một lý do gì đó mà phần mềm PL/SQL Developer không tìm thấy file cấu hình tnsnames.ora để load. Để kiểm tra xem PL/SQL Developer có load đúng file tnsnames.ora không ta kiểm tra ở tab: Help->Support Info… -> TNS Names.

Để giải quyết vấn đề này:
Ta cmd vào thư mục được cài đặt phần mềm PL/SQL Developer: C:\Program Files (x86)\PLSQL Developer
Chạy câu lệnh: plsqldev.exe TNS_ADMIN=D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
Với TNS_ADMIN=D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN là nơi chứa file tnsnames.ora mà ta cần.

Khởi động lại PL/SQL Developer là OK.

Weblogic là gì? Tìm hiểu oracle weblogic server

Sau một thời gian làm việc tại công ty D mình có được nghe thấy từ weblogic. Nghe anh team lead nói nó rất thần thánh mà mình cũng chưa hiểu nó là gì luôn. Nó chạy khỏe và khá ổn định. Vậy weblogic là gì?

Weblogic là gì?
Weblogic là gì?

Tên chính xác của nó là Oracle weblogic server là một sản phẩm của Oracle(được mua lại từ một công ty khác), do nó được phát triển bởi Oracle nên nó dính líu tới Java và hệ quản trị CSDL Oracle và hỗ trợ tối đa cho chúng.

Weblogic server là một loại web server như IIS, Tomcat, Glassfish, Apache… Nó chuyên để triển khai cho các ứng dụng web được viết bằng Java. Và nó chính là 1 webserver hạng nặng dùng để triển khai các ứng dụng lớn và phức tạp (cũng chưa được thị dâm hệ thống nào sử dụng oracle weblogic server cả, có lẽ Viettel dùng cái này cho hệ thống SMS của họ?).

Một số weblogic cho server khác

Weblogic server hỗ trợ chính là Database Oracle nhưng vẫn hỗ trợ một số Database lớn khác như DB2, Microsoft SQL server, MySQL, DB2…
À trước đây có nghe thằng bạn giám đốc công ty làm về game có sử dụng Weblogic server cho phía server các con game của nó thì phải. Do mình làm hệ thống SMS rùa bò cho công ty C, dùng winservice đa luồng xử lý mà vẫn chậm tệ.

Nói đến Webserver thì có thằng bạn giới thiệu chỗ nó làm về game, phía server thì dùng thằng CouchBase để làm webserver chạy khỏe thông qua websocket. Có thể chịu tải để xử lý logic nhiều thằng chơi cùng lúc (chục ngàn luôn).

Như vậy ta đã biết sơ qua weblogic là gì. Để hiểu sâu hơn và thực hành được, mình cũng định vọc Oracle Weblogic server ở thời gian tới.

Có thể bạn quan tâm một số chia sẻ của tôi về Quản trị Database Oracle:

Tạo ChatBot AI bằng Python với AIML

ChatBot AI(ChatBot thông minh hay ChatBot trí tuệ nhân tạo) được viết dễ dàng bằng Python với gói AIML. AIML là viết tắt của Ngông ngữ đánh dấu Trí Tuệ nhân tạo, nhưng nó đơn giản chỉ là ngôn ngữ XML. Các đoạn code Python dưới đây sẽ giúp bạn tạo một ChatBotAI của mình.

AIML là gì?

AIML được phát triển bởi Richard Wallace. Anh ấy tạo một con bot gọi là A.L.I.C.E (Artificial Linguistics Internet Computer Entity) đã giành được một số giải thưởng về trí tuệ nhân tạo. Rất thú vị, một trong những bài kiểm tra của Turing để xem có trí thông minh nhân tạo hay không bằng cách để con người chat với một con bot trong vài phút và để người đó nghĩ xem có đúng là đang chat với người hay không thông giao diện văn bản. AIML là một dạng của XML định nghĩa các quy tắc để kết hợp các mẫu câu hỏi và xác định câu trả lời cho nó.

Đối với bản thử nghiệm đầu tiên đầy đủ của AIML, bạn hãy kiểm tra chatbotAI đầu tiên với Alice Bot’s tại link: http://www.alicebot.org/documentation/aiml-primer.html. Bạn cũng có thể tìm hiểu sâu thêm về AIML và những gì AIML có thể làm được tại: https://en.wikipedia.org/wiki/AIML. Chúng ta sẽ tạo các tập tin AIML đầu tiên và sau đó sử dụng Python để tạo một chatbotAI.

Bắt đầu tạo các file AIML cơ bản

Tạo file XML đầu tiên là std-startup.xml làm file chính để cấu hình chỉ định các file AIML. Trong trường hợp này, chúng ta sẽ tạo một file cơ bản với một pattern và có 1 hành động. Chúng ta cần tạo pattern là load aiml b, và nó sẽ load các câu trả lời. Chúng ta tạo file basic_chat.aiml trong một phút:

<aiml version="1.0.1" encoding="UTF-8">
<!-- std-startup.xml -->

<!-- Category is an atomic AIML unit -->
<category>

<!-- Pattern to match in user input -->
<!-- If user enters "LOAD AIML B" -->
<pattern>LOAD AIML B</pattern>

<!-- Template is the response to the pattern -->
<!-- This learn an aiml file -->
<template>
<learn>basic_chat.aiml</learn>
<!-- You can add more aiml files here -->
<!--<learn>more_aiml.aiml</learn>-->
</template>

</category>

</aiml>

Tạo file AIML

Ở trên chúng ta đã tạo ra file AIML chỉ xử lý một pattern là load aiml b. Khi chúng ta hỏi bot là load aiml b thì nó sẽ cố gắng tải file basic_chat.aiml. Nó sẽ không hoạt động nếu chúng ta chưa tạo ra file basic_chat.aiml. Đây là chỗ mà chúng ta có thể đặt các thông tin vào bên trong basic_chat.aiml. Chúng ta sẽ kết hợp hai pattern cơ bản và câu trả lời cho chúng.
<aiml version="1.0.1" encoding="UTF-8">
<!-- basic_chat.aiml -->

<category>
<pattern>HELLO</pattern>
<template>
Well, hello!
</template>
</category>

<category>
<pattern>WHAT ARE YOU</pattern>
<template>
I'm a bot, silly!
</template>
</category>

</aiml>

Câu trả lời ngẫu nhiên

Để bot không trả lời các câu hỏi một cách cứng nhắc, chúng ta cần thêm vào các câu trả lời mà nó có thể chọn ngẫu nhiên. Một câu trả lời ngẫu nhiên khi nó nhận được một tin nhắn bắt đầu bằng: One time I. Dấu * là sự đánh dấu phù hợp với bất kỳ thứ gì.
<category>
<pattern>ONE TIME I *</pattern>
<template>
<random>
<li>Go on.</li>
<li>How old are you?</li>
<li>Be more specific.</li>
<li>I did not know that.</li>
<li>Are you telling the truth?</li>
<li>I don't know what that means.</li>
<li>Try to tell me that another way.</li>
<li>Are you talking about an animal, vegetable or mineral?</li>
<li>What is it?</li>
</random>
</template>
</category>

Sử dụng các file AIML

Bạn có thể nhàm chán với việc tạo các file AIML, nhưng để có thể hoạt động được bạn phải tạo ra rất nhiều file AIML. Tôi nghĩ cần phải tạo khoảng 10.000 patterns để có thể bắt đầu. Thật may mắn, ALICE cung cấp miễn phí nhiều file AIML, ta có thể lấy chúng tại website Alice Bot. Nổi bật là file có tên std-65-percent.xml chưa được 65% các cụm từ phổ biến. Ngoài ra nó còn cho phép bạn chơi trò BlackJack với bot.
Cài đặt module AIML cho Python
Cho tới bây giờ, chúng ta đã tạo mọi thứ với file AIML với định dạng XML. Điều đó là quan trọng tạo nên bộ não của bot, nhưng đó chỉ là thông tin. Để ta có thể tương tác với các thông tin này, ta có thể sử dụng bất kỳ ngôn ngữ lập trình nào thực hiện được với các cấu trúc xml của các file AIML. Đơn giản nhiều người sử dụng Python để con bot có thể hoạt động.

Python 2
Đối với Python 2 ta có thể cài gói AIML với pip:
pip install aiml
hoặc tải tại: https://pypi.python.org/pypi/aiml/
Python 3
Đối với Python 3 cũng tương tự như vậy, bạn vẫn phải cài đặt gói AIML với pip:
pip install python-aiml
hoặc tải tại: https://github.com/paulovn/python-aiml

Đây là hướng dẫn tạo ChatBot AI bằng Python, từ đây ta có thể yạo một chương trình Python đơn giản cho bản thân.

Bạn có thể tham khảo thêm tại đây.