当前位置:  数据库>oracle
本页文章导读:
    ▪【oracle】changePerm.sh      changePerm.sh [oracle@RPS-SERVER-1 install]$ pwd /oracle/app/product/10.2.0/db_1/install 根据描述: This script will relax the permissions on most files and directories in the installed Oracle Home, and allow "others" to acc.........
    ▪ORACLE 常见错误及解决方法集锦      1、ORA-01033:客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连接Oracle服务。经远程指导解决问题。过程如下:1、进入CMD,执行set ORACLE_.........
    ▪第6章 表空间和数据文件的管理      1. Oracle引入逻辑结构的目的:为了更好的管理物理磁盘上的数据文件;增加了Oracle的可移植性;减少了Oracle从业人员的学习难度。   1)表空间(Tablespace):对应的物理结构就是一个或.........

[1]【oracle】changePerm.sh
    来源:    发布时间: 2013-10-16

changePerm.sh

[oracle@RPS-SERVER-1 install]$ pwd
/oracle/app/product/10.2.0/db_1/install

根据描述:

This script will relax the permissions on most files and
directories in the installed Oracle Home, and allow "others"
to access files within the database Oracle Home.
Some of the directories and files (like log, trace, etc.,)
will still have restricted access.

这个脚本让非oracle用户或者非DBA组的用户可以访问oracle_home下的文件。

记录备忘。

原文地址:http://blog.yafeishi.net/2012/12/changeperm-sh.html

本文链接


    
[2]ORACLE 常见错误及解决方法集锦
    来源:    发布时间: 2013-10-16

1、ORA-01033:
客户Oracle服务器进入PL/SQL Developer时报ora-01033:oracle initializationg or shutdown in progress 错误提示,应用系统无法连接Oracle服务。经远程指导解决问题。过程如下:

1、进入CMD,执行set ORACLE_SID=fbms,确保连接到正确的SID;
2、运行sqlplus "/as sysdba"
SQL>shutdown immediate 停止服务
SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号
SQL>shutdown immediate 再次停止服务
SQL>startup mount
SQL> recover datafile 2 恢复出错的数据文件
SQL>shutdown immediate 再次停止服务
SQL>startup 启动服务,此次正常。
3、进入PL/SQL Developer检查,没有再提示错误。

或者直接使用dba连接sqlplus,执行:ALTER DATABASE OPEN;

 

2、ORA-12170 TNS 连接超时 :
如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时
解决方法:

1.cmd-----ping ip地址 查看网络问题,看能否ping通

2.cmd-----tnsping ip地址(或者是服务器的实例名SID)如果报“TNS-12535:操作超时”,可能是服务器端防火墙 没有关闭

3.cmd----netstat -na 查看1521端口是否关闭,如果关闭Windows XP中的防火墙设置中将1521端口设为例外

4.cmd----lsnrctl status lsnrctl是listener-control 监听器的缩写,查看监听的状态

 3、ORA-01665: control file is not a standby control file 【数据库再做switchover时发生,切换失败:standby转换为primary,而primary并未转换为standby】

