oracle 11g ERROR

如果您的服务器莫名其妙的报这个错, 之前却一直正常,那么请试试下面的方法( 记得将您需要修改的文件备份一下,因为错误原因可能不一样):

打开"<OracleHome>/network/admin/ listener.ora" ,复制下面红色字体到您的文件中

 SID_LIST_LISTENER =
   (SID_LIST =
     (SID_DESC =
       (SID_NAME = PLSExtProc)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
       (PROGRAM = extproc)
     )
     (SID_DESC =
       (GLOBAL_DBNAME = ORACLE)
       (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)  
       (SID_NAME = ORACLE)
      )
   )
保存文件,重启监听器,重启pl/sql,就OK了
上面是oracle10g的,11g的也是这样子的,ORACLE_HOME=E:\oracle\product(这是我的,你的盘符可能不一样)
GLOBAL_DBNAME是您的数据库名字,SID_NAME是实例名
 
 
 
2.连同事的数据库时,出现ora-12170:tns:连接超时
      是因为同事打开了防火墙,所以出现上面的错误
 
3.pl/sql 连上数据库时,只能以sysdba方式,登录进去,normal方式不行(这样就导致jdbc连不上数据库)
     很有可能建立数据库的时候是通过sysdba权限建的,所以用户以normal方式登录不了,但是我想通过增加权限的方式,让它能以normal方式登录,查询sql
     select * from all_users order by length(username);
     根本就找不到test的username,所以无法赋予权限,通过以下sql新建了个账户(sungoal),plsql和jdbc都能连上了
    
oracle 11g ERROR View Code
--创建用户

create user sungoal identified by sungoal;

--创建临时表空间

create temporary tablespace sungoal_temp

tempfile 'D:\oracle_table_space\sungoal_temp.dbf'

size 50m

autoextend on

next 50m maxsize 1024m;



--创建数据表空间

create tablespace sungoal_data

datafile 'd:\oracle_table_space\sungoal_data'

size 50m

autoextend on

next 50m maxsize 1024m;

--给用户指定表空间

alter user sungoal default tablespace sungoal_data temporary tablespace sungoal_temp;

--给用户赋权

grant connect,resource to sungoal;

--连接用户(需要到命令行窗口测试能不能连上,不能通过sql窗口)

--conn sungoal/sungoal





--drop user sungoal cascade;

   某年某月的某一天的再一次碰到了这个鬼问题(pl/sql 连上数据库时,只能以sysdba方式,登录进去,normal方式不行(这样就导致jdbc也连不上数据库),查看它的view视图,跟别的用户的sql对比发现

oracle 11g ERROR View Code
--不能正常登录的

-- Create the user 

create user TESTDBLINK_USER

  default tablespace SUNGOAL_DATA

  temporary tablespace SUNGOAL_TEMP

  profile DEFAULT

  password expire;

-- Grant/Revoke role privileges 

grant connect to TESTDBLINK_USER with admin option;

grant dba to TESTDBLINK_USER with admin option;

grant resource to TESTDBLINK_USER;

-- Grant/Revoke system privileges 

grant unlimited tablespace to TESTDBLINK_USER;



--能正常登录的

-- Create the user 

create user SUNGOAL

  default tablespace SUNGOAL_DATA

  temporary tablespace SUNGOAL_TEMP

  profile DEFAULT

  password expire;

-- Grant/Revoke role privileges 

grant connect to SUNGOAL;

grant dba to SUNGOAL;

grant resource to SUNGOAL;

-- Grant/Revoke system privileges 

grant unlimited tablespace to SUNGOAL;

   多了一个with admin option的sql语句,我们删除掉这个用户,然后重新建立

oracle 11g ERROR View Code
create user TESTDBLINK_USER identified by TESTDBLINK_USER

  default tablespace SUNGOAL_DATA

  temporary tablespace SUNGOAL_TEMP

  profile DEFAULT

  password expire;

-- Grant/Revoke role privileges 

grant connect to TESTDBLINK_USER ;

grant dba to TESTDBLINK_USER ;

grant resource to TESTDBLINK_USER;

-- Grant/Revoke system privileges 

grant unlimited tablespace to TESTDBLINK_USER;

   然后重启服务,重启pl/sql,就OK了

 

--创建临时表空间

create temporary tablespace sungoal_temp

tempfile 'D:\installer\app\andy\oracle_table_space\sungoal_temp.dbf'

size 50m

autoextend on

next 50m maxsize 512m;



--创建数据表空间

create tablespace sungoal_data

datafile 'D:\installer\app\andy\oracle_table_space\sungoal_data.dbf'

size 50m

autoextend on

next 50m maxsize 512m;



--创建用户

create user SUNGOAL

  default tablespace SUNGOAL_DATA

  temporary tablespace SUNGOAL_TEMP

  profile DEFAULT

  password expire identified by sungoal

-- Grant/Revoke role privileges 

grant connect to SUNGOAL;

grant dba to SUNGOAL;

grant resource to SUNGOAL;

-- Grant/Revoke system privileges 

grant unlimited tablespace to SUNGOAL;

 

4.通过程序(java)只能是localhost,ip方式却连不上,新增一个监听地址就行了
打开oracle的net manager,记得改完之后重启xxxxlistener服务和xxxxservice服务
 
 
 
oracle 11g ERROR 
 
 

 4.本地计算机上的OracleOraDb11g_home2TNSListener服务启动又停止了。一些服务自动停止。。。

    这是ip变了,listener.ora文件如下

     

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

    #(DESCRIPTION =

      #(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.12)(PORT = 1521))

    #)

  )

其中192.168.12.12是我在公司的ip,家里面的ip不是这个,所以注释就行了,或者改成你的ip

     

 

你可能感兴趣的:(oracle 11g)