当前位置:  数据库>oracle
本页文章导读:
    ▪Windows下命令行下启动ORACLE服务 - houqijun      检查监听器状态:C:\>lsnrctl statusLSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:08:04Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=.........
    ▪“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本” 的解决方案 - 一点味      在项目部署过程中ORACLE客户端多次会遇“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”问题,现将收集到方案的贴出 解决方案(问题可以是其中任意一点所导致的.........
    ▪详解JOIN - Saiiin-水清      根据连接中使用的操作符不同,连接条件可分为:等连接,不等连接  连接本身分为:内连接(INNER JOIN)  (1)INNER JOIN 方式(INNER可以省略)取两表的交集。(2)并表查询外连接(OUT.........

[1]Windows下命令行下启动ORACLE服务 - houqijun
    来源:    发布时间: 2013-10-29
  • 检查监听器状态:
    C:\>lsnrctl status
    LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:08
    :04
    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    TNS-12541: TNS:无监听器
    TNS-12560: TNS: 协议适配器错误
    TNS-00511: 无监听器
    32-bit Windows Error: 2: No such file or directory
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=www-7f628f1510d)(PORT=1521)
    ))
    TNS-12541: TNS:无监听器
    TNS-12560: TNS: 协议适配器错误
    TNS-00511: 无监听器
    32-bit Windows Error: 61: Unknown error
  • 尝试登陆本地数据库:
    C:\>sqlplus /nolog
    SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:10:24 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    SQL> conn scott/tiger@oradb
    ERROR:
    ORA-12541: TNS: 没有监听器
    SQL> exit;
    --如果没有启动ORACLE服务的话,将出现下面的错误而不是上面: ERROR: ORA-12560: TNS: 协议适配器错误
    C:\>sqlplus "/as sysdba"
    SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:14:17 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    ERROR:
    ORA-12560: TNS: 协议适配器错误
  • 启动监听器
    C:\>lsnrctl start
    LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:17
    :21
    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
    启动tnslsnr:请稍候...
    TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Production
    系统参数文件为F:\oracle9i\network\admin\listener.ora
    写入F:\oracle9i\network\log\listener.log的日志信息
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
    监听:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521)))
    正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    LISTENER 的 STATUS
    ------------------------
    别名 LISTENER
    版本 TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc
    tion
    启动日期 30-6月 -2009 21:17:23
    正常运行时间 0 天 0 小时 0 分 2 秒
    跟踪级别 off
    安全性 OFF
    SNMP OFF
    监听器参数文件 F:\oracle9i\network\admin\listener.ora
    监听器日志文件 F:\oracle9i\network\log\listener.log
    监听端点概要...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=www-7f628f1510d)(PORT=1521)))
    服务摘要..
    服务 "PLSExtProc" 包含 1 个例程。
    例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    服务 "oradb" 包含 1 个例程。
    例程 "oradb", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    命令执行成功
    注:如果启动监听器时报“错误3 找不到可执行文件的路径”。查看[控制面板]=[服务]=OracleOraHome92TNSListener的属性,发现“可执行文件的路径项”是空的。打开注册表编辑器,搜索监听服务对应的键值,终于在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet(ControlSet001、 ControlSet002)/Services下找到了OracleOraHome92TNSListener服务。右击它选择“新建字符串值”,取名 ImagePath,并双击它在数值中输入监听程序的路径,此处为"F:/oracle/ora92/bin/TNSLSNR.EXE"。再执行就正常了。 原因:“超级兔子”和“windows优化大师”等系统维护软件会误删除注册表中的该项键值。
  • 监听打开后试图连接到数据库
    C:\>sqlplus /nolog
    SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:23:45 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    SQL> conn system/systemshx@oradb
    ERROR: ORA-12500: TNS: 监听程序无法启动专用服务器进程
    原因:本地数据库对应的服务没有打开
    SQL> exit
  • 打开本地数据库对应的服务
    C:\>net start OracleServiceOradb
    OracleServiceORADB 服务正在启动 ...........
    OracleServiceORADB 服务已经启动成功。
  • 再次试图连接数据库
    C:\>sqlplus /nolog
    SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:29:13 2009
    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
    SQL> conn system/systemshx@oradb as sysdba
    已连接。
    SQL> show user
    USER 为"SYS"
    SQL> conn system/systemshx@oradb
    已连接。
    SQL> show user
    USER 为"SYSTEM"
    SQL> select instance_name from v$instance;

    INSTANCE_NAME
    ----------------
    oradb
  • 在Windows上,使用net命令能否启动数据库,还受到一个注册表参数的影响,这个参数是:ORA__AUTOSTART
    对于我的Oracle9i数据库,这个键值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1,我的数据库SID为oradb,这个参数就是:ORA_ORADB_AUTOSTART
    (Oracle10g数据库,这个键值位于HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_Ora10g) 当这个参数设置为True时,当我们启动服务时,Oracle数据库就会随之启动;反之,数据库就不会启动。
    关闭oradb数据库服务
    C:\>net stop oracleserviceoradb
    OracleServiceORADB 服务正在停止.......
    OracleServiceORADB 服务已成功停止。
    测试1,ORA_ORADB_AUTOSTART=true时:
    C:\>net start oracleserviceoradb
    OracleServiceORADB 服务正在启动 ...........
    OracleServiceORADB 服务已经启动成功。

    C:\>sqlplus "/as sysdba"

    SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 6月 30 21:47:01 2009

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    连接到:
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production

    SQL> select instance_name from v$instance;

    INSTANCE_NAME
    ----------------
    oradb

    测试2,ORA_ORADB_AUTOSTART=FALSE时:
    C:\>net start oracleserviceoradb
    OracleServiceORADB服务正在启动 .
    OracleServiceORADB服务已经启动成功。

    C:\>sqlplus "/ as sysdba"
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 6月 30 21:47:01 2009

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    已连接到空闲例程。
  • 启动Agent
    C:\>agentctl start

    DBSNMP for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:50:
    38

    Copyright (c) 2002 Oracle Corporation. All rights reserved.

    正在启动 Oracle Intelligent Agent....
    代理已启动
    注:如果Agent不能成功启动,则:
    转到%oracle_home%\network\agent\下,删除所有后缀名为“.q”的文件。
    如果还是不行,把services.ora也删除。
  • 启动OracleOraHome92ManagementServer服务
    C:\>oemctl start oms
    OracleOraHome92ManagementServer 服务正在启动 .............
    OracleOraHome92ManagementServer 服务已经启动成功。
  • 启动Oracle 界面管理器EMS
    C:\>oemapp console

