Posts

How to write procedure in oracle database

Declare procedure verifyPointOutStandingByTcbsId ( tcbsid_in IN varchar2 ) is sumOfCreditPointRedem number ; sumOfDebitPointRedem number ; resultRedem number ; currentBalanceRedem number ; sumOfCreditPointRank number ; sumOfDebitPointRank number ; resultRank number ; currentBalanceRank number ; begin -- dbms_output.PUT_LINE('verifying this tcbsid: ' || tcbsid_in); select sum ( POINT ) into sumOfDebitPointRedem from IXU_TRANSACTION_HISTORY where ACTION = 'Debit' and AWARD_TYPE = 'Redeemable' and TCBSID = tcbsid_in ; select sum ( POINT ) into sumOfDebitPointRank from IXU_TRANSACTION_HISTORY where ACTION = 'Debit' and AWARD_TYPE = 'Ranking' and TCBSID = tcbsid_in ; select sum ( POINT ) into sumOfCreditPointRedem from IXU_TRANSACTION_HISTORY where ACTION = 'Credit' and AWARD_TYPE = 'Redeem...

How to create index for column in oracle database

CREATE INDEX temp_tcbsid_IXU_TRANSACTION_HISTORY ON IXU_TRANSACTION_HISTORY ( TCBSID ); CREATE INDEX temp_tcbsid_IXU_GENERAL_LEDGER ON IXU_GENERAL_LEDGER ( TCBSID );

Bài thơ hay về cha mẹ

GỬI CON YÊU DẤU (Bản dịch của Huy Phương) Nếu một mai thấy Cha Mẹ già yếu Hãy thương yêu và thấu hiểu song thân Những lúc ăn Mẹ hay thường vung vãi Hay tự Cha không mặc được áo quần. Hãy nhẫn nại nhớ lại thời thơ ấu Mẹ đã chăm lo tã, áo, bế bồng Bón cho con từng miếng ăn, hớp sữa Cho con nằm trong nệm ấm chăn bông. Cũng có lúc con thường hay trách móc Chuyện nhỏ thôi mà Mẹ nói trăm lần Xưa kia trong nôi giờ con sắp ngủ Chuyện thần tiên Mẹ kể mãi không ngưng. Có những lúc Cha già không muốn tắm Đừng giận Cha mà la mắng nặng lời Ngày còn nhỏ con vẫn thường sợ nước Từng van xin "đừng bắt tắm mẹ ơi" Những lúc Cha không quen xài máy móc, Chỉ cho Cha những hướng dẫn ban đầu. Cha đã dạy cho con trăm nghìn thứ Có khi nào trách móc con đâu? Một ngày nọ khi Mẹ, Cha lú lẫn Khiến cho con mất hứng thú chuyện trò Nếu không phải là niềm vui đối thọai Xin đến gần và hãy lắng tai nghe Có những lúc Mẹ không buồn cầm đũa Đừng ép thêm, gìa có lúc biếng ăn Con cần biết lúc nào Cha thấy đói Lúc nà...

How to extract text from console to log file

sudo journalctl -u odin  -f -n 1000| tee bonh.log đó chính là dùng câu lệnh | tee bonh.log

Alternate exchange là gì và khi nào dùng

https://www.rabbitmq.com/ae.html Alternate exchange là 1 exchange thay thế. Được chỉ định khi bạn khởi tạo 1 cái exchange.  Vấn đề là khi bạn đẩy 1 msg với 1 routing-key vào 1 exchange. Nhưng nếu exchange này chưa binding đến bất kì queue nào hoặc là không có routing-key nào macthed với routing-key của msg thì lúc này msg sẽ đc đẩy vào alternate exchange.

Tiếp theo là độ dài của queue

https://www.rabbitmq.com/maxlength.html Theo bạn thì độ dài của queue là xác định thế nào? Trong rabbitMQ thì độ dài của queue có thể đc setup theo policy theo 2 khía cạnh 1. là queue có thể chứa bao nhiêu phần tử 2. là độ dài bytes của tổng số các phần tử trong queue, ví dụ khai báo là tổng số phần tử trong queue là 2MB=> nếu 1 phần tử mới vào làm cho khối lượng tăng lên hơn 2MB thì phần tử sẽ drop hoặc forward tiếp Ví dụ sét số phần tử max-length của 1 queue  Map<String, Object> args = new HashMap<String, Object>(); args.put("x-max-length", 10); channel.queueDeclare("myqueue", false, false, false, args); Define Max Queue Length Using x-arguments During Declaration Maximum number of messages can be set by supplying the x-max-length queue declaration argument with a non-negative integer value. Maximum length in bytes can be set by supplying the x-max-length-bytes queue declaration argument with a non-negative integer value. If both arguments are set...

Dead Letter Exchanges

https://www.rabbitmq.com/dlx.html Tại sao lại cần thuộc tính này.  Tôi sẽ lấy ví dụ: về overflow, hoặc message Time to live, hoặc consumer reject hoặc nack Ví dụ bạn có 1 cái queue mà maximum length của queue là 10 phần tử, hiểu theo cách khác là độ dài của queue là 10 Khi đó nếu phần tử thứ 11 được đẩy vào thì làm sao--> sẽ có 1 phần tử bị drop,-> phần tử đầu queue hay cuối queue sẽ bị drop ==> tùy thuộc vào cách bạn setup policcy cho Queue Overflow behavior can be set by supplying the x-overflow queue declaration argument with a string value. Possible values are drop-head (default) or reject-publish ==> Để tránh miss messages khi bị tràn queue => cần phải chỉ rõ thuộc tính này khi khởi tạo queue Map<String, Object> args = new HashMap<String, Object>(); args.put("x-dead-letter-exchange", "some.exchange.name"); channel.queueDeclare("myqueue", false, false, false, args); Tiếp theo là sau khi message được đẩy vào exchange mới rồ...