查看当前用户的角色
SQL>select * from user_role_privs;
查看当前用户的系统权限和表级权限
SQL>select * from user_sys_privs;
SQL>select * from user_tab_privs;
查看当前用户的缺省表空间
SQL>select username,default_tablespace from user_users;
换用户
conn as sysdba
sys
tsinghua
sqlplus "sys/tsinghua as sysdba"
conn sys/zl as sysdba
修改表结构
alter table test modify(name not null);
alter table test add(name varchar2(20));
alter table test drop column sex;
alter table test set unused column sex;
alter table test drop unused columns;
更改用户密码
sql>alter user 管理员identified by 密码;
创建表空间的数据文件
sql>create tablespace test datafile 'd:\oracle\binbo.dbf' size 10m;
创建用户
sql>create user 用户名identified by 用户名;
bfile 类型实例
创建目录
create directory tnpdir as 'c:\';
删除目录
drop directory tnpdir
授权
crant read on directory tn pdir to scott;
建表
create table bfiletest(id number(3), fname bfile);
添加数据
insert into bfiletest values(1,bfilename('TMPDIR','tmptest.java'));
查看用户
sql>show user
检查语句是否有错
show error
锁定用户
sql>alter user 用户名account lock
解除用户
sql>alter user 用户名account unlock
删除用户
sql>drop user zl;
给用户创建表权限
sql>grant create table to 用户名;
授管理员权限
sql>grant dba to 用户名;
给用户登录权限
sql>grant connect to 用户名
给用户无限表空间权限
sql>grant unlinmited tablespace to 用户名;
收回权限
sql>revoke dba from 用户名;
查看用户下所有的表
SQL>select * from user_tables;
查看名称包含log 字符的表
SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0;
查看某表的创建时间
SQL>select object_name,created from user_objects where object_name=upper('&table_name');
查看某表的大小
SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');
查看放在ORACLE 的内存区里的表
SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;
再添加一个表空间的数据文件
sql>alter tablespace test add datafile 'd:\oracle\test1.dbf' size 10m;
建表SQL>create table studen(stuno int,stuname varchar(8) not null,stubirth date default
to_date('1987-5-9','YYYY-MM-DD'));
向表结构中加入一列SQL>alter table studen add(stuphoto varchar(9));
从表结构中删除一列SQL>alter table studen drop column stuphoto;
修改表一列的长度SQL>alter table studen modify(stuno number(4));
隐藏将要删除的一列SQL>alter table studen set unused column stuphoto;
删除隐藏的列SQL>alter table studen drop unused columns;
向表中加入约束SQL>alter table studen add constraint pk primary key(stuno);
删除约束SQL>alter table studen drop constraint pk;
创建表
sql>create table 用户名(name varchar2(20),password varchar(20)) tablespace 空间名;
添加字段
sql>alter table test add(column_x char(10) not null);
更改字段
sql>alter table emp modify(column_x char (20));
删除字段
如待删除域属于某个索引,则不允许删除操作,必须将此域先设置为NULL。
sql>alter table emp modify(column_x null);
sql>update emp set column_x=null;
sql>commit;
sql>alter table emp drop(column_x);
选择表空间
sql>alter user 用户名default tablespace test;
管理员删除别的用户中的表
sql>drop table 用户名.表名;
退出
sql>exit;
默认进入
sql>sqlplus "/ as sysdba"
查看数据库
sql>show parameter block;
写大量语句用记事本,新建方式。
输入"ed"回车
保存后
输入"/"运行;
查询用户有多少表
sql>select * from tab;
SQLServer 取时间
sql>select getdate
oracle 取时间
sql>sysdate;
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
修改数据库为修改归档模式为打开
SQL> alter database archivelog;
数据库已更改。
alter database open;
查看数据库当前自动存档状态
SQL> archive log list;
数据库日志模式 存档模式
自动存档 禁用
存档终点 d:\oracle\ora92\RDBMS
最早的概要日志序列 1
下一个存档日志序列 2
当前日志序列 2
SQL> alter system set log_archive_dest=true scope=spfile;
系统已更改。
首先你要明确一个概念,oracle数据库启动分三个步骤
nomount
mount
open
startup是数据库从开始阶段的启动,需要经过上述三个步骤
alter database open是数据库处于mount状态,从mount状态打开数据库的命令
SQL> alter database open;
数据库已更改。
SQL> spool off
查看alterSID.log位置
SQL> SHOW PARAMETER background_dump_dest
原创文章请注明转载自技术小站本文地址:http://www.i5i6.net/post/4.html,标题:Oracle常用命令(1)