本文链接:http://www.cnblogs.com/houqijun/p/Windows下命令行下启动ORACLE服务.html,转载请注明。


    
[2]“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本” 的解决方案 - 一点味
    来源:    发布时间: 2013-10-29

在项目部署过程中ORACLE客户端多次会遇“System.Exception: System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”问题,现将收集到方案的贴出

解决方案(问题可以是其中任意一点所导致的,并不需要各步骤多执行完):

  • Windows 防火墙是否关闭;
  • 系统环境变量是否存在,存在是否正确:环境变量的系统变量中修改或添加path变量,添加oracle目录如:d:\oracle\product\10.2.0\client_1\bin;
  • 找到ORACLE_HOME目录,如d:\oracle\product\10.2.0\client_1 ,右键弹出文件属性,点击 “安全” 在组和用户名称列表中点击“Authenticated Users” 项。
    在该用户的权限列表中,将“读取和运行”的选择框置为不选中状态
    再次点击“读取和运行”的选择框,将其设置为选中状态
    点击“高级”按钮并在权限项目中确定“Authenticated Users” 是否拥有“读取并运行”权限并应用于“该文件夹,及子文件夹和文件”. 如果不是,双击这样,并确保权限可以“应用于” “该文件夹,及子文件夹和文件”.“确定” 按钮。
  •  

    注:ORACLE_HOME目录文件夹没有安全选项,目前录找到的方法有3种:

    方法1、清除“使用简单文件共享“
    方法2、开始--设置--控制面板--管理工具--本地安全策略
    点击其中的本地策略--安全选项。找到其中的“网络访问:本地账户的共享和安全模式”,点击属性,改为经典即可

    方法3、 开始→运行→输入gpedit.msc →用户配置→管理模板→Windows组件→Windows资源管理→删除“安全”选项卡,把这项设为“未配置”或“已禁用” ,然后重新启动计算机即可

    如果你的文件格式是fat32的,那本身就没有安全功能,如果是ntfs的,才有此选项,可对盘符格式进行修改(需慎重) ,进入命令提示符,输入要如下命令convert x: /fs:ntfs
    x为要转换的驱动器号,如c d e

    另外附加一个SQL语句,oracle 两表关联修改 网上找的,用在项目中,不能修改一对多或多对一的情况,个人之前未考虑到,导致后续出了大事,但此语句还是对的,只是用错了地方。

    Oracle语法: UPDATE TableName SET (column1[,column2...])= (SELECT column1,[,column2...] FROM TableName1 [WHERE where_definition])


    本文链接:http://www.cnblogs.com/wenwu/p/3200177.html,转载请注明。


        
    [3]详解JOIN - Saiiin-水清
        来源:    发布时间: 2013-10-29

    根据连接中使用的操作符不同,连接条件可分为:等连接,不等连接

      连接本身分为:

    内连接(INNER JOIN)

      (1)INNER JOIN 方式(INNER可以省略)

    取两表的交集。

    (2)并表查询

    外连接(OUTER JOIN)

            在左外连接和右外连接时都会以一张表为基表,该表的内容会全部显示,然后加上两张表匹配的内容。 如果基表的数据在另一张表没有记录。那么在相关联的结果集行中列显示为空值(NULL)。

            对于外连接, 也可以使用“(+) ”来表示。 关于使用(+)的一些注意事项:1.(+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。2. 当使用(+)操作符执行外连接时,如果在where子句中包含有多个条件,则必须在所有条件中都包含(+)操作符3.(+)操作符只适用于列,而不能用在表达式上。4.(+)操作符不能与or和in操作符一起使用。5.(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。

            -- 左外连接(LEFT OUTER JOIN)

                  left join是以左表的记录为基础的,示例中Dave可以看成左表,BL可以看成右表,它的结果集是Dave表中的数据,在加上Dave表和BL表匹配的数据。

                换句话说,左表(Dave)的记录将会全部表示出来,而右表(BL)只会显示符合搜索条件的记录。BL表记录不足的地方均为NULL.

    加上TableB.id is null的条件之后

                -- 右外连接(RIGHT OUTER JOIN)

                   和left join的结果刚好相反,是以右表(BL)为基础的, 显示BL表的所以记录,在加上Dave和BL 匹配的结果。 Dave表不足的地方用NULL填充.

    加上TableA.id is null的条件之后,就变为

        -- 全外连接(FULL OUTER JOIN)

             左表和右表都不做限制,所有的记录都显示,两表不足的地方用null 填充。 全外连接不支持(+)这种写法。

    自连接(SELF JOIN)

           自连接(self join)是SQL语句中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。


    本文链接:http://www.cnblogs.com/shui-qing/p/3202655.html,转载请注明。


        
    最新技术文章:
    ▪current online redo log缺失后的恢复
    ▪ORA-600 2662错误解决实例
    ▪ORA-00600 2662错误解决方法
    ▪Oracle Hidden Parameter:_allow_resetlogs_corruption
    ▪Oracle诊断事件列表
    ▪Oracle 隐含参数 _disable_logging 详解
    ▪ORA-00600 [2662]错误解决过程
    ▪Oracle里另外一些典型的执行计划 iis7站长之家
    ▪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