CentOS上常见问题

创建日期:2024-06-21
更新日期:2024-12-18

1、oracle忘记 sys 及 system 密码。

使用 sys(或system)用户登录 sqlplus。

conn sys/password as sysdba;
alter user user_name identified by newpass;

参考:https://www.cnblogs.com/lcword/p/15329844.html

2、oracle看不到新创建的表空间。

oracle显示的是模式(用户),不是表空间。新建个跟表空间同名的用户即可。

3、java连接Oracle数据库的连接字符串。

hylab:
  datasource:
    gis:
      master:
        url: jdbc:oracle:thin:@IP地址:端口:服务名
        username: 用户名
        password: 密码

4、Oracle中表名的大小写问题。

Oracle表名默认是不区分大小写的,创建表时表名加了双引号,则区分大小写。

查询sql语句表名不加双引号,则默认转为大写,查询大写的表名;如果数据库表名是小写,则找不到。

查询sql语句,如果需要查询小写的表名,需要加双引号。

5、设置Oracle用户名和密码不区分大小写。

使用navicat或sqlplus连接oracle数据库。

set ORACLE_SID=orcl
sqlplus /nolog
connect / as sysdba;

show parameter sec_case_sensitive_logon;
alter system set sec_case_sensitive_logon=false;
show parameter sec_case_sensitive_logon;

6、重启Oracle数据库。

shell终端

以oracle身份登录数据库:su -oracle

sqlplus控制台

进入控制台:sqlplus /nolog

以系统管理员身份登录:connect / as sysdba

启动数据库:startup

强行启动数据库:startup force

关闭数据库:shutdown immediate

退出控制台:exit

监听器控制台

进入监听器控制台:lsnrctl

启动监听器:start

退出监听器:exit

其他命令

查看监听器状态:lsnrctl status

启动监听器:lsnrctl start

停止监听器:lsnrctl stop

参考文档:https://blog.csdn.net/qq_35988594/article/details/106749301

7、SP2-0750: You may need to set ORACLE_HOME to your Oracle。

ORACLE_HOME设置错误,可能是账号错误导致的,执行su oracle即可。

临时设置ORACLE_HOME

echo $ORACLE_HOME
export ORACLE_HOME=正确的路径
echo $ORACLE_HOME

永久设置ORACLE_HOME

su oracle
cd ~
ls -a
vi .bash_profile

按i修改.bash_profile文件:

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export ORACLE_BASE=/data1/soft/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/dbhome_1
export ORACLE_SID=prod
export ORACLE_UNQNAME=prod
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64

按Esc退出编辑模式,输入:w回车保存文件,输入source .bash_profile执行文件。

查看设置的环境变量

echo $ORACLE_HOME
echo $ORACLE_SID

8、ORA-12162: TNS:net service name is incorrectly specified。

很可能是启动sqlplus控制台时,没有切换oracle账户导致,执行su oracle即可。

否则,确定ORACLE_HOME和ORACLE_SID变量是否正确。

echo $ORACLE_HOME
echo $ORACLE_SID

9、Message 850 not found; No message file for product=network, facility=NL。

可能没有切换oracle账户导致,执行su oracle即可。

10、ORA-12547: TNS:lost contact。

可能没有切换oracle账户导致,执行su oracle即可。

11、启动Oracle时提示:ORA-01078:failure in processing system parameters。

可能没有切换oracle账户导致,执行su oracle即可。

12、启动监听器报错:ORA-12514: TNS:listener does not currently know of service requested in connect descriptor。

可能没有切换oracle账户导致,执行su oracle即可。