详细内容
Oracle基础
发布日期:2011-12-19     点击:3025     字体:[ ]
1.desc table_name 可以查询表的结构
2.怎么获取有哪些用户在使用数据库 
select username from v$session;
3.如何在Oracle服务器上通过SQLPLUS查看本机IP地址 ? 
select sys_context('userenv','ip_address') from dual; 
如果是登陆本机数据库,只能返回127.0.0.1
4.如何给表、列加注释?
SQL>comment on table 表 is '表注释';
注释已创建
SQL>comment on column 表.列 is '列注释';
注释已创建。 
SQL> select * from user_tab_comments where comments is not null; 
5.如何在ORACLE中取毫秒?
select systimestamp from dual; 
6.如何在字符串里加回车? 
添加一个||chr(10)
select 'Welcome to visit'||chr(10)||'www.zdbase.com' from dual ;
7.怎样修改oracel数据库的默认日期?
alter session set nls_date_format='yyyymmddhh24miss';
8.怎么可以看到数据库有多少个tablespace? 
select * from dba_tablespaces;
9.如何显示当前连接用户? 
SHOW USER
10.如何测试SQL语句执行所用的时间? 
SQL>set timing on ;
11.怎么把select出来的结果导到一个文本文件中?
SQL>SPOOL F:\ABCD.TXT; 
SQL>select * from table;
SQL >spool off;
12.如何在sqlplus下改变字段大小?
alter table table_name modify (field_name varchar2(100));
改大行,改小不行(除非都是空的)
13.如果修改表名?
alter table old_table_name rename to new_table_name;
14.如何搜索出前N条记录? (desc降序)
SELECT * FROM Tablename WHERE ROWNUM < n 
ORDER BY column;
15. 如何在给现有的日期加上2年?
select add_months(sysdate,24) from dual;
16.Connect string是指什么? 
应该是tnsnames.ora中的服务名后面的内容
17.返回大于等于N的最小整数值?
SELECT CEIL(-10.102) FROM DUAL;
18.返回小于等于N的最大整数值? 
SELECT FLOOR(2.3) FROM DUAL;
19.返回行的物理地址 
SELECT ROWID, ename FROM tablename WHERE deptno = 20 ;
20.将N秒转换为时分秒格式? 
set serverout on 
declare 
N number := 1000000; 
ret varchar2(100); 
begin 
ret := trunc(n/3600) || '小时' || to_char(to_date(mod(n,3600),'sssss'),'fmmi"分"ss"秒"'); 
dbms_output.put_line(ret); 
end;
21.如何监控当前数据库谁在运行什么SQL语句? 
SELECT osuser, username, sql_text from v$session a, v$sqltext b 
where a.sql_address =b.address order by address, piece;
22.如何知道当前用户的ID号? 
SQL>SHOW USER; 
OR 
SQL>select user from dual;
23.如何知道使用CPU多的用户session? 
11是cpu used by this session
select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value 
from v$session a,v$process b,v$sesstat c 
where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc;
24.Oracle建立表空间和用户
建立表空间和用户的步骤:
用户
建立:create user 用户名 identified by "密码";
授权:grant create session to 用户名;
            grant create table to 用户名;
            grant create tablespace to 用户名;
            grant create view to 用户名;
表空间
建立表空间(一般建N个存数据的表空间和一个索引空间):
create tablespace 表空间名
datafile ' 路径(要先建好路径)\***.dbf ' size *M
tempfile ' 路径\***.dbf ' size *M
autoextend on --自动增长
--还有一些定义大小的命令,看需要
default storage(
initial 100K,
next 100k,
);
用户权限
授予用户使用表空间的权限:
alter user 用户名 quota unlimited on 表空间;
或 alter user 用户名 quota *M on 表空间;
create tablespace zq datafile 'D:\zq\zw.dbf' SIZE 1000M AUTOALLOCATE;
修改用户的默认表空间 
alter user username default tablespace tablespacename;
25.在sqlplus 中清屏命令:clear src   clear   screen; cl   scr;
怎样用语句查询表空间里面表的内容?
select table_name from all_tables where tablespace_name='zq';
select   table_name   from   user_tables   where   tablespace_name='xx'    
26.如何查询表在哪个表空间中?(单引号里面的要大写)
SELECT tablespace_name FROM USER_TABLES WHERE table_name = 'YOUR_TABLENAME'
查一下,这个表是哪个用户下的,如果是本用户则可以用上面的sql
如果是别的用户的表你就用
SELECT tablespace_name FROM DBA_TABLES WHERE table_name = 'YOUR_TABLENAME'   and owner='表的OWNER'
还有你要确定你查的确实是一个表而不是 view 或 SYNONYM
而且在引号里面的表名和owner都要用大写字母
27.表的创建
create table aa 
(a varchar2(10),
b number(8,2),
c date
) tablespace users;
如果在创建用户时没有指定默认表空间,系统默认表空间为System,在创建表时必须指定tablespace;
28.如何查询一个表空间下的所有表(单引号里面的要大写)
select table_name from user_tables where tablespace_name='表空间名';
29.更改计算机名后会出现Oracle ORA-12541:TNS:no listener错误解决方法
D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
修改为现在的计算机名,再次启动OracleOraHome90TNSListener服务成功
30.创建表时默认表空间是SYSAUX
31.oracle10g em Database Control的启动问题修复 
打开http://localhost:1158/em/ 显示数据库状态没有启动,提示用户登录错误ORA-28000: the account is locked,使用PL/SQL或SQL*plus
连接是正常的。到网上搜索一番,没有找到确切的原因。其中一个可能的原因是用户DBSNMP的密码和sys用户的密码不一致,导致
OracleDBConsoleSID服务错误,网上很多朋友说使用emca(EM Configuration Assistant)工具进行修复。
在命令行里键入下面两个命令就可以修复数据库的em
emca -repos recreate
emca -config dbcontrol db
        另外,网上很多朋友给出“emca -r”这样的命令,我试了之后发现10g版本的命令格式已经有所变化,具体的命令格式可以通过命令
的帮助获得。在命令行中键入
emca help=y
可以查看详细的命令格式。
常用的命令语法:
emca -repos create创建一个EM资料库
emca -repos recreate重建一个EM资料库
emca -repos drop删除一个EM资料库
emca -config dbcontrol db配置数据库的 Database Control
emca -deconfig dbcontrol db删除数据库的 Database Control配置
emca -reconfig ports 重新配置db control的端口,默认端口在1158
emctl start console启动EM console服务,使用前需要先设置ORACLE_SID环境变量
emctl stop console停止EM console服务,使用前需要先设置ORACLE_SID环境变量
32.解决启动Oracle9i的OEM或OMS的常见问题(VTK-1000)
能否正常启动OEM或OMS关键有以下两点:
    第一.Oracle的系统服务是否开启;
    第二.登录时用的用户名和口令是否正确。
    那么先针对第一点谈谈Oracle的系统服务。在完全安装的情况下,Oracle的系统服务共有11项:
    1.Oracle OLAP 9.0.1.0.1
    2.Oracle OLAP Agent
    3.OracleOraHome90Agent
    4.OracleOraHome90ClientCache
    5.OracleOraHome90HTTPServer
    6.OracleOraHome90ManagementServer(0.5M)
    7.OracleOraHome90PagingServer
   
用户评论
昵称 
内容  *
验证码   
   
Copyright © 2010 zdbase.com All Rights Reserved. 苏ICP备15039389号 可人软件设计