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/