日期:2014-05-16  浏览次数:20412 次

oracle 入门问题汇集(ORA-xxxxxx)
client连不上server:
0、本机上要装oracle 的客户端
1、ping 服务器ip;
   如果ping不通 把防火墙关掉再试一下(大部分问题都出在这里);
2、配置客户端文件(tnsnames.ora)
   文件一般路径:%oracle_home%\db_1\NETWORK\ADMIN
 
 ORCL =  --#“ORCL”为客户端登陆时的字符串
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.4)(PORT = 1521))--#“192.168.1.4”为服务器的IP
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)--#这里的“ORCL”是服务器开的oracle实例名称。
    )
  )

3、用户没有CONNECT 角色
   用有dba角色(system或sys)的用户登陆,
   然后给你该用户赋一个CONNECT 角色。


--------------------------------
------oracle 入门问题备忘-------
--------------------------------
0、最常见的问题ORA-12560
    0.1、监听器没启动
         启动xxxxxxxxListener
    0.2、数据库instance没有启动
         启动oracleserviceXXXX,XXXX就是你的database SID.
    0.3、注册表问题。
         regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
1、命令开启linux 上oracle 的服务与监听器
   1.1、开启一个orcale实例:(注意:一定是服务器端,不要在客户端,如果实例没有启动,客户端conn时会报ora-12560错误
        $>sqlplus /nolog
        sql>conn /as sysdba
        sql>startup
        sql>exit

   1.2、开启监听:
         $>lsnrctl
        lsnrctl>start

        
2、ORA-01747: user.table.column, table.column 或列说明无效
   这是表中字段与oracle 关键字相冲突了.(特别是mysql 转到 oracle时常见问题)
3、ORA-12519, TNS:no appropriate service handler found
  有时候连得上数据库,有时候又连不上.
  可能是数据库上当前的连接数目已经超过了它能够处理的最大值.
  SQL> select count(*) from v$process;--当前连接数
        COUNT(*)
       149
  SQL> select value from v$parameter where name = 'processes' --数据库允许的最大连接数
        VALUE
       150

修改最大连接数:
 
SQL> alter system set processes = 2000 scope = spfile;
重启数据库:
  SQL> shutdown immediate;//是中止所有会话,回滚未提交的事务(好慢啊。呼呼。)
  SQL> startup;

4、ORA-00001: unique constraint (xxx.xxx) violated
   违反主键唯一约束规则,
   把sequence的起始值,调到表中id的最大值加1.
5、ORA-00604、ORA-12705;
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
java.sql.SQLException: ORA-12705: invalid or unknown NLS parameter value specified

MyEclipse Database Explorer建立oracle数据库连接的时候,报的错误信息,
[MyEclipse路径]\eclipse\eclipse.ini文件中将"-Duser.language=en"修改为"-Duser.language=zh";
具体原因请点击《原因