Oracle NoSQL Database I cannot see the JMX statistics in the JConsole - oracle-nosql

I have an issue when trying to monitor Oracle NoSQL nosql via the jmx interface.
The jmx is active, and I can connect to the jmx interface using jconsole but I can't see the "Oracle NOSQL Database" section in MBeans tab.
We've add the value jmx to mgmt parameter when makebootconfig and our configuration seems ok mgmtClass=oracle.kv.impl.mgmt.jmx.JmxAgent".
Can someone help me on this?

Reading your question, I think that the issue comes from the way that you are using to do the connection in jconsole.
I was able to reproduce the behavior you saw if, in the "New Connection" page on jconsole, I selected a process from the "Local Process" section. In that case, I saw the same list of MBeans, and the NoSQL-specific ones were missing.
I was able to get the correct MBeans by selecting "Remote Process" and specifying the helper hostname and port for the store. In this case, I was using "localhost" and port 5000. When I specified "localhost:5000" in the Remote Process section, then the listed MBeans included the Oracle NoSQL Database ones.
This is well documented https://docs.oracle.com/en/database/other-databases/nosql-database/20.1/admin/java-management-extensions-jmx.html#GUID-8D151ADE-EC10-446B-8242-1EEC0C3BCB52
Or just run jconsole localhost:5000 using the good port for your deployment
Hope that this can help you

Related

Unable to remotely connect to my IBM WebSphere Application Server

I am using the IBM product: Websphere Application Server (WAS), version: Base 9.0.5.2.
I want to connect remotely to my IBM WAS to collect a particular set of data metrics, and to achieve that I followed the steps mentioned here I cannot use MBean, as it is not supported by IBM and it is only for testing purposes, so all I am left is with option 2 (in the above link).
In the sample test script attached in the above link, all the files that are mentioned, they are the files present on my IBM WAS. Those files aren't present on my remote machine (from where I am trying to connect to my IBM WAS).
I placed those listed files on my remote machine, and still couldn't connect to my IBM WAS.
How shall I test whether I can connect remotely to my IBM WAS or not?
Can somebody please guide me if I'm missing out on any steps?
Verify if your Websphere JMX port is open on both servers ( in the link 2809 )
If you want to access stats provided by PMI infrastructure, then I would consider using PerfServlet app which is discussed here - Retrieving performance data with PerfServlet. It gives you access via http, so heavy client and product libraries needed, and returns XML, which you can parse to get stats you need.
Other option would be to write your custom app which would use JMX Using the JMX interface to develop your own monitoring application and make it available for example as REST service.
Or if you just want to monitor values use dedicated monitoring apps, like IBM Health Center or third party tools.

Cannot connect to Oracle database via TCPS

We have an Oracle server set up and are using TCP with SSL as connection. This setup was made with the assistant wizard and we used the default settings pretty much everywhere (which also means that no tnsnames.ora or listener.ora exist). lsnrctl status shows that the correct ports are listening.
We are trying to connect to this database via DBeaver and SQuirrel SQL but cannot get it to work. We have set the vmargs for the programs to contain the certificate of the server (e.g. dbeaver.exe -vmargs -Djavax.net.ssl.trustStore=C:/...keystore.jks -Djavax.net.ssl.trustStorePassword=password -Djavax.net.ssl.trustStoreType=JKS), which works fine.
Connecting to the database with a concrete JDBC URL string (jdbc:oracle:thin:#(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=IP)(PORT=5500))(CONNECT_DATA=(SERVICE_NAME=testdb)))) does not work and times out after 60 seconds without a proper error (IO Error: Got minus one from a read call). We have tried pretty much everything and cannot get it to work.
The ports are correctly assigned, the database can successfully get accessed with the normal TCP protocol and port 1521.jdbc:oracle:thin:#(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=testdb)))
Are we missing steps? There don't seem to be any firewall issues. The certificates seem to be working fine as well, but we cannot connect with any of the programs (or sqlplus via command line).
Anyone know what could be the problem? Thanks!
Can you check out the SSL blog or our OTN page for step-by-step instructions? If you are using TLSv1.2 then the JDK version and JDBC driver versions are very important.
In the end I got it to work. There are various sites online that show you how it's done. I used this one:
https://database.edorex.ch/blog/database-connection-with-a-certificate/
Getting the wallets set up, certificates set up and the user set up in the database were the most important steps. Additionally, I had to separate the server and client machines. The server is now on a VM and it works that way, I couldn't get it to work having both on the same machine.

Setting up JDBCLoginTimeoutSeconds thru Weblogic Admin Console

We are facing server hang issue at start up if one of Database not available. I have looked into weblogic documentation and find we can overcome this issue by setting up 'JDBCLoginTimeoutSeconds' property on ServerMBean.
I have googled it and mostly found ways to configure thru code or xml configuration. We don't want to make any code change and do not have direct access to server xml configuration. So just wanted to know if there is a way to setup this property thru Admin Console.
Using the WebLogic console, open the datasource configuration. Then on the Connection Pool tab, set the Initial Capacity to 0. This will prevent WebLogic from doing an initial check on the database during startup. The server will start properly even if the database is not available.

how can know database name in oracle web logic server

I'm using oracle web logic server. How can I find out the database name and port number?
You can use nslookup or tnsping to know the host name and port of the database.
nslookup DATABASE_SID
tnsping DATABASE_SID
1) You can login to the console and navigate to Data Sources (for WLS10 and above) and click the available data source and click the tab Connection Pool. You would need to navigate to the tab Connection Pool if WLS 8 is being used.
2) Alternatively you can go to the weblogic domain of your instance and check in the config directory , $WLS_DOMAIN/config/jdbc and view the contents of the datasource's xml file.

WebSphere to Oracle - doesn't accept correct password

In WebSphere 6.1 I have created a datasource to an Oracle 11g instance using the thin JDBC client.
In Oracle I have two users, one existing and another newly created.
My websphere datasource is OK if I use the component-managed authentication alias of the existing user, but fails with "invalid user/password" message if I use the alias of the new user. The error message is:
The test connection operation failed for data source MyDB (Non-XA) on
server nodeagent at node MY_node with the following exception:
java.sql.SQLException: ORA-01017: invalid username/password;
logon denied DSRA0010E: SQL State = 72000, Error Code = 1,017.
View JVM logs for further details.
There is nothing in the JVM logs. I have grepped all websphere logs and they do not mention my connection at all.
I can confirm that the username and password are correct by logging in via SQLPlus or (to prove the JDBC connection is OK) via SQuirreL.
I have checked in Oracle that the new user has all the system privs that the existing user has.
Any thoughts on what is going on or how I can debug this further?
Just FYI. I am guessing you are running WebSphere in Network Deployment mode.
This behavior you're experiencing is actually by design.
The reason for it is that the "Test Connection" button you see on the admin console, invokes the JDBC connection test from within the process of the Node Agent. There is no way for the J2C Alias information to propagate to the Node Agent without restarting it; some configuration objects take effect in WebSphere as soon as you save the configuration to the master repository, and some only take effect on a restart. J2C aliases take effect on restarts.
In a Network Deployment topology, you may have any number of server instances controlled by the same Node Agent. You may restart your server instances as you'd like, but unless you restart the Node Agent itself, the "test connection" button will never work.
It's a known WebSphere limitation... Which also exists on version 7.0, so don't be surprised when you test it during your next migration. :-)
If this happens to anyone else, I restarted WebSphere and all my problems went away. It's a true hallmark of quality software.
Oftentimes when people tell me they can't log into Oracle 11g with the correct password, I know they've been caught out by passwords becoming case-sensitive between 10g and 11g.
Try this :
data source definition
security
use the j2c alias both autentication managed by component and autentication managed by container
IBM WAS 8.5.5 Knowledge Center - Managing Java 2 Connector Architecture authentication data entries for JAAS
If you create or update a data source that points to a newly created J2C authentication data alias, the test connection fails to connect until you restart the deployment manager.
After you restart the deployment manager, the J2C authentication data is reflected in the runtime configuration. Any changes to the J2C authentication data fields require a deployment manager restart for the changes to take effect.
The node agent must also be restarted.
I have point my data source to componenet-manage authentication as well as container-managed authentication.Its working fine now........

Resources