oracle总结

网上找到的,还没看,先收集

Oracle系统总结归纳

文章分类:数据库
使用的数据库是Oracle 10.2.0.1.0 
目前主流的数据库包括: 
微软: SQLServer,Access 
瑞典MySQL: AB公司MySQL 
IBM公司: DB2 
IBM公司: Informix 
美国Sybase公司: Sybase 
美国甲骨文公司: Oracle 
数据库之间的比较 

 

Oracle的认证 
 

Oracle中有默认的2个用户一个是Sys另外一个是System 
Sys:是超级用户,具有最高权限,具有SYSDBA角色,有创建数据库的权限 
System:是操作管理员,具有SYSOPER角色,没有创建数据库的权限 

Oracle的卸载 
软件环境: 
1、Windows XP + Oracle 10g 
2、Oracle安装路径为:d:\Oracle 
实现方法: 
1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务. 
2、开始->程序->Oracle – OraDb10g_home1>Oracle Installation Products-> Universal Installer 卸装所有Oracle产品,但Universal Installer本身不能被删除; 
3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口. 
4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口. 
5、运行refedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口. 
6、开始->设置->控制面板->系统->高级->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定. 
7、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标. 
8、删除c:\Program Files\Oracle目录. 
9、重新启动计算机,重起后才能完全删除Oracle所在目录. 
10、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows XP目录(一般为d:\WINDOWS)下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等. 
11、WIN.INI文件中若有[ORACLE]的标记段,删除该段. 
12、如有必要,删除所有Oracle相关的ODBC的DSN. 
13、到事件查看器中,删除Oracle相关的日志 说明:如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则安装完毕并重新启动后,原来的目录及文件就可以删除掉了 

Oracle系统命令 
1、连接数据库 
Sql代码 
  1. SQL> conn 用户名/密码@网络服务名SID [as sysdba/sysoper]   当用特权用户身份连接的时,必须带上as sysdba或者as sysoper  

2、显示当前用户 
Sql代码 
  1. SQL> show user;  

3、修改密码 
Sql代码 
  1. 管理员自己修改密码: passw    管理员修改其他用户密码: passw  用户名    

4、退出 
Sql代码 
  1. SQL> exit;  

5、运行sql脚本 
Sql代码 
  1. SQL> start c:\test.sql;或者SQL> @ c:\test.sql;  

6、编辑sql脚本 
Sql代码 
  1. SQL> edit c:\test.sql;  

7、将指定查询内容输出到指定文件中去 
把emp表中的数据放在d:\test.sql这个文件中 
Sql代码 
  1. SQL> spool d:\test.sql;  
  2. SQL> select * from emp;  
  3. SQL> sppool off;  


Oracle用户管理 
切换用户 
Sql代码 
  1. SQL> conn system/manager  

创建用户 
Sql代码 
  1. SQL> create user 用户名  identified by 密码  

修改别人密码 
Sql代码 
  1. SQL> password 用户名  
  2. SQL> alter user 用户名 identified by 新密码  

删除用户(自己删除自己不可以) 
如果要删除用户,并且同时要删除用户所创建在表,那么就需要在删除时带一个参数cascade; 

Sql代码 
  1. SQL> drop user 用户名 [cascade]  

 

 
角色管理权限 
受理连接数据库权限(connect)给一个用户 
Sql代码 
  1. SQL> grant connect to 用户名  

授权username查询emp权限 
Sql代码 
  1. SQL> grant select on emp to username  
  2. SQL> grant insert on emp to username  
  3. SQL> grant update on emp to username  
  4. SQL> grant delete on emp to username  


授权username对emp所有权限 
Sql代码 
  1. SQL> grant all on emp to username  


权限传递 
如果是对象权限,权限在传递就在后面加with grant option 

Sql代码 
  1. SQL> grant select on emp to username with grant option  


如果是系统权限,权限在传递就在后面加with admin option 这使username可以把select权限传递给其他人 
Sql代码 
  1. SQL> grant connect on emp to username with admin option  


收回username在我的emp表上在select权限 
Sql代码 
  1. SQL> revoke select on emp from username  


profile规则 
账户锁定 
指定账户登陆最多可以输入密码在次数,也可以指定用户锁定在时间(天)一般用dba在身份去执行该命令 

Sql代码 
  1. SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;  
  2. lock_account:名称随便取名  
  3. 3:最多输入3次密码  
  4. 2:锁定2天  
  5. 其他的都是关键字  


把锁lock_account给scott.如果用户连续输入3次错误密码,那么你就被锁定2天,2天后才能登陆 
Sql代码 
  1. SQL> alter user scott profile lock_account;  


把profile文件删除 
Sql代码 
  1. SQL> drop profile profilename cascade  


表管理 
char 与varchar2的区别 
char定长 varchar2不定长.char查询效率快浪费硬盘空间,varchar2查询慢节省空间 

存图片使用blob数据类型 

向表里面添加一个字段 
Sql代码 
  1. SQL> alter table tablename add(columnName varchar2(10));  


修改字段长度 
Sql代码 
  1. SQL> alter table tablename modify(columnName varchar2(30));  


修改字段的类型或名字(在这列没有数据的情况下才能修改) 
Sql代码 
  1. SQL> alter table tablename modify(columnName varchar2(20));  



删除一个字段
 
Sql代码 
  1. SQL> alter table tablename drop column columnName;  


修改表名 
Sql代码 
  1. SQL> rename tablename to newtablename;  


Oracle中默认的时间格式是dd-mm-yyyy,而且插入时间mm必须带一个"月",也就是说insert into test(testTime) 
values('01-5月-09'); 
可以使用nls_date_format来改变Oracle默认的日期格式
 
Sql代码 
  1. SQL> alter session set nls_date_format='yyyy-mm-dd' set timing on;  


设置查询时间点 
Sql代码 
  1. set timing on;  



nvl()函数 
nvl(num,0)
 
Sql代码 
  1. 如果num为空,那么把0赋值给num  



%表示任意字符 
_表示一个字符
 

查询比deptno=30所有人工资都高的人 
Sql代码 
  1. SQL> select * from emp where sal> all(select sal from emp where deptno=30)  


查询比deptno=30任何人工资都高的人 
Sql代码 
  1. SQL> select * from emp where sal> any(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值