第四章、使用SQL/PLUS和ORACLE企业管理器1

1、启动 SQL*PLUS 会话
     在调用 SQL*PLUS 前,必须首先正确的设置oralce环境,包括ORALCE_SID,ORACLE_HOME和LD_LIBBARY_PATH环境变量,有一些时候还需要设置NLA_LANG环境变量。

    在安装多个oracle客户端的情况下,使用sqlplus developer 可能会出现连接失败的现象,其主要原因是sqlplus  dev无法获取TNS目录,需要环境变量上添加个TNS_ADMIN.
   
 2、  SQL*PLUS 客户端连接方式
    使用网络文件tnsnames.ora 定义的网络服务名连接:
   sqlplus   sys/system@orcl as sysdba
    
     简易连接方式
     conn   sys/system@192.168.0.1:1521/orcl    as sysdba;使用简易连接方式时不需要使用网络文件(tnsnames.ora)。

3、继续字符'' -‘’
     在sqlplus界面中 一条SQL语句由一个分号(;)或者一个反斜杠(/ )结束,一个PL/SQL块由一个反斜杠/结束。
   
      在界面中使用连续字符(-)作为语句行的继续字符,因为在某些情况下_的作用很有必要。在下面例子中我常熟输入sql语句select 200-100 from dual;
     
SQL> select 200 -
> 100 from dual
  2  ;
select 200  100 from dual
            *
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字.

使用继续字符(_)

SQL> select 200 - -
> 100 from dual ;

   200-100
----------
       100

DUAL表在oracle是必须的,用来启用某些查询,因为在oracle中select语句必须使用from字句,dual表至少会保留一行数据。

SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mm:ss') from dual;

TO_CHAR(SYSDATE,'YY
-------------------
2012-12-05 18:12:54
实验如下:
SQL> select * from dual;

D                                                                               
-                                                                               
X                                                                               

SQL> desc dual;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ----------------------------
 DUMMY                                              VARCHAR2(1)

SQL> insert into dual values('a');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select count(*) from dual;

  COUNT(*)                                                                      
----------                                                                      
         1                                                                      

SQL> insert into dual values('b');

已创建 1 行。

SQL> /

已创建 1 行。

SQL> commit;

提交完成。

SQL> select count(*) from dual;

  COUNT(*)                                                                      
----------                                                                      
         1                                                                      

4、退出SQL*PLUS
  如果在SQL*PLUS中输入exit、quit命令正常退出SQL*PLUS会话,则事务将立即被提交。如果不打算提交为commit的事务则需要rollback。

5、SQL*PLUS的安全性
      在创建完数据库以后,应该执行一个特殊的脚本pupbld.sql ,此脚本用于支持SQL*PLUS的安全性,它位于$ORACLE_HOME/ sqlplus /admin目录下,且只能由system用户执行。
     此脚本将建立product_user_profile表。

SQL> desc product_user_profile;
 名称                                      是否为空? 类型
 ----------------------------------------- -------- ------------------------

 PRODUCT                                   NOT NULL VARCHAR2(30)
 USERID                                             VARCHAR2(30)
 ATTRIBUTE                                          VARCHAR2(240)
 SCOPE                                              VARCHAR2(240)
 NUMERIC_VALUE                                      NUMBER(15,2)
 CHAR_VALUE                                         VARCHAR2(240)
 DATE_VALUE                                         DATE
 LONG_VALUE                                         LONG
使用该表,可以限制访问SQL*PLUS和SQL的命令,也可以限制访问,此表的权限高于用户本身所存在的权限。

例子:限制scott用户select权限
SQL> insert into product_user_profile
  2  values('SQL*PLUS','scott','SELECT',NULL,NULL,NULL,NULL,NULL);

已创建 1 行。

6、使用sql命令生成需要的sql语句

实例:

SQL> select 'grant connect ,resource to '||username|| ';' from dba_users;

'GRANTCONNECT,RESOURCETO'||USERNAME||';'                                        
----------------------------------------------------------                      
grant connect ,resource to SCOTT;                                               
grant connect ,resource to XIAOCHEN;                                            
grant connect ,resource to TEST;                                                
grant connect ,resource to TSMSYS;                                              
grant connect ,resource to BI;                                                  
grant connect ,resource to PM;                                                  
grant connect ,resource to MDDATA;                                              
grant connect ,resource to IX;                                                  
grant connect ,resource to SH;                                                  
grant connect ,resource to DIP;                                                 
grant connect ,resource to OE;                                                  

'GRANTCONNECT,RESOURCETO'||USERNAME||';'                                        
----------------------------------------------------------                      
grant connect ,resource to HR;                                                  
grant connect ,resource to DBSNMP;                                              
grant connect ,resource to SYSMAN;                                              
grant connect ,resource to MDSYS;                                               
grant connect ,resource to ORDSYS;                                              
grant connect ,resource to EXFSYS;                                              
grant connect ,resource to DMSYS;                                               
grant connect ,resource to WMSYS;                                               
grant connect ,resource to CTXSYS;                                              
grant connect ,resource to ANONYMOUS;                                           
grant connect ,resource to XDB;                                                 

'GRANTCONNECT,RESOURCETO'||USERNAME||';'                                        
----------------------------------------------------------                      
grant connect ,resource to ORDPLUGINS;                                          
grant connect ,resource to SI_INFORMTN_SCHEMA;                                  
grant connect ,resource to OLAPSYS;                                             
grant connect ,resource to MGMT_VIEW;                                           
grant connect ,resource to SYS;                                                 
grant connect ,resource to SYSTEM;                                              
grant connect ,resource to OUTLN;                                               

已选择29行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26667101/viewspace-750600/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26667101/viewspace-750600/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值