`
flylynne
  • 浏览: 362624 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sqlplus常用命令

阅读更多

**如何在XP的cmd命令行状态下输入中文?
 1.开始-》运行中输入regedit

 2.HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe下的项CodePage项值改为十进制"936"值或
 十六进制"000003a8"值。说明一下: 十六进制"000003a8"或十进制"936",表示"936 (ANSI/OEM - 简体中文 GBK)"。
 
**启动oracle服务:net start OracleServicesid    其中sid是服务器的名
**查看ORACLE的实例: select * from v$instance
**查看ORACLE的数据库名:select * from v$database;

** startup,等于以下三个命令  
      startup   nomount  
      alter   database   mount  
      alter   database   open

**<打开控制台输出> 1、show all serveroutput OFF 2、set serveroutput on 启动及关闭模式

**关闭oracle数据库
 shut down
**查看数据库名
 实例名:
 select * from v$instance;
 数据库名:
 select * from v$database;
**查看oracle中的所有表:
 SELECT * FROM dba_tables
**oracle忘记sys密码解决
 这个其实很简单,不过自己经常忘记,所以记下来
  sqlplus /nolog;
    connect / as sysdba
  alter user sys identified by ;
    alter user system identified by ;
**创建用户:
 create user username(用户名)
  identified by userpassword(用户密码)
  default tablespace system
  quota 5M on system  -----供用户使用的最大空间限制
  
**查看用户及其密码:
 select username,password from dba_users;
**修改用户system密码为manager
 alter user system identified by manager;

**删除用户及其所建的实体:
 DROP USER jxzy CASCADE;
**授予用户的系统特权:
 grant create session,create table to username;
 GRANT CREATE USER,ALTER USER,DROP USER
 TO jxzy_new  --用户名
 WITH ADMIN OPTION;
**回收系统特权:(注意没有级联回收的功能)
 REVOKE CREATE USER,ALTER USER,DROP USER
 FROM jxzy_new
**显示某个用户在oracle中所授的系统特权
 SELECT * FROM sys.dba_sys_privs
**oracle对象的管理和控制:
 oracle对象特权:用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、
 引用(其它表字段作为外键)、索引等。  
 授权:
  GRANT SELECT,INSERT(office_num,office_name), --针对某个表某个列进行授权
  UPDATE(desc)ON office_organization,
  TO new_adminidtrator(用户名),
  WITH GRANT OPTION;
  
  级联授权:
  grant all on office_organization
  to new_administrator
 回收:
  revoke update on office_organization
  from new_administrator;
 显示:
  select * from sys.dba_tab_privs;
**oracle中的角色管理:
 分类:(5种)
  CONNECT:具有创建表、视图、序列等特权;
  RESOURCE:具有创建过程、触发器、表、序列等特权
  DBA:DBA具有全部系统特权;
  EXP_FULL_DATABASE:具有卸出数据库的特权
  IMP_FULL_DATABASE:装入数据库的特权
 查看每种角色所拥有的权利:
  select * from sys.dba_sys_privs;
 授予用户角色:
  grant dba(角色类) to new_administrator(用户名)
  with grant option;
**oracle的用户安全:
 1、由于Oracle有几个系统预建的用户,所以最好在安装完成以后马上改变这些用户的密码。
  系统默认得密码分别为:internal/oracle , sys/change_on_install, system/manager. 
 2、当选择密码文件认证方式时,可以再向系统中加入其他超级用户。
  比如用以下语句把用户SCOTT加入超级用户之中:(由具有sysdba权限的人执行)
  GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限。
  注意:此时SCOTT用户可以以两种身份登录:SCOTT , SYS.当SCOTT在登录时没有输入AS SYSDBA时,
  SCOTT是作为普通用户登录的。而当登录时输入了AS SYSDBA时,此时SCOTT登录进去的用户实际上为sys。
 3、当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到:
  SELECT * FROM V$PWFILE_USERS;
 4、系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定。
  当需要创建更多的具有sysdba权限的用户时,就需要删除原有的密码文件,重新创建一个。
  这需要关闭数据库,删除密码文件,重新创建一个新的密码文件,在entries中输入足够大的数目。
  再启动Oracle。这时,所有原来北授权的超级用户都不再存在,需要重新授权。
  所以在重新创建密码文件前,先要查询该视图,记下用户名,再在创建完密码文件后重新授权。
 5、Internal用户密码忘记的处理方法:
  有两种办法:
  1)、ALTER USER SYS IDENTIFIED BY 新密码;//这同时也改变了Internal的密码,在Oracle8I中通过
  2)、重新创建一个新的密码文件,指定一个新的密码。

**查看某个用户中的表:
 SELECT * FROM USER_TABLES
**在Oracle中查看所有的表:
 select * from tab/dba_tables/dba_objects/cat;
 看用户建立的表   :
 select table_name from user_tables;  //当前用户的表  
 select table_name from all_tables;  //所有用户的表      
 select table_name from dba_tables;  //包括系统表     show user;//当前用户
 
**乱码:
 字符集不一致,保证服务器端的字符集和client的字符集一致即可,服务器端的字符集一旦建库就基本上不能修改了,
 可以用 select userenv('language') from dual查看,client的字符集只需要在bash_profile变量里面export
 LANG和NLS_LANG即可。当然shell的字符集最好也保持一致,编辑文件/etc/sysconfig/i18n。如果远程登陆的话,
 登陆软件如scurityCRT或者PUTTY的字符集设定也应该一致。


1.sqlplus : 登陆SQL
 清屏:HOST CLS
2.exit: 退出SQL
3.clear buffer : 清空缓冲区内容。
4.describe:描述表结构 ,缩写为desc。
5.list:用来显示缓冲区的内容,缓冲区只保存最近一条SQL或PL SQL命令,缩写为l。
6./ :执行缓冲区的SQL语句 /=run
7.change /old /new  :将旧串的内容改变为新串的内容。缩写为c。/可以换成其它的特殊符号,只有前后一致就  OK了。
 如:change ?old ?new
8.append  new :追加,将新串追加到行尾。 缩写为a
9.save filename [replace]: 将缓冲区的SQL语句保存成文件。使用可选参数replace可以覆盖原文件的内容。
10.get filename: 将SQL文件取到缓冲区
11.start filename: 执行SQL文件 ,相当于get filename +/
12.@ filename: 执行SQL文件,等价于start filename
13.edit filename: 编辑缓冲区的SQL语句。
14.spool filename: 用来保存在SQL*Plus工具中操作过的内容,记得之后要使用spool off。要不它只会停留在使
 用spool filename命令的点上,不会保存到内容
15.help index: 显示所有SQL*Plus命令。Help 命令名,显示这条命令的信息
16.column : 预定义列格式,后面可以放名列或列的别名。
17.修改缓冲区内容的三种方法:
 (1)a. 输入要修改的行数,回车,b. 使用命令change /old /new
 (2)输入要修改的行数,然后直接重写整一句的内容。
 (3)用edit命令,进入vi编辑。
18.定义变量
 用&来定义变量。可以放在任何地方,执行时,用输入的值替换变量的值
 如:select &name from emp;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics