`
jzhua2006
  • 浏览: 300764 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle 常见问题总结

阅读更多
一:启动oracle后,执行命令后,出现无监听程序

解决方法:
   1):检查listener.ora文件是否正确,如下:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = LENOVO-B6370F22)(PORT = 1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = boway)
      (ORACLE_HOME = D:\app\ibm\product\11.1.0\db_1)
      (SID_NAME = ORCL)
    )
  )

  2:是否启动监听服务

二:在CMD中不能执行sqlplus、tnsping、lsnrctl等命令

解决方法:
    将%ORACLE_HOME%/bin加入至系统变量中(PATH)

三:常用命令
1)lsnrctl status 数据库实例
2)tnsping 数据库连接
3)lsnrctl stop 数据库实例
4)lsnrctl start 数据库实例
5) select * from v$instance
6)show parameter share/spfile
7)alter table 表 modify 列 null;
8)alter table 表 rename column 列 to 列2;
9)alter table 表 add constraint pk_student primary key(SERVICEID, ITEMID);
10)select CONSTRAINT_NAME from all_constraints a,all_tables b where a.table_name=b.table_name and a.CONSTRAINT_TYPE = 'P' and a.table_name=upper('表');
11)rename 表1 to 表2

四:启动实例报ORA-01078: failure in processing system parameters
原来打不开initDATATEST.ora,于是进入/u01/app/oracle/product/11.1.0/db_1/dbs/目录,

[oracle@datatest ~]$ cd /u01/app/oracle/product/11.1.0/db_1/dbs/
[oracle@datatest dbs]$ ls
hc_datatest.dat  hc_mm.dat  initdw.ora  init.ora  lkMM  orapwmm  spfilemm.ora

原来是没有initDATATEST.ora文件

解决此问题的方法就是到cd /u01/app/oracle/admin/datatest/pfile/目录下,将ora.1114201016265复制到dbs目录下:

cp init.ora.1114201016265 /u01/app/oracle/product/11.1.0/db_1/initDATATEST.ora

五:Oracle服务器正常启动,监控正常,PLSQL连接均正常,但是通过SQLPLUS操作数据库失败。
现象:.profile中环境变量和.base_profile中的ORACLE_SID不一致,导致上述问题。linux切换用户时使用的是.base_profile.数据库问题:ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
最终解决:是由于oracle用户环境变量中指定的ORACLE_SID和实际安装的实例不一致。
修改环境变量中ORACLE_SID对应配置保持同实际实例名。

六:ORA-00257: archiver error. Connect internal only解决方法
删除归档日志
1:进入rman执行目录(opt/oracle/product/11g/bin)
2: 登录
   connect target/
3:
crosscheck archivelog all;
delete archivelog all;
delete expired archivelog all;
report obsolete;
delete obsolete;
archive log list;

七:系统表空间占
1:首先用下列SQL语句查看表空间的使用情况
1)select   username,default_tablespace,temporary_tablespace   from   dba_users  where   (default_tablespace='SYSTEM'   or   temporary_tablespace='SYSTEM')   and   username   not   in   ('SYSTEM','SYS');
2)select tablespace_name,(bytes/1024/1024) M from dba_data_files;
2:处理表空间已满
1)通过PLSQL先查看下数据文件存放的目录:
select b.file_name 物理文件名,b.tablespace_name 表空间,b.bytes/1024/1024 大小M,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024  已使用M,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)  利用率 from dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name
2)更改system表空间的数据文件SYSTEM分配空间。
alter database datafile '上面语句执行结果中SYSTEM表空间路径' resize 5524M;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics