Tag Archives: sqlplus

SQLPLUS简易连接

转载,原作者描述的已经非常清楚,故不再重复工作。发布至此,做记录,同致敬(写的非常全面)。
使用SQLPLUS连接远程数据库系统的时候,可以通过以下两种方式配置连接。

方式一:简易连接,不用进行网络配置,其实就是tnsname.ora文件,但只支持oracle10G以上。
命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sysdba]
示例:sqlplus marshall/[email protected]:1521/orcl as sysdba
备注:使用默认1521端口时可省略输入

方式二:进行网络配置 oracle9i和以前的版本
图形化操作:Net Configuration Assistant–> 本地Net服务名配置–>添加->服务名->协议(选tcp)->主机名称->端口->完成。
文本化操作:编辑$ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora文件
test =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ip或主机名称)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = 数据库的服务名称)
)
)
备注说明:红色为修改部分
PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。
HOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提示符下使hostname命令得到机器名,或通过ipconfig(for WINDOWS) or ifconfig(for UNIX)命令得到IP地址。需要注意的是,不管用机器名或IP地址,在客户端一定要用ping命令ping通数据库侦听所在的机器的机器名,否则需要在hosts文件中加入数据库侦听所在的机器的机器名的解析。
PORT:数据库侦听正在侦听的端口.可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。
SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> show parameter service_name命令察看。
======================================================================
如何保证客户端机器连接到oracle数据库呢?
A. 客户端
1.在客户端机器上安装ORACLE的Oracle Net通讯软件,它包含在oracle的客户端软件中。
2.正确配置了sqlnet.ora文件
3.正确配置了tnsname.ora文件
B. 服务器端
1.保证listener已经启动 lsntctl start
2.保证数据库已经启动。 sql>startup

原文链接:http://www.cnblogs.com/zhou__zhou/archive/2010/03/19/sqlplus.html

64bit-AIX平台下,Oracle10g数据库 使用SQLPLUS登陆报错

登陆客户数据库报错:

SQL> conn xxx/xxx
 ERROR:
 ORA-01034: ORACLE not available
 ORA-27121: unable to determine size of shared memory segment
 IBM AIX RISC System/6000 Error: 13: Permission denied
 [zwq_kfdb1:/home/oraeye/enmotech]uname -a
 AIX zwq_kfdb1 1 6 00C5C4764C00

Google了下,很多文章说是由于“重建oracle用户和组引起的ORA-27121错误”,还有说是内存问题,需要重启。大致翻了一些,感觉都不太靠谱,故上MOS搜索,输入“ORA-27121”,第一篇文章即为:Cannot Use SQLPlus as a Non-Oracle User on AIX 64 Bit ORA-01034 and ORA-27121 [ID 1058928.1],内容如下:

Applies to:
Oracle Server – Enterprise Edition – Version: 10.2.0.3 to 11.1.0.7 – Release: 10.2 to 11.1
IBM AIX on POWER Systems (64-bit)
Symptoms
On AIX 64 Bit, using Oracle 10.2 or 11.1, unable to use SQLPLUS as any user other than the UNIX user Oracle. The following occurs:
ERROR:
ORA-01034: ORACLE not available
ORA-27121: unable to determine size of shared memory segment
IBM AIX RISC System/6000 Error: 13: Permission denied

Symptoms associated with this issue are:
– no errors in alert.log
– cannot connect to sqlplus other than as UNIX user oracle
– platform is 212 AIX 64 Bit
– errors that occur in a core dump are
ORA-1034: ORACLE not available
ORA-27121: unable to determine size of shared memory segment

Changes
Running Oracle version 10.2.0.3, 10.2.0.4, 11.1.0.6 or 11.1.0.7

Cause
Bug 6973208 which is a duplicate of Bug 6800649
Abstract: AIX: Client side “map:permission denied” or “sh: /usr/bin/procmap: not found”
============
Client side executables may report errors such as
sh: /usr/bin/procmap: not found
or if procmap exists but the client executable is setuid then
the client may report an error like:
map:permission denied

Solution
Apply Patch 6800649 for effected Oracle version
Workaround:
For the case “sh: /usr/bin/procmap: not found” install “procmap”.
This is an AIX executable. See Note:435576.1 for more details.
For the case of “map:permission denied” make sure that the client
executable is not marked as setuid to some other user.

解决方案:
修改oracle文件权限:

[xxx:/oracle10/app/product/db/10.2.0/bin]ls -l oracle
 -rwsr-s--x 1 oracle10 oinstall 133933734 Jan 16 2011 oracle

快速启动SQLPLUS

之前写过一篇《通过CMD快速启动Oracle服务》,使用net start OracleServiceORCL命令快速开启Oracle服务,但是每次输入sqlplus / as sysdba也烦了(虽然现在打起来很快)。

故创建一个批处理文件:s.bat

文件内容为sqlplus / as sysdba

在对应目录下,输入s,点击回车即可进入sqlplus

 

F:\awrtmp>dir 
 驱动器 F 中的卷是 TMP 
 卷的序列号是 6290-8BBB
F:\awrtmp 的目录
2011/08/15  15:55    <DIR>          . 
2011/08/15  15:55    <DIR>          .. 
2011/08/15  14:39               881 addmrpt_1_347_349.txt 
2011/08/15  15:53               499 Gethidepar.sql 
2011/08/15  15:55                19 s.bat 
               3 个文件          1,399 字节 
               2 个目录  8,069,201,920 可用字节
F:\awrtmp>s
F:\awrtmp>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 8月 15 16:41:33 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到: 
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>

 

在Linux下可在.bash_profile中设置alias达到同样目的:

alias s=’sqlplus / as sysdba’

总结:没办法,懒,就得有懒的办法

普人特福的博客cnzz&51la for wordpress,cnzz for wordpress,51la for wordpress