• 数据库学习杂记一


    如果当时没有对口令做任何的设置的话,那么scott用户默认是会被锁定的,其他用户的密码默认为oracleadmin,而scott用户是主要使用的用户,所以下面可以按照如下步骤输入命令解决:

    1、   通过运行输入:sqlplusw;

    2、   在用户名上输入:“/nolog”

     

    3、   以超级管理员的身份登录:CONN sys/change_on_install AS SYSDBA

             · 如果没改密码的话那么就是oracleadmin,即:CONN sys/oracleadmin AS SYSDBA

    4、   输入解锁命令:ALTER USER scott ACCOUNT UNLOCK ;

    5、   可以重新登陆sqlplusw:有可能登陆之后要求用户重新输入密码,就输入“tiger”即可。

    在一个数据库之中肯定会存在多个用户,而实际上不同的表属于不同的用户,如果现在希望查询出一个用户有多少张数据表,则可以输入如下的指令:

    SELECT * FROM tab ;

             这个用户下现在有四张数据表,那么这四张表的功能随后介绍。

             既然一张表会有多个数据列,那么可以通过DESC指令查询一张表中的所有数据列:

    DESC emp ;

             由于有多个用户,那么现在如果要想确定当前的用户是那一位,则可以使用下下面的指令:

    SHOW USER ;

             但是在这里必须强调一点,SQLPLUSW虽然是作为程序的主要工具窗口,但是在此窗口中实际上并不方便于进行代码的编辑,因为在这个工具之中,所有的方向键实际上控制的只是屏幕的移动,并不能控制输入光标的移动,所以为了降低代码编写的不方便,所以针对于不同的操作系统,oracle提供了一个ed命令,使用此命令可以直接执行本机的记事本程序,例如:windows中使用的是notepad,而linux之中使用的是vi,输入“ed a”。

     

             此时会出现一个提示,询问是否要创建一个“a.sql”的文件,选择“是”,之后就可以打开记事本工具。

             但是一旦现在使用ed指令在sqlplusw中打开记事本程序的话,原本的sqlplusw窗口将进入到一种阻塞状态,因为这个时候要一直等待文本编辑完成之后才可以,所以现在在文本中直接输入要操作的语句,而后可以使用“@a”指令执行刚才所编辑完的命令。

             除了这种直接通过sqlplusw调用之外,在oracle中也可以直接在硬盘上编写一个文本文件,作为程序的执行语句,例如,现在在“d: est.txt”文件,将语句输入完成之后,下面就可以直接在命令行中输入:“@d: est.txt”,当然,如果说现在文件的后缀是“*.sql”的话,那么可以不用输入后缀:“@d: est”、“@d:test”。

             那么既然说在oracle数据库之中有许多不同的用户,那么就可以使用如下的语法进行用户的连接操作:

    CONN 用户名/密码 [AS SYSDBA] ;

             以后只要是固定的语句,全部大写,如果那些语句是需要根据情况更改的,全部使用小写,可选的操作都使用[]表示。

             如果现在使用的是普通用户那么可以不写AS SYSDBA,如果是数据库管理员,例如:SYS,就必须编写。

    范例:使用sys用户登录

    CONN sys/change_on_install AS SYSDBA ;

             很明显执行此语句之后,当前连接的用户就是sys,现在如果再次发出以下的查询指令:

    SELECT * FROM emp ;

             但是这个时候出现一个提示“ORA-00942: 表或视图不存在”,意思是:找不到emp表,对于所有的表,肯定是分别属于不同的用户的,所以一张数据表的完整名称应该是“用户名.表名称”,例如,如果现在使用的是scott用户登录,那么查询emp表就是查询scott.emp,由于是一个用户的,可以不写用户名,而如果是不同的用户,就必须写上表的完整名称:

    SELECT * FROM scott.emp ;

             另外,需要提醒的是,对于“用户名.表名称”,中的用户名也可以称为模式名,即:“模式名.表名称”。

             如果说现在要是连接回scott用户的话呢就不用再写之前的“AS SYSDBA”了。

    CONN scott/tiger

    CONN scott

             考虑到工具使用的方便性,所以在sqlplusw之中,也可以使用HOST指令调用本机操作系统所提供的方法。

    范例:使用sys用户登录

    CONN sys/change_on_install AS SYSDBA ;

             很明显执行此语句之后,当前连接的用户就是sys,现在如果再次发出以下的查询指令:

    SELECT * FROM emp ;

             但是这个时候出现一个提示“ORA-00942: 表或视图不存在”,意思是:找不到emp表,对于所有的表,肯定是分别属于不同的用户的,所以一张数据表的完整名称应该是“用户名.表名称”,例如,如果现在使用的是scott用户登录,那么查询emp表就是查询scott.emp,由于是一个用户的,可以不写用户名,而如果是不同的用户,就必须写上表的完整名称:

    SELECT * FROM scott.emp ;

             另外,需要提醒的是,对于“用户名.表名称”,中的用户名也可以称为模式名,即:“模式名.表名称”。

             如果说现在要是连接回scott用户的话呢就不用再写之前的“AS SYSDBA”了。

    CONN scott/tiger

    CONN scott

             考虑到工具使用的方便性,所以在sqlplusw之中,也可以使用HOST指令调用本机操作系统所提供的方法。

    扫盲:DOS的copy命令

             希望将d: est.sql复制为d:hello.sql,可以采用如下语法:

    COPY 源文件路径 拷贝的目标文件路径;

    范例:实现拷贝

    copy d: est.sql d:hello.sql

    范例:在sqlplusw之中使用此命令的时候必须在前面加上“HOST”前缀

    HOST COPY d: est.sql d:hello.sql

             除了以上的一些基本的操作命令之外,下面还有一特别的命令需要提醒一下,关于数据库的实例关闭与重新启动。

             如果要使用这些命令必须由超级管理员SYS完成。

    1、   使用sys用户登录

    CONN sys/change_on_install AS SYSDBA ;

    2、   立刻停止数据库实例:

    SHUTDOWN IMMEDIATE

             一旦数据库的实例关闭之后,那么最麻烦的问题是无法直接在进行登录操作了,那么这个时候如果必须要使用sqlplusw登录的话,那么就必须在用户名上输入“/nolog”。

    ORA-01034: ORACLE not available

    ORA-27101: shared memory realm does not exist

             这两个错误信息只要以后看见,就按照下面的方式操作;

                             采用/nolog登录

     

    3、   继续使用sys以超级管理员的身份登录;

    4、   使用STARTUP命令开启数据库的实例服务;

    1、   Oracle数据库中的四个主要用户:

                       ·超级管理员:sys / change_on_install

                       ·普通管理员:system / manager

                       ·普通用户:scott / tiger

                       · 海量数据用户(大数据用户):sh / sh;

    2、   Oracle数据库的卸载问题;

    3、   对于sqlplus操作的若干命令需要熟练;

    4、   数据库的监听服务为以后程序操作的主要使用服务,关于问题的解决要清楚,用的时候会改;

    5、   一定要记住scott表中的四张表的作用及彼此的关系。

  • 相关阅读:
    20200924-4 代码规范,结对要求
    20200924-2 功能测试
    20200917-1 每周例行报告
    20200917-3 白名单
    20200917-2 词频统计 已更新附加题!
    20200910-1 每周例行报告
    20200924-2功能测试
    20200924-1每周例行报告
    20200924-3单元测试
    20200924-5 四则运算,结对
  • 原文地址:https://www.cnblogs.com/pony1223/p/3207908.html
Copyright © 2020-2023  润新知