近期在性能测试数据准备过程中碰到一些问题,特意记录如下:
1.drop user ccbadm cascade; 用户正在连接,无法删除。
解决方法:
sqlplus /nolog
connect / as sysdba
shutdown abort(此处需要带参数,否则不能停止或者需要长时间等待,如未带命令选项,可使用命令ps -ef|grep ora_dbw0_$ORACLE_SID,查出相关进程,然后kill -9 PID)
2.linux远程挂载windows共享文件,遇到找不到目录的情况,原因是当用户名或者密码中含有"/"是必须用引号,如下:
mount -t cifs -o username=***,passwd='/***'//windows主机/共享目录名 挂载的目录
3.impdp导入dump文件时,文件较多时,要注意换行符。当有换行时会出错。导入dump要注意以下几点:
a.字符集和国家字符集的设置,字符集不正确会暴诸如最大长度10,实际长度12之类的错误。
b.注意导入版本,低版本的dump在高版本DBMS可以运行,但高版本的dump文件在低版本DBMS系统中会出现导入异常终止的错误。
c.在表数据非常大时,注意缓冲区(buffer)大小及设置自动提交(commit=y),缓冲区注意OS本身内存限制。
4.存储过程在PL/SQL Developer中可以看到,但删除的时候报对象不存在:
drop procedure test_prod;
ORA-04043: object TEST_PROD does not exist
修正
drop procedure "test_prod";
5.impdp导入数据出现如下错误
ORA-39002: invalid operation
ORA-39070: Unable to open the log
file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line
475
ORA-29283: invalid file operation
解决办法,导致该问题一般属于权限配置问题。 检查dump_dir在操作系统和数据库两个层面的权限。一要确保oracle安装用户有写权限,又要保证数据库用户有写权限。
6从客户端访问数据库时,如果遇到TNS连接错误,在配置正确情况下,很多时候linux防火墙会是问题原因。一般说来,在linux服务器中,服务从外部机器不能访问的一个常见原因就是iptables的配置。可以修改/etc/sysconfig/iptables文件,如不需要防火墙可chkconfig iptables off,在下次重启后,禁用该服务.