I have oracle database on RHEL.
As a Oracle user when I try to initiate dbca, it is giving me error as following:
Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.Toolkit$2.run(Toolkit.java:860)
at java.awt.Toolkit$2.run(Toolkit.java:855)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
at com.jgoodies.looks.LookUtils.isLowResolution(LookUtils.java:484)
at com.jgoodies.looks.LookUtils.<clinit>(LookUtils.java:249)
at com.jgoodies.looks.plastic.PlasticLookAndFeel.<clinit>(PlasticLookAndFeel.java:135)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1879)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:582)
at oracle.install.commons.util.Application.startup(Application.java:917)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:198)
at oracle.assistants.common.base.driver.AssistantApplication.startup(AssistantApplication.java:320)
at oracle.assistants.dbca.driver.DBConfigurator.startup(DBConfigurator.java:342)
at oracle.assistants.dbca.driver.DBConfigurator.main(DBConfigurator.java:386)
I tried to set display variable but still getting the same error.
How to resolve this?
Thank you
Setting up a display variable
As a root user, changed xforward in sshd_config file.
Based on this article.Below is the reason for the issue
X Window system is not installed
DISPLAY variable is not set
The oracle user has not been added to the Access Control list
Resolution:-
X Window system is not installed
Confirm the xorg-x11-apps.x86_64 package is installed
DISPLAY variable is not set:-
If you connect to the server remotely, you need a terminal emulator. You also need to set the location where the GUI tools can display their output; you use the export display command for that. Run the following in the terminal:
su -l oracle
export DISPLAY=ip_address:display_number
The oracle user has not been added to the Access Control list:-
The oracle user must be allowed to run binaries that open GUIs, such as Oracle installation and Oracle Database Configuration Assistant (DBCA). Run the following in the terminal:
su -l root
xhost +SI:localuser:oracle
After completing the below verifications, log in to the oracle user and launch the Oracle Database Configuration Assistant (DBCA):
su -l oracle
$ORACLE_HOME/bin/netca
Related
Just installed Oracle 11g XE (Windows), but can't connect in SQL Developer or run any command in CLI.
When try to connect in CLI using SYS or SYSTEM with password defined during the install, get the following error:
ORA-12638: credential retrieval failed
When I tray to connect via SQL Developer (tried via SID and Service Name, hostname=localhost, port=1521, SID=xe), get this error:
Status : Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in
connect descriptor
Already tried change SQLNET.AUTHENTICATION_SERVICES = (NTS) to (NONE) in sqlnet.ora file. When I do this, get the following error when try to connect with the SYS or SYSTEM user and password:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Already tried every solution in Google results, like reinstall, stop and start services... Mostly ask for first connect in CLI to make some changes, but even this I can't accomplish.
Any suggestions on how connect to the database?
Found the solution:
I was installing in my company Windows user domain.
First uninstall any instance of Oracle XE 11g.
Switch to a local administrator Windows user and install Oracle XE 11g.
Sign off and back to company Windows user.
Edit the file C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\sqlnet.ora (or equivalent to your installation path). Change SQLNET.AUTHENTICATION_SERVICES = (TNS) to SQLNET.AUTHENTICATION_SERVICES = (NONE).
This change will allow you connect to database from you company Windows user.
As seen here: Error ORA-12638 in Oracle Database 11g
Try the following: Open command window, cd to Oracle bin directory, enter sqlplus /nolog. If you get a prompt enter connect / as sysdba. If you get connected then you can try "startup".
- -
Did you try to start the Oracle RDBMS service via Services (services.msc)?
Do you use an spfile? Check the registry for ORA_SID_NAME_PFILE that is different from default location of $ORACLE_HOME/dbs. Also check the default location. Use only the default location or the registry entry removing either the registry entry or the file in the default location depending on which you want to use.
I have installed Oracle 11g on my Windows 10 machine. I followed all preinstallation requirements.
When trying to log in to the Enterprise manager via this link:
https://localhost:1158/em
I get the error:
Internal Error has occurred. Check the log file for details.
I have found log files and it looks like this is the relevant entry:
2017-09-17 07:36:53,631 [MetricCollector:HOMETAB_THREAD600:60] ERROR rt.DbMetricCollectorTarget _getAllData.344 - java.lang.NullPointerException
java.lang.NullPointerException
at oracle.sysman.emSDK.emd.comm.EMDClient.getURL(EMDClient.java:1570)
at oracle.sysman.emSDK.emd.comm.EMDClient.getConnection(EMDClient.java:1266)
at oracle.sysman.emSDK.emd.comm.EMDClient.getConnection(EMDClient.java:1242)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:1689)
at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:981)
at oracle.sysman.emo.perf.metric.rt.DbHomeTab._getAllData(DbHomeTab.java:340)
at oracle.sysman.emo.perf.metric.rt.DbHomeTab.getData(DbHomeTab.java:154)
at oracle.sysman.emo.perf.metric.eng.MetricCached.collectCachedData(MetricCached.java:416)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread._collectCachedData(MetricCollectorThread.java:605)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread.run(MetricCollectorThread.java:325)
at java.lang.Thread.run(Thread.java:595)
I have tried to set the unique name in environment variables, I thought maybe Java was the problem so I updated my JDK to 8. I am still getting the same error, and my SQL Plus will not open, as soon as I put in the correct credentials it closes. Also I have configured a Listener and tested, test was successful.
I managed to fix the issue, turns out it was a time zone issue. The DB time zone and computer time zone were different. Thus the DB Console would not start and was giving the error "EM daemon is not running".
I fixed it by following instructions here.
Also note before I did that I completely uninstalled Oracle and reinstalled it. There were some issues on that install that were causing SQL not to run. But the above is what fixed the Internal Error I was getting.
Make sure the SYSMAN database user is not locked.
select username, account_status from dba_users where username = 'SYSMAN';
If the account status is not OPEN then
alter user SYSMAN account unlock;
Try restarting dbconsole
$ emctl stop dbconsole
$ emctl start dbconsole
I get this error at the moment of create domain on informatica Powercenter 8.6.1 silent install :
===============================================================================
Informatica PowerCenter 8.6.1
-----------------------------
Cannot create domain.
The installer could not create the domain. Correct the error below and select
Retry. You must successfully create the domain to continue the installation.
DEFINE_NODE_STDOUT:
DEFINE_NODE_STDERR:java.lang.UnsatisfiedLinkError: pmjrepn (A parameter must be a directory.)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:952)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:921)
at java.lang.System.loadLibrary(System.java:452)
at com.informatica.powercenter.sdkint.repository.ILocaleManager.<clinit>(ILocaleManager.java:38)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:187)
at
com.informatica.pcsf.infacmd.InfaCmdMainLoop.mainLoop(InfaCmdMainLoop.java:100)
at com.informatica.pcsf.infacmd.InfaSetupMain.main(InfaSetupMain.java:34)
Exception in thread "main" java.lang.UnsatisfiedLinkError: pmjrepn (A parameter
must be a directory.)
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:952)
Any ideas?
Solution comes to life with following:
1) Since Oracle database is the one used : Checking Oracle client 32 bits is well configured (right order path sequence) through ORACLE_HOME and LD_LIBRARY_PATH and LIBPATH
2) Installing missed AIX library bos.adt.debug
Informatica installation and domain creation is successful.
I am having trouble with my Oracle instance.
I get the following error when I run lsnrctl stat in command prompt. I even confirmed Oracle services running.
The listener supports no services.
I assume the platform is Windows and the Oracle version is 11g.
When an Oracle database instance starts, it tries to register itself to the default listener or to the listener registered in the init parameters as the local_listener. What you can do is
make sure that your local_listener parameter points to your listener
make sure that your listener runs on localhost port 1521 (using the listener.ora file)
This is when the database is using a dynamic listener. You could also make the listener a static one by entering the instance details in the listener.ora file. Docu about the listener.ora is found here Oracle Net Listener Parameters (listener.ora)
when the listener is created after creation of database,we need to explicitly register our instance.
try:
starting database by doing startup and check the listerner status by lsnrctl status and it your instance is running it means pmon has done registering your instance with the listener itself.
A solution is very simple for this error, first, let's understand why this error occurs. It basically has two reasons which are:
1) Your database and service name is not properly set in Oracle environment it should be same everywhere check below parameter values
-ORACLE_SID in oracle environment.
-Check Database Instance name.
-SID_NAME in tnsnames.ora file.
-SERVICE_NAME in listener.ora file.
2) Host name/IP address is missing, not correct or spelling mistake, so please check the below.
-Check the IP ADDRESS in /etc/hosts file.
-It should be same in listener.ora and tnsnames.ora file
-And it should be able to ping from the local and remote server.
Now see I've also faced the same problem and resolved:
please visit this StackOverflow link:
https://stackoverflow.com/a/45065640/6332029
I hope it will help, thanks!
In my case it was easy - for some reason, after restarting my laptop, services stopped working.
So, Run > services > start OracleService helped to start the listener
I had this problem with the latest Oracle 19c version with CentOS 8 installation.
So there is a bug with this Oracle DB instance.
What happens: When you install the ORACLE DB, it automatically creates the listener with an instance. The problem exist in the Hierarchy File System of Linux and how the permission is distributed between the Sudo User group and the non-oracle User.
What you have to do :
Okay to solve this, you have to open your bash profile
***nano ~/.bash_profile***
this is equivalent to environment variables in Windows.
write text in editor: export ORACLE_HOME=/u01/app/oracle/product/{oracle-version}/dbhome_1
Save & Exit
Execute: export ORACLE_HOME=/u01/app/oracle/product/{oracle-version}/dbhome_1
test the environment variable :
Echo $ORACLE_HOME -- should display result
execute chmod 777 /home
execute chown -R oracle /home
open terminal su oracle && cd /u01/app/oracle/product/{oracle-version}/dbhome_1/bin
with oracle account execute ./lsnrctl start -- it should run with no services still
execute: su {root account} && sudo ./dbstart
it should run run with 1 or 2 error.. its fine as long as it doesn't say "ORACLE_HOME is not set"
go back to execute: su oracle && ./lsnrctl status with non root account
That's it.. it should now connect with your service and handler, should give the instance of your db name to connect with. You can use the sys as sysdba and password during installation to log into the database.
After starting the listener service I had to wait 60 seconds before the services would show up as running. So if you enter "lsnrctl stop" followed by "lsnrctl start" you might have to wait a minute before "lsnrctl status" will show your listener services.
I did check all the things but could not find the cause. So I re-installed the Oracle and using that now.
I'm working on re-compiling some Pro*C code that no one currently at my company has ever compiled. It's compiling OK, but when I copy it to the production server and run it I'm getting Oracle error ORA-12547 (TNS: lost contact)
Any ideas?
Oh, figured it out. :-)
The C executable isn't run directly on the server, but launched through a script that sets up the connection environment. i.e. something like this:
export SHLIB_PATH=/oracleDatabaseSidHere/oracle/10.2/lib:/usr/lib:/oracleDatabaseSidHere/oracle/10.2/odg/lib
export ORACLE_BASE=/oracleDatabaseSidHere/oracle
export ORACLE_SID=oracleDatabaseSidHere
export ORACLE_HOME=/oracleDatabaseSidHere/oracle/10.2
# Set up the path and executable to run
PATH=.\:$PATH:$ORACLE_HOME/bin:/usrlocal/bin
PATH=$PATH:/path_to_application_logs
cd /path_to_application
application
Related to this, I just found out that I get the same error ORA-12547 TNS lost contact on my Windows machine when I try to connect to an Oracle database with PL/SQL and at the same time I have a VPN connection open.
I had a similar problem on Linux, Oracle 11gR2. Oracle owner could run SQL*Plus and get in via either TNS or local connection. Non-oracle user could log in via TNS, but not as local connection.
Turns out the answer was that the ORACLE_HOME filesystem was mounted "nosuid". Removing that mount option solved my issue.