问题1:分配系统全局区内存失败
报错信息:[E19213]分配系统全局区内存失败
报错原因:sga设置偏小,并行数偏大
解决方案:查看xugu.ini中的系统缓冲区设置,增加system_sga_mem或者减小parallel(也可能需要调整全局区中的某一个内存分配,比如max_hash_mem)
报错截图:
方案步骤:
查看重启时sga
查看运行报错后sga
添加system_sga_mem的值
问题2:集群配置文件格式错误
错误号:cluster.ini node info format error,storage zones must be serialed
原因:cluster.ini中格式错误
解决方案:根据报错信息确认是哪个配置参数格式有问题,对比正确配置进行修改
截图:
方案步骤:
检查集群配置文件是否是只有单个存储节点,但是配置了分域
问题3:数据格式错
错误号:Error: [E17003]
原因:条件中数据类型无法做计算
解决方案:修改sql语句的条件,使用可以转换的数据类型作为等值条件
截图:
方案步骤:
先将t1.name查询出来转换成数值类型,再进行t2.id和数值型t1.name做匹配(ATOL函数将字符转换为bigint)
问题4: 表或视图T1不存在
错误号:[E5021 L1 C15]
原因:schema中没有目标表
解决方案:将目标表放到查询的schema下
截图:
方案步骤:
找到目标表存在的位置
SQL> select s.schema_id,s.schema_name,t.schema_id,t.table_id,t.table_name from all_schemas s,all_tables t where s.schema_id=t.schema_id and t.table_name='T1';
查询时在目标表前添加模式名
SQL> grant all on sysdba.t1 to xgu1;
SQL> select * from sysdba.t1;
如果不想添加模式名,则需要将目标表迁移到查询用户的默认模式下(默认schema就是和用户同名的模式,在创建用户时自动生成同名模式)
方法1:修改表的所属者owner
alter table t1 owner to xgu1;
方法2:将表迁移到查询用户默认模式下
使用迁移工具(可以整个模式一起)
使用备份恢复(一次只能单个表备份恢复)
问题5:不能在非空库执行库级恢复
错误号:Error: [E3112]
原因:使用备份文件恢复库时,恢复库不是非空数据库
解决方案:重新创建恢复库,保障恢复库为空库
截图:
方案步骤:
检查数据库是否存在非默认对象:用户、模式、表等
重新创建恢复库使用sysdba用户进行恢复