重新配置standby control file:

  • 在主库重新创建standby 的 control file: ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/app/oradata/orcl/stdby.ctl';
  • 远程复制 stdby.ctl 到 从库
  • 删除数据库初始化文件pfile中指定的所有控制文件:mv control01.ctl control01.ctl.bak ; mv control02.ctl control02.ctl.bak
  • 重建standby控制文件:cp stdby.ctl control01.ctl;cp stdby.ctl control02.ctl;
  • 以上步骤可重建从库的控制文件。

    4、ORA-10458: standby database requires recovery

      ORA-01152: file 1 was not restored from a sufficiently old backup
      ORA-01110: data file 1: '/oracle/app/oracle/oradata/orcl/system01.dbf'

    重新配置standby control file:

    查看备库:SELECT SWITCHOVER_STATUS FROM V$DATABASE;
    查看备库参数:show parameter LOG_ARCHIVE_DEST_2;
    修改log_archive_dest_2参数:alter system set log_archive_dest_2='service=node1 async valid_for=(online_logfiles,primary_role) db_unique_name=node1'; 其中node1为主库的唯一标示,如果一致则无需改动
    关闭数据库:shutdown immediate;
    startup nomount;
    alter database mount standby database;
    alter database open read only;
    alter database recover managed standby database disconnect from session;
    OK!

    5、RMAN > ORA-19573: cannot obtain exclusive enqueue for datafile 4

    RMAN> shutdown immediate


    RMAN> startup mount;

    执行以上命令后再做之前的操作。

     

     

    本文链接


        
    [3]第6章 表空间和数据文件的管理
        来源:    发布时间: 2013-10-16

    1. Oracle引入逻辑结构的目的:为了更好的管理物理磁盘上的数据文件;增加了Oracle的可移植性;减少了Oracle从业人员的学习难度。

     

      1)表空间(Tablespace):对应的物理结构就是一个或者多个数据文件。在逻辑上将是存放表,索引的地方。一个表空间可以有多个数据文件,但是一个数据文件只能属于一个表空间。

      2)段(Segment):可以理解成我们熟悉的表,索引。一个数据文件中是包含多个段的。一个段可以分布在多个数据文件中。

      3)数据扩展(Extent):多个Extent可以构成一个段。比如说对一个段进行数据添加(对表进行添加记录),是以Extent的形式进行的。一个Extent 不能跨越多个数据文件,否则如果一个Extent分布在多个数据文件中,就不是连续的空间了。

           区(Extents):区是磁盘空间分配最小单位。每一个区的大小都是数据块的整数倍。

      4)数据块(data block):最基本的逻辑单位了。若干个连续的数据块构成一个数据扩展(Extent)。

      5)直接的关系:每个数据库是由一个或多个表空间组成的;每个表空间基于一个或多个操作系统的数据文件;每个表空间可以存放在一个或多个段;每个段是由一个或多个区段组成的;每个区段是由一个多个连续的Oracle数据库组成;每个Oracle数据库是由一个或多个连续的操作系统数据库组成;每个操作系统数据文件是由一个或多个区段所组成;每个操作系统数据文件是由一个或多个操作系统数据块所组成。

    2.  Oracle数据库有两类表空间:系统表空间和非系统表空间。系统表空间是与数据库一起建立的,在系统表空间中存有数据字典,包含系统还原段。

    3. 数据字典管理的表空间

    4. 本地管理的表空间

      create tablespace xiaoming_index datafile 'D:\orcl\xiaoming\xiaoming_index.dbf' size 50m 

      extent management local

      uniform size 1m;

    注意:创建一个名为xiaoming_index的索引表空间,只给予一个数据文件。文件名D:\orcl\xiaoming\xiaoming_index.dbf,其大小50MB,使用本地管理的表空间(extent management local),每个extent的大小为1MB(uniform size 1m);

    5. 还原表空间。Oracle 9i引入的,用来自动管理还原(回滚)数据的

       create undo tablesace xiaoming_undo datafile 'D:\orcl\xiaoming\xiaoming_undo.dbf' size 20m;

    注意:创建一个名为:xiaoming_undo的还原表空间,大小20m。

    6. 临时表空间,是作为排序操作使用的

      1)当用户使用诸如oder by子句时Oracle服务器就需要对所选的数据进行排序,这时如果排序的数据量很大,内存的排序区就可能装不下,因此Oracle服务器就要把一些中间的排序结果写到磁盘上,即临时表空间。

       2)临时表空间可以由多个用户共享,在其中不能包含任何永久对象,临时表空间中排序段是在实例启动后当有一个排序操作时创建

    create temporary tablespace xiaoming_temp tempfile 'D:\orcl\xiaoming\xiaoming_temp.dbf' size 10m

     extent management local

     uniform size 2m;

       3)本地管理的临时表空间是基于临时数据文件,与普通文件的区别:临时数据文件的状态不能设置为只读;不能将临时数据文件重新命名;临时数据文件总是置为nologging状态;不能使用alter database命令创建临时数据文件;以只读方式运行的数据库需要临时数据文件;介质恢复是不能恢复临时数据文件的。

    7. 默认临时表空间

     1)查询当前默认临时表空间

       select * from database_properties where property_name like 'DEFAULT%';

     2)设置默认临时表空间

       alter database default temporary tablespace xiaoming_temp;

     3)默认临时表空间必须是临时表空间或是系统表空间,所以不能将默认临时表空间改为一个永久表空间,也不能将默认临时表空间设置为脱机

    8. 设置表空间为脱机

     1)将表空间设置为脱机状态,以进行数据库的维护,包括:在数据库处于打开状态下移动数据文件;在数据库处于打开状态下恢复一个表空间或一个数据文件;执行对表空间的脱机备;使数据库的一部分不可以被访问,而其它部分可以被正常访问。

     2)一下表空间不能被设置为脱机状态:系统表空间;上面有活动的还原/回滚段的表空间;默认临时表空间

     3)alter tablespace xiaoming offline; 设置为脱机状态

     select tablespace_name,status,contents from dba_tablespace;

     select file#,name,status from v$datafile;

      4)alter tablespace xiaoming online;

    9. 只读表空间

      1)alter tablespace xiaoming read only;

      2)alter tablespace xiaoming read write;

    10. 改变表空间的存储设置

     1)alter tablespace 表空间名

           [minimun extent 正整数] [default 存储自子句]

      2)alter tablespace xiaoming minimum extent 100k;

           alter tablespace xiaoming default storage( initial 100k next 100k maxextents 200);

    注意:xiaoming表空间的存储参数做如下的修改:minimun extent 为100k,initial和next设置为100k,而maxextents为200

    11. 增加表空间的大小

      1)改变数据文件的大小。在创建表空间时使用autoextend on 自动地改变数据文件的大小;在创建表空间之后使用带有autoextend on选项的alter database命令手动改变数据文件大小。

            alter database datafile 'D:\ORCL\XIAOMING\XIAOMING_INDEX.DBF' autoextend on next 1m;

      2)使用alter tablespace 语句增加数据文件

           a)手动将表空间所对应的数据文件增加到100MB

                alter database datafile 'D:\ORCL\XIAOMING\XIAOMING.DBF' resize 100m;

                select file_name,tablespace_name,bytes/(1024*1024) from dba_data_files;

           b)添加新的数据文件的方式增加表空间的大小

                alter tablespace xiaoming add datafile 'D:\ORCL\XIAOMING\XIAOMING.DBF' SIZE 80M;

    12. 移动数据文件的方法

     1) alter tablespace 表空间名 rename datafile '文件名'[,'文件名'].... to '文件名'[,'文件名']...

    注意:只适合于没有活动的还原数据或临时段的非系统表空间中的数据文件。表空间必须为脱机状态且目标文件必须存在,因为该语句只修改控制文件中指向数据文件的指针。

       步骤:使用数据字典获取所需的表空间和数据文件的相关信息;将表空间置为脱机;使用操作系统命令移动或复制要移动的数据文件;执行alter tablespace rename datafile命令;将表空间置为联机;使用数据字典获取所需的表空间和数据文件的相关信息;如果需要,使用操作系统命令删除无用的数据文件。

     2) alter database 表空间名 rename file '文件名'[,'文件名'].... to '文件名'[,'文件名']...

    注意:适用于系统表空间和不能置为脱机的表空间中的数据文件,要求在使用该语句时,数据库必须运行在加载(mount)状态且目标数据文件必须存在

       步骤:使用数据字典获取所需的表空间和数据文件的相关信息;关闭数据库系统;使用操作系统命令移动或复制要移动的数据文件;将数据库置为加载状态;执行alter tablespace  rename file 命令;打开数据库系统;使用数据字典获取所需的表空间和数据文件的相关信息;如果需要,使用操作系统命令删除无用的数据文件。

    13. 移动数据文件的应用实例

     1)非系统表空间中的数据文件的移动

        a)获得数据库中数据文件的分布情况,查看是否存在I/O竞争

            select file_id,file_name,tablespace_name from dba_data_files order by file_id;

        b)获得当前表空间的状态

            select tablespace_name,status,contents from dba_tablespaces;

        c)设置为脱机状态

            alter tablespace users offline;

            alter tablespace indx offline;

         d)复制数据文件

            host copy D:\winXP\oracle9i\oradata\oracle\USERS01.DBF  D:\winXP\backup\oradata\

            host copy D:\winXP\oracle9i\oradata\oracle\INDX01.DBF D:\winXP\backup\oradata\

         e)使用命令重新命名表空间对应的数据文件名

           alter tablespace users rename datafile 'D:\winXP\oracle9i\oradata\oracle\USERS01.DBF' to 'D:\winXP\backup\oradata\USERS01.DBF'

           alter tablespace users rename datafile 'D:\winXP\oracle9i\oradata\oracle\INDX01.DBF' to 'D:\winXP\backup\oradata\INDX01.DBF'

         f)将表空间的状态重新改为联机

           alter tablespace users online;

      &nb

        
    最新技术文章:
    ▪current online redo log缺失后的恢复
    ▪ORA-600 2662错误解决实例
    ▪ORA-00600 2662错误解决方法
    ▪current online redo log缺失后的恢复 iis7站长之家
    ▪Oracle诊断事件列表
    ▪Oracle 隐含参数 _disable_logging 详解
    ▪ORA-00600 [2662]错误解决过程
    ▪Oracle里常见的执行计划
    ▪Oracle里另外一些典型的执行计划
    ▪Oracle服务器自动备份
    ▪Oracle固定SQL的执行计划(一)---SQL Profile
    ▪Oracle固定SQL的执行计划(二)---SPM
    ▪同一环境下新建Standby RAC库
    ▪Oracle快速克隆安装
    ▪Oracle单实例启动多个实例
    ▪Oracle的PLSQL别名中文出现乱码解决方法
    ▪ORA-00379: no free buffers available in buffer pool DEFAULT ...
    ▪RMAN-06023: no backup or copy of datafile 16 found to restor...
    ▪RMAN还原数据库报错问题解决案例
    ▪OEL6.8_X86平台部署Oracle 10gR2检测失败问题
    ▪Oracle 性能优化建议
    ▪Oracle SQL语句优化心得
    ▪Oracle慢SQL监控脚本实现
    ▪Oracle dblink 查询 tns:无法解析指定的连接标识...
    ▪Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结...
    ▪Linux6.6及以上版本配置Oracle ASM共享储存-UDEV
    ▪Oracle 12C 开启数据库归档模式
    ▪Solairs系统中配置Oracle 12c 开机启动
    ▪重建DBMS_STATS解决ORA-31626 ORA-21633以及ORA-04063 ORA...
    ▪Oracle ASMM 与AMM之间相互切换
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3