前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Oracle 使用SQL*Plus连接数据库

Oracle 使用SQL*Plus连接数据库

作者头像
授客
发布2019-09-11 20:40:38
1.8K0
发布2019-09-11 20:40:38
举报
文章被收录于专栏:授客的专栏授客的专栏

使用sqlplus连接数据库

A 方式1

1.开启SQL*Plus,但不连接到数据库

$ sqlplus /NOLOG

2.连接到数据库

CONN[ECT] [logon] [AS {SYSOPER | SYSDBA}]

其中logon为

{username[/passwd] | /}[@connect_identifier] [edition={edition_name | DATABASE_DEFAULT}]

说明:

/:用于连接请求的外部认证,这种验证类型不需要数据库密码。最常见的外部认证形式为操作系统认证。数据库用户由已登录主机操作系统的主机帐号验证并授权

AS {SYSOPER | SYSDBA}:用户以SYSOPER、SYSDBA系统权限连接.仅某些预定义的管理员用户或添加到密码文件的用户可以如此方式连接

username:合法数据库用户名。

passwd:合法数据库用户密码,如果不指定,且不是以 AS SYSDAB方式登录时,会弹出密码输入提示

connect_identifier:Oracle网络连接标示符,用于远程连接。如果忽略,sqlplus连接到本地实例。常用连接标示符为网络服务名(net service name).网络服务名为Oracle网络连接描述符的别名(网络地址和数据库服务名)。通常通过解析本地主机上的tnsnames.ora文件得到网络服务名。

connect_identifier的简易语法:

"host:[port][/service_name][:server][/instance_name]"

注:指定/service_name选项,可不在(本地)电脑客户端上配置Oracle网络服务

host:远程数据库主机IP或主机名

port:Oracle网络监听器监听的端口

service_name:要连接的数据库服务名。如果远程数据库网络服务监听器配置了缺省的服务名,可以忽略,否则必须提供。通常每个数据库提供了一个和全局数据库名相同的服务名。全局数据库名由DB_NAME和DB_DOMAIN初始参数组成:DB_NAME.DB_DOMAIN,如果DB_NAME为orcl,DB_DOMAIN为us.example.com,那么标准服务名为orcl.us.example.com

server:服务处理器类型,可接受值含dedicated(专用服务器)、shared(共享服务器)、pooled(共享池)

instance_name:指定要连接的实例。

edition={edition_name | DATABASE_DEFAULT}:指定启动数据库会话时版本。如果指定版本,则该版本必须存在且拥有对它的USE权限,不指定则使用默认版本。

注:这个比较少用

B 方式2

将方式1中的两步合并为一步

sqlplus [logon] [AS {SYSOPER | SYSDBA}]

例1:以SYSTEM用户身份连接

SQL> conn system

Enter password:

ERROR:

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux Error: 2: No such file or directory

Process ID: 0

Session ID: 0 Serial number: 0

输出说明:因为此时数据库没开启,所以报错

例2:以具有SYSDBA权限的SYS用户身份连接到一个本地数据库

SQL>CONNECTSYS AS SYSDBA

Enter password:

Connected to an idle instance.

说明:以SYS用户身份连接,必须指定AS SYSDBA

例3:使用操作系统认证,以SYSDBA特权进行本地连接

SQL>CONNECT / AS SYSDBA

Connected to an idle instance

----------------远程连接(未在本地客户端上配置SERVICE_NAME)------------------

例4:以testacc用户身份,并指定用户密码(abc123),监听端口号,远程连接到运行于主机172.25.75.14上,数据库服务名为oracl11g的数据库

SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g"

Connected.

注意:

1.如果未在本地客户端上配置tnsname.ora文件,则必须指定服务名,否则会报错误,如下:

ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA

2.如果未在本地客户端上配置tnsname.ora文件,如果涉及远程连接,则必须指定服务名

例5:不指定用户密码外

SQL> CONNECT testacc@"172.25.75.14:1521/orcl11g"

Enter password:

Connected.

例6:指定实例名

SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g/orcl11g"

Connected.

注:这里有两个oracl11g,从左到右,第一个是服务名SERVICE_NAME,第二个是实例名,以下例子也一样

例7:指定服务器类型

SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g:server/orcl11g"

Connected.

例8:不指定端口号

SQL> CONNECT testacc/abc123@"172.25.75.14/orcl11g"

Connected.

例9:不指定实例名,指定服务器类型

SQL> CONNECT testacc/abc123@"172.25.75.14:1521/orcl11g:server"

Connected.

例10:以sqlplus一步到位方式连接

d:\>sqlplus testacc/abc123@"172.25.75.14:1521/orcl11g:server/orcl11g"

SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 18 10:18:51 2014

Copyright (c) 1982, 2010, Oracle. All rights reserved.

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

-----------------------end----------------------

参考链接:

http://docs.oracle.com/cd/E11882_01/server.112/e25494/start.htm#ADMIN004

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-11-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档