问题1 xhost:unable to open display
oracle用户运行./runInstaller有如下提示:
[oracle@yhxtest-1 database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 86023 MB Passed
Checking swap space: 0 MB available, 150 MB required. Failed <<<<
Checking monitor: must be configured to display at least 256 colors
>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
Some requirement checks failed. You must fulfill these requirements before
continuing with the installation,
Continue? (y/n) [n] y
>>> Ignoring required pre-requisite failures. Continuing...
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-11-27_04-21-02PM. Please wait ...[oracle@xydykt-1 database]$ Exception in thread "main" java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at java.awt.Toolkit$2.run(Toolkit.java:821)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
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:242)
at javax.swing.SwingUtilities.loadSystemClass(SwingUtilities.java:1779)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:453)
at oracle.install.commons.util.Application.startup(Application.java:785)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:165)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:182)
at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:348)
at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:124)
at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:155)
解决办法:
以root用户登录
输入命令xdpyinfo(或者命令:echo $DISPLAY),记录下里面的name of display:后的字符串,如 name of display:127.0.0.1:1.0
在oracle用户下执行一下export DISPLAY=:1.0
然后再执行xdpyinfo命令,如果能出现信息说明你已经成功了
再执行xhost +就可以出现图形界面了
使用如上几个命令即可解决。
问题2 ORACLE安装界面的dbca界面 netca界面汉字无法显示
解决方案:
直接在当前界面执行命令“export LANG=en_US”
或者按如下操作步骤操作:
(1)查看是否安装有jdk,使用命令:java -version
[root@localhost ~]# java -version
java version "1.7.0_51"
OpenJDK Runtime Environment (rhel-2.4.5.5.el7-x86_64 u51-b31)
OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode)
(2)安装有jdk,找到jdk的安装路径
[root@localhost ~]# which java
/usr/bin/java
[root@localhost ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 3 17:38 /usr/bin/java -> /etc/alternatives/java
[root@localhost ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 72 Jul 3 17:38 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre/bin/java
(3)配置JDK运行环境
用root账户登录,在控制台上输入:vi /etc/profile,在文件的最后输入以下内容
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64
JRE=JAVA_HOME/jre
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JRE CLASSPATH PATH
编辑成功后保存,在控制台输入: source /etc/profile,使得参数文件生效,配置成功
在控制台输入:java -version,输出最新的JAVA版本号
(4)设置DBCA启动参数
切换目录:cd /syn/oracle/product/12c/bin
编辑dbca文件:vi dbca
在文件中找到JRE_DIR=/syn/oracle/product/12c/jdk/jre
改为:
#JRE_DIR=/opt/oracle/product/10.2.0/Db_1/jdk/jre
JRE_DIR=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51-2.4.5.5.el7.x86_64/jre
在控制台输入dbca,启动的安装数据库的界面已成功变为中文显示了
(5)设置netca启动参数
切换目录:cd /syn/oracle/product/12c/bin
编辑netca文件:vi netca
在文件中找到JRE_DIR=/syn/oracle/product/12c/jdk/jre,改为:
JRE_DIR=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre
在控制台输入netca,启动的安装数据库的界面已成功变为中文显示了
问题3 ORA-01081---启动数据库报错ORA-01081
SQL>shutdown immediate 关闭
SQL>startup 重新开启就可以了
问题4 ORA-01078-启动数据库报错ORA-01078
SQL>startup
ORA-01078:failure in processing system parameters
LRM-00109: could not open parameter file ‘/syn/oracle/product/12c/dbs/***.ora’
解决方案:
(1)查看dbs目录下是否有00109所描述的ora文件:
切换目录:cd /syn/oracle/product/12c/dbs
ls查看目录下的文件,发现在 /syn/oracle/product/12c/dbs/下找不到initepps.ora文件
(2)于是去/syn/oracle/admin/syntong/pfile下,找到文件init.ora.6420171482,然后将文件拷贝到/syn/oracle/product/12c/dbs/目录下,并重命名为***.ora后,重启数据库,问题解决
问题5 ORA-01102 报错解决方法
SQL> startup
ORACLE instance started.
Total System Global Area 599785472 bytes
Fixed Size 2022600 bytes
Variable Size 171967288 bytes
Database Buffers 419430400 bytes
Redo Buffers 6365184 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode
这个错误主要是lk<SID>文件造成的,该文件位于ORALCE_HOME下的dbs目录下。
这个lk<SID>的主要作用是说明DATABASE MOUNT上了,不用在MOUNT了。DATABASE UNMOUNT 后会删除掉,如果DATABASE确实没有MOUNT,这个文件在,即已MOUNT上,只有手工删除,所以一定要小心。
解决方案:
具体解决ORA-01102问题的步骤:
# /sbin/fuser -u lkSYNTONG
lkSYNTONG: 4918(oracle) 20726(oracle) 20728(oracle) 20730(oracle) 20732(oracle) 20734(oracle)
该文件没释放,用fuser命令kill掉:
# /sbin/fuser -k lkSYNTONG
lkSYNTONG: 6666 6668 6670 6672 6674 6676 6678 6680 6690 6692 6694 6696 6737 6830
# /sbin/fuser -u lkSYNTONG
然后:
SQL> startup
ORACLE instance started.
Total System Global Area 599785472 bytes
Fixed Size 2022600 bytes
Variable Size 171967288 bytes
Database Buffers 419430400 bytes
Redo Buffers 6365184 bytes
Database mounted.
Database opened.
SQL>
数据库成功OPEN.
问题6 连接数据库报错ORA-01034(27101)
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
解决方案:
查看ORACLE_SID:echo $ORACLE_SID;
执行命令:export ORACLE_SID=syntong
然后启动数据库,再尝试连接,问题就解决了
问题7 ORA-12170 TNS--远程连接数据库报ORA-12170 TNS:连接超时
错误检查:检查服务器配置正常,监听正常,服务正常,远程可以ping通服务器。
这里主要是防火墙问题,解决办法:
关闭防火墙;
Linux7关闭防火墙的命令是:
临时关闭防火墙,服务器重启后防火墙会自动启动:systemctl stop firewalld
永久关闭防火墙,服务器重启后防火墙不会启动:systemctl disable firewalld
查看防火墙状态的命令:systemctl status firewalld
或设置防火墙开放1521端口,服务器重启仍可继续生效:
(1)开启:1521端口:firewall-cmd --zone=public --add-port=1521/tcp --permanent
(2)更新防火墙规则firewall-cmd --reload
问题8 出现找不到命令的提示
解决方案:
先执行source .bash_profile命令,再操作。
问题9安装oracle,执行./runInstaller,提示INS-06101
安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined
[INS-06101] 无法确定本地主机的 IP 地址
出现这种错误是因为主机名和/etc/hosts 文件不一致,只需要把主机名和其IP 写入/etc/hosts 文件,就ok了。
查看主机名和和ip 地址关系:
查看/etc/sysconfig/network ,如下图所示,bogon即为主机名。
查看/etc/hosts,如下图所示,为修改后的文件内容。
注:如上/etc/sysconfig/network和/etc/hosts 两个文件中的bogon为主机名。查看主机名的命令是:hostname,如下图所示。
问题10 Oracle启动监听提示:The listener supports no services
(1)解决办法:
终端root执行xhost +加载图形界面。Oracle用户执行netmgr进行Oracle Net Manager配置
[oracle@bogon ~]$ netmgr
Oracle Net Manager修改配置,在Listeners->Database Services中配置要监听的SID及ORACLE_HOME,退出保存。
(本次配置信息为:
Global Database Name: SYNTONG、
Oracle Home Directory:/syn/oracle/product/11.2.0、
SID:SYNTONG)
(2)若使用上述(1)的办法后,问题仍存在,则按照第9个问题的步骤检查查看主机名和和ip 地址关系。配置正确后再启动监听。
问题11启动数据库提示ORA-00119、ORA-00132
SQL> startup;
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name 'LISTENER_ORCL'
解决办法:
1、执行如下命令
SQL> create pfile from spfile='/syn/oracle/product/11.2.0/dbs/spfilesyntong.ora';
说明:/syn/oracle/product/11.2.0/dbs这个路径是Oracle安装路径里的,改成自己的路径。
第一步之后在/syn/oracle/product/11.2.0/dbs路径里找到init<你的数据库name>.ora文件,我的数据库name是syntong,所以我的文件名是initsyntong.ora,打开修改找到local_listener这行,修改为
*.local_listener='SYNTONG'
(由LISTENER_SYNTONG改为了SYNTONG)
2、执行如下命令
SQL> create spfile from pfile='/syn/oracle/product/11.2.0/dbs/initsyntong.ora';
说明:/syn/oracle/product/11.2.0/dbs这个路径是Oracle安装路径里的,改成自己的路径
3、启动数据库,可成功启动