sys用户在cmd下以DBA身份登陆:

sqlplus /nolog   
   
--运行sqlplus命令,进入sqlplus环境。其中/nolog是不登陆到数据库服务器的意思,如果没有/nolog参数,sqlplus会提示你输入用户名和密码

SQL〉connect / as sysdba

--以系统管理员(sysdba)身份连接数据库,如果需要对数据库进行管理操作,那么需要以这种方式登陆数据库,或者:

connect sys@service_name as sysdba
--其中service_name是你配置的客户tnsname服务名

SQL> startup         --如果数据库没有启动的话,经过上述步骤连接后,正常启动数据

这里介绍下几种连接用到的命令形式
  
  1.sqlplus / as sysdba 这是典型的操作系统认证,不需要listener进程
  
  2.sqlplus sys/oracle 这种连接方式只能连接本机数据库,同样不需要listener进程
  
  3.sqlplus sys/oracle@orcl 这种方式需要listener进程处于可用状态。最普遍的通过网络连接。
  
  以上连接方式使用sys用户或者其他通过密码文件验证的用户都不需要数据库处于可用状态,操作系统认证也不需要数据库可用,普通用户因为是数据库认证,所以数据库必需处于open状态。

平时排错可能会用到的
  
  1.lsnrctl status查看服务器端listener进程的状态
     2.tnsping 查看客户端sqlnet.ora和tnsname.ora文件的配置正确与否,及对应的服务器的listener进程的状态。
        3.SQL>show sga 查看instance是否已经启动

如果在sql*plus环境中使用shutdown命令关闭了数据库,现在要启动数据库的话,必须先用不登陆到数据库服务器的方式进入sqlplus环境,再用startup命令启动数据库。因为数据库没有启动的话,不能登陆数据库,也无法验证用户名和密码。

sqlplus命令格式如下:

用法: SQLPLUS [ [<option>] [<logon>] [<start>] ]
其中 <option> ::= -H | -V | [ [-M <o>] [-R <n>] [-S] ]
      <登录>  ::= <用户名>[/<口令>][@<connect_string>] | / | /NOLOG
      <启动>  : : = @<文件名>[.<ext>] [<参数> ...]
 "-H" 显示 SQL*Plus 的版本标帜和使用语法
 "-V" 显示 SQL*Plus 的版本标帜
 "-M <o>" 使用 HTML 标志选项 <o>
 "-R <n>" uses restricted mode <n>
 "-S" uses silent mode

1,sqlplus  '/ as sysdba '
和
2,sqlplus /nolog
SQL> connect / as sysdba

1和2是一样的意思。

SQLPlus 在连接时通常有三种方式
1. sqlplus / as sysdba
    操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式进入
    sqlplus,然后通过startup命令来启动。
    sqlplus / as sysdba 是操作系统用户验证登录方式,通过OS本地的IPC可以直接连接到实例,IPC由本地OS提供,允许各种进程在主机内进行通信。所以不需要listener也可以连接到实例。

2. sqlplus username/password
    连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。
 
3. sqlplus usernaem/password@orcl
    通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下 
  a. 查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME  
  b. 查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name  
  c. 如果服务器listener进程没有问题的话,建立与listener进程的连接。  
  d. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端
            就连接上了数据库的server process。
  e. 这时连接已经建立,可以操作数据库了。
 
如果你希望使用操作系统的认证方式登陆到数据库,数据库自然会要求操作系统进行认证,如果是本地用户,在本机就可以完成认证工作,如果是域用户, oracle**必须**连接到domain controller进行认证, 如果此时网络出现故障,oracle会提示你权限不够(insufficient privileges)
我曾经告诉过你
dba使用的是sys用户登陆到数据库进行建立数据库的操作的
你可以测试一下, 在你登陆到域和不登陆到域的情况(甚至是你断开网线和连接网线的情况下)
conn sys/你的sys的密码 as sysdba 
是否可以登陆到系统。
这对于你研究dbca 的行为会有所帮助。

