zoukankan      html  css  js  c++  java
  • ORACLE安装报错解决

      今天在虚拟机中安装了一个WINDOWS系统,用于安装oracle服务器;从安装到使用中出现了很多的问题,把这些问题解决掉,花了不少时间,查了不少的资料。

    第一个,我在安装过程中,出现了ORA-00922和ORA-28000报错,这是前面的口令设置上太随意了,没有按照oracle的要求设置口令导致;

      ORA-00922选项缺失或无效

    错误原因:一般是语句的语法有问题。比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。

    解决办法:

    标识符命名规则:(密码设定规则)

    1、必须以字母开始。

    2、长度不能超过30个单字节字符。

    3、只能包括A-Z,a-z,0-9,_,$和#。

    4、不能在相同用户下建立两个同名的对象。

    5、不能使用保留字和关键字

      ORA-28000:the account is locked

    这是属于在前面配置管理员密码的时候,采用了数字开头的密码,Oracle貌似对此不支持。据说包含其他非法特殊字符也可能产生此问题。

    即密码开头不能是数字,只能用标识符命名规则的字符,密码要最少要包含大写字母,小写字母和数字。

    根据规则设定密码,Oracle实例安装时就不会出现ORA-28000和ORA-00922错误。

    我当时是直接重新安装了,查了一下,也有不重新安装的解决办法,我没有尝试过,

    方法1:

    第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;

    第二步:选择myjob,查看users;

    第三步:选择system,右击点击“编辑”;

    第四步:修改密码,把“帐户被锁住”的勾去掉;

    第五步:点击“应用”再点击“关闭”;

    第六步:重新登录就可以通过验证了;

    第二个,解锁SCOTT用户,此用户是ORACLE自带的一个学习用户,不能直接使用,需要先进行解锁才行;

    第一步,进入sqlplus,开始菜单>>所有程序>>Oracle - OraDb11g_home1(oracle的安装文件夹名)>>应用程序开发

     

    点击进去之后就会要求输入用户名和口令,登陆进去之后,执行下面的命令:
        SQL> alter user scott account unlock;

    解完以后,使用下面的命令来查看:

     SQL>select username,account_status from dba_users WHERE USERNAME='SCOTT'

    可以看到scott账户已经解锁,但是状态还是"expired”(密码过期)的意思。

    给其赋一个新的口令

      SQL>alter user scott identified by xinkouling;
    这样就ok了,以后可以使用SCOTT用户了;

    第三个,在远程连接SCOTT用户时,报错ORA-12170:TNS:连接超时
    第一步,检查网络是否可以PING通,打开oracle客户端的cmd,ping一下服务端IP,ping不通就设置两台电脑的IP与网管,保持一致;
    第二步,如果可以ping通,服务器监听服务是否启动,进入服务器cmd,输入命令:lsnrctl status
    返回如下信息:

    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 14-DEC-2012 15:51:13

    Copyright (c) 1991, 2005, Oracle. All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    STATUS of the LISTENER
    ------------------------
    Alias LISTENER
    Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
    Start Date 14-DEC-2012 13:15:28
    Uptime 0 days 2 hr. 35 min. 45 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File /database/oracle/product/dbhome/network/admin/listener.ora
    Listener Log File /database/oracle/product/dbhome/network/log/listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wgods)(PORT=1521)))
    Services Summary...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "gsp" has 2 instance(s).
    Instance "gsp", status UNKNOWN, has 1 handler(s) for this service...
    Instance "gsp", status READY, has 1 handler(s) for this service...
    Service "gspXDB" has 1 instance(s).
    Instance "gsp", status READY, has 1 handler(s) for this service...
    Service "gsp_XPT" has 1 instance(s).
    Instance "gsp", status READY, has 1 handler(s) for this service...
    The command completed successfully

    说明没有问题;

    第三步,检查防火墙,在客户端打开cmd使用命令:tnsping ip(服务端ip)

    TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 14-12月-2012 15:47:15

    Copyright (c) 1997, 2010, Oracle. All rights reserved.

    已使用的参数文件:
    E:appkerryproduct11.2.0dbhome_1 etworkadminsqlnet.ora

    已使用 EZCONNECT 适配器来解析别名
    尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.150.105)(PORT=1521)))
    TNS-12535: TNS: 操作超时

    返回了一个报错,说明是防火墙的问题;

    解决办法1:关闭服务器防火墙,自己学习使用的,防火墙就无所谓了,可以关闭;别的时候不建议关闭防火墙。

    解决办法2:开放oracle的1521端口,允许1521端口被连接;

    1.端口的连接命令,telnet,使用方法,telnet ip port(例:192.168.150.105 1521)

    一般第一次使用这个命令,会提示telnet不是内部或者外部命令;

    解决办法:

    1.进入控制面板

    2.进入程序和功能

    3.从打开的“程序或功能”界面中,点击左上角的“打开或关闭Windows功能”按钮,如图所示:

    4.此时将弹出“Windows功能”窗口,从列表中选中“Telnet客户端”项,点击“确定”按钮。

    5.接下来“Windows功能”窗口将显示“正在应用所做的更改”界面,耐心等待一会,待更改操作完成后,点击“关闭”按钮即可。

    6.“telnet”命令正常运行。

    7.再使用telnet ip port报错,连接失败,
    解决办法:打开服务器的1521端口。

    1>.在弹出的控制面板信息中选择【系统和安全】,然后选择【Windows 防火墙】,如图。

    2>.在弹出的防火墙信息中,选择左侧的【高级设置】,如图。

    3>.在弹出的【高级安全Windows防火墙】设置中,选择左侧的【入站规则】,在右侧选择【新建规则】,如图。

    4>.进入新建入站规则向导中,选择【端口】,点击下一步,如图。

    5>.进入新建入站规则向导中,选择TCP规则,然后输入端口号,点击下一步,如图。

    6>.在接下来弹出的向导信息中,全部默认选择,点击下一步,在最后一步中吗,输入名称和描述,如图。

     

    7>.查看开放端口的信息,如图使用netstat  -a  -n命令。查看oracle端口是否开启。

    8>.然后使用telnet ip port不在报错,进入一个新的DOS窗口。

    8.数据库客户机可以成功连接服务器了。





     

  • 相关阅读:
    大数据学习操作笔记
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    每日总结
    jstl标签,c:foreach无效的问题
    阅读笔记
    《高效能人士的7个习惯》
  • 原文地址:https://www.cnblogs.com/feixiangtk/p/9745344.html
Copyright © 2011-2022 走看看