/*----------------------------------------常用命令(sqlplus环境)----------------------------------------*/ conn scott/tiger@orcl [as sysdba] || [as sysoper] --切换用户 show user --当前用户 passw[ord] --修改密码 disc --断开连接 clear scr --清屏 start || @ --运行sql脚本 edit --编辑指定sql脚本 spool --sqlplus截屏(sql>spool d:\spool.sql; sql>spool off;) exit || quit --退出(执行后会commit) & --动态输入值 set linesize --设置显示行宽度(默认80字节) set pagesize --设置每页显示的行数目(默认14行) set colsep | --设置列与列之间的分割符号 set echo on --设置运行命令是是否显示语句 set feedback on --设置显示“已选择XX行” set serveroutput on --启用输出(/表示结束PL-SQL块) set heading on --设置显示列名 set timing on --显示执行速度 set time on --显示当前时间 set autotrace on --设置允许对执行的sql进行分析 call pro||fun; --调用存储过程或函数 --给一个事物命名 set transaction name tname --指定一个事物使用回滚段 set transaction use rollback segment 回滚段名 --如果在设置隔离级前有更新表t1没有提交,在设置隔离级后,更新表会等待,先前的提交后,隔离级里的会报错 set transaction isolation level serializable --默认情况的设置,如果在设置隔离级前有更新表t1没有提交,在设置隔离级后,更新表会等待,先前的提交后,隔离级里的会执行 set transaction level read commited --只能读,不能进行dml操作 set transaction read only --可以进行dml操作默认(默认) set transaction read write /*----------------------------------------导入(imp)、导出(exp)----------------------------------------*/ exp 将数据库内的各对象以二进制方式下载成damp文件,方便数据迁移。 buffer:下载数据缓冲区,以字节为单位,缺省依赖操作系统 consistent:下载期间所涉及的数据保持read only,缺省为n direct:使用直通方式 ,缺省为n feedback:显示处理记录条数,缺省为0,即不显示 file:输出文件,缺省为expdat.dmp filesize:输出文件大小,缺省为操作系统最大值 indexes:是否下载索引,缺省为n,这是指索引的定义而非数据,exp不下载索引数据 log:log文件,缺省为无,在标准输出显示 owner:指明下载的用户名 query:选择记录的一个子集 rows:是否下载表记录 tables:输出的表名列表 导出整个实例 exp system/admin file=oradb.dmp log=oradb.log full=y consistent=y direct=y; 导出指定用户所有对象 exp dbuser/oracle file=dbuser.dmp log=dbuser.log owner=dbuser buffer=4096000 feedback=10000 导出表 exp dbuser/oracle file=dbuser.dmp log=dbuser.log tables=table1,table2 buffer=4096000 feedback=10000 imp 将exp下载的dmp文件上载到数据库内。 buffer:上载数据缓冲区,以字节为单位,缺省依赖操作系统 commit:上载数据缓冲区中的记录上载后是否执行提交 feeback:显示处理记录条数,缺省为0,即不显示 file:输入文件,缺省为expdat.dmp filesize:输入文件大小,缺省为操作系统最大值 fromuser:指明来源用户方 ignore:是否忽略对象创建错误,缺省为n,在上载前对象已被建立往往是一个正常现象,所以此选项建议设为y indexes:是否上载索引,缺省为n,这是指索引的定义而非数据,如果上载时索引已建立,此选项即使为n也无效,imp自动更新索引数据 log:log文件,缺省为无,在标准输出显示 rows:是否上载表记录 tables:输入的表名列表 touser:指明目的用户方 导入整个实例 imp system/admin file=oradb.dmp log=oradb.log full=y buffer=4096000 commit=y ignore=y feedback=10000 导入指定用户所有对象 imp dbuser/oracle file=dbuser.dmp log=dbuser.log fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000 导入表 imp dbuser2/oracle file=user.dmp log=user.log tables=table1,table2 fromuser=dbuser touser=dbuser2 buffer=2048000 commit=y ignore=y feedback=10000 /*----------------------------------------用户操作----------------------------------------*/ 1)创建用户并指定表空间 create user lee identified by 123 [default tablespace users]; 2)修改用户(密码或指定表空间) alter user lee [identified by newpwd] || [default tablespace users]; 3)锁定用户 alter user lee account lock; 4)解锁用户 alter user lee account unlock; 5)删除用户[含所有对象] drop lee [cascade]; /*----------------------------------------权限操作----------------------------------------*/ 授权时加with admin option可以使权限传递,当最上级回收权限时,系统权限不会被级联回收,对象权限会被级联回收. 1)授予系统权限 grant connect,resource to lee