sqlplus连接的三种方式的更多相关文章

  1. 多表连接的三种方式 HASH MERGE NESTED

    多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP------------------------------------------------------20 ...

  2. 多表连接的三种方式详解 hash join、merge join、 nested loop

    在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式.多表之间的连接有三种方式:Nested Loops,Hash Join 和 Sort Merge Join.具体适用哪 ...

  3. C#与数据库的连接的三种方式

    学习了.net的知识从C#一直到MVC,我一直觉得基础很重要,最近有复习一下数据库连接的三种方式 1 返回结果集的一张表 public static DataTable ExecuteDataTabl ...

  4. 多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP

    在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式. 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图. 从3张图里我们看到了几点 ...

  5. python中字符串连接的三种方式

    1.字符串之间连接 'aa' 'bb' 可以中间为空格 或者什么都没有. 那么输出都是两者之间紧密相连. 2.字符串+数字 'aa' +90 这样会报错,因为不同类型不能相加, 可以用 'aa',90 ...

  6. Linux虚拟机网络连接的三种方式

    Bridge桥接模式.NAT模式.Host-only仅主机模式: 桥接模式:虚拟机使用真实网卡进行通信,配置简单:只要和真实计算机在同一个网段内,就可以直接通信:局域网内如果有其他计算机,也可以进行访 ...

  7. PHP的学习--连接MySQL的三种方式

    记录一下PHP连接MySQL的三种方式. 先mock一下数据,可以执行一下sql. /*创建数据库*/ CREATE DATABASE IF NOT EXISTS `test`; /*选择数据库*/ ...

  8. java基础-jdbc——三种方式加载驱动建立连接

    String url = "jdbc:mysql://localhost:3306/student?Unicode=true&characterEncoding=utf-8" ...

  9. JDBC 创建连接对象的三种方式 、 properties文件的建立、编辑和信息获取

    创建连接对象的三种方式 //第一种方式 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/ ...

随机推荐

  1. js中页面加载完成后执行的几种方式及执行顺序

    1:使用jQuery的$(function){}; 2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式.两个是docu ...

  2. vue 跨域

    注意!只能在本地调试使用,上线后url会出错使用以下方法要先引入网络模块 先配置文件:config =>index.js以下部分改为:proxyTable: { '/apis': { // 测试 ...

  3. 由浅入深了解EventBus:(六)

    线程模型 在EventBus3.0框架中执行线程的快速切换,通过ThreadMode来指定线程在哪个线程中执行; 在EventBus3.0框架线程模型有个PendingPost 类负责数据的传递; f ...

  4. ZOJ 1609 Equivalence(状压+dfs减枝)

    ZOJ Problem Set - 1609 Equivalence Time Limit: 5 Seconds      Memory Limit: 32768 KB When learning m ...

  5. 随机生成验证码及python中的事务

    1.随机生成验证码 # import random # print(random.random()) #-1的小数 # print(random.randint(,)) #包括1和3 # print( ...

  6. 【LeetCode 110_二叉树_遍历】Balanced Binary Tree

    解法一:From top to bottom int treeHeight(TreeNode *T) { if (T == NULL) ; ; } bool isBalanced(TreeNode* ...

  7. 安装spring报错:Cannot complete the install because of a conflicting dependency.

    问题: 在Eclipse里安装Spring插件,help->install new software用端点安装,说是出现软件依赖错误报错如下: Cannot complete the insta ...

  8. vue-keep-alive

    查看github源代码    https://github.com/Diamondjcx/vue-test Vue keep-alive实践总结   <keep-alive>是Vue的内置 ...

  9. Android6.0之后的权限机制对App开发的影响

    随着Android系统的更新换代,每次重大更新的方面也逐步扩展,从4.*主要是增强功能,到5.*主要是美化界面,到6.*主要提高系统安全性,再到7.*和8.*主要支撑各种大屏设备,因此开发者需要对每个 ...

  10. 【Spring实战】Spring容器初始化完成后执行初始化数据方法

    一.背景知识及需求 在做WEB项目时,经常在项目第一次启动时利用WEB容器的监听.Servlet加载初始化等切入点为数据库准备数据,这些初始化数据是系统开始运行前必须的数据,例如权限组.系统选项.默认 ...