ORACLE常用命令

--删除用户
drop user yaic cascade;
--删除表空间
drop tablespace BKDB including contents and datafiles;
--直接删除了表空间文件,未从数据库删除记录时的解决办法是。将该文件离线不加载。
alter database datafile 'D:\ORACLE\ORADATA\FLOW\GGSC\SYSCOM.ORA' offline dro

--指定用户对表空间的操作权限
revoke unlimited tablespace from yaic;
alter user yaic quota 0 on users;
alter user yaic quota unlimited on tablespace_yaic;


--创建表空间
create tablespace tablespace_v6
logging
datafile 'c:\oracle_tablespace\tablespace_v6.dbf'
size 32m --初始大小
autoextend on --自增长
next 32m maxsize 2048m --下一个片区大小,最大大小(可忽略)
extent management local;
--创建用户
create user pcisv6 identified by pcisv6
default tablespace tablespace_v6
--给用户授权
grant connect,resource to pcisv6;
--导出数据
exp pcisv6_gz/pcisv6_gz@YAIC file=c:\corev6.dmp log=c:\exp.log
--导入数据
imp pcisv6/pcisv6@ORCL file=c:\corev6.dmp log=c:\imp.log fromuser=pcisv6_gz touser=pcisv6

--查看表空间位置
select * from dba_data_files;

select owner,segment_name, segment_type from dba_segments where tablespace_name = 'TABLESPACE_V6';
select 'drop '||segment_type||' '||owner||'.'||segment_name ||' ;' from dba_segments where tablespace_name = 'TABLESPACE_V6';

select distinct owner,segment_name, segment_type from dba_extents where tablespace_name='TABLESPACE_V6';
select 'drop '||segment_type||' '||owner||'.'||segment_name ||' ;' from dba_extents where tablespace_name='TABLESPACE_V6';

--禁用主外键
select 'ALTER TABLE '||TABLE_NAME||' DISABLE CONSTRAINT '||constraint_name||' '||';' as v_sql from user_constraints where CONSTRAINT_TYPE='R';
--启用主外键
select 'ALTER TABLE '||TABLE_NAME||' ENABLE CONSTRAINT '||constraint_name||' '||';' as v_sql from user_constraints where CONSTRAINT_TYPE='R'

--查看某一角色所拥有的权限
select * from dba_sys_privs where grantee='RESOURCE';
--查看一个用户的所有系统权限(包含角色的系统权限)
select privilege
from dba_sys_privs
where grantee = 'VHL_V6'
union
select privilege
from dba_sys_privs
where grantee in
(select granted_role from dba_role_privs where grantee = 'VHL_V6');

--删除用户权限
revoke connect from user01;
revoke resource from user01;
revoke dba from user01;
--给用户最基本的权限
grant create session to user01;--连接数据库权限
grant select any table to user01;
grant insert any table to user01;
grant update any table to user01;
grant delete any table to user01;
grant Execute any procedure to user01;--执行存过权限

--把对IT_EMPLOYEES表和JOBS表的全部操作权限授予用户User2和User3。
GRANT ALL PRIVILEGES
ON TABLE IT_EMPLOYEES,JOBS
TO User2,User3;

把对IT_EMPLOYEES表和JOBS表的全部操作权限授予用户User2和User3。
GRANT ALL PRIVILEGES
ON TABLE IT_EMPLOYEES,JOBS
TO User2,User3;

--把对表DEPARTMENT的INSERT权限授予User5用户,并允许将此权限再授予其他用户。
GRANT INSERT
ON TABLE DEPARTMENT
TO User5 WITH GRANT OPTION;

--DBA把在数据库DB_EMPLOYEES 中建立表的权限授予用户User8。
GRANT CREATETAB
ON DATABASE DB_EMPLOYEES
TO User8;

--把用户User4修改雇员编号的权限收回:
REVOKE UPDATE(EMPLOYEE_ID)
ON TABLE IT_EMPLOYEES
FROM User4;

--收回所有用户对表DEPARTMENT的查询权限:
REVOKE SELECT
ON TABLE DEPARTMENT
FROM PUBLIC;

-- 回收unlimited tablespace权限
revoke unlimited tablespace from 用户名;
alter user 用户名 quota unlimited on 表空间名

--修改密码,需要使用超级管理员进入
ALTER USER test IDENTIFIED BY hello ;

--锁住用户
ALTER USER test ACCOUNT LOCK;(UNLOCK 解锁)

--创建索引
CREATE INDEX IDX_APPPAY_RCPTNO ON WEB_APP_PAY (
C_RECPT_NO ASC
);

CREATE INDEX IDX_PLYPAY_RCPTNO ON WEB_PLY_PAY (
C_RECPT_NO ASC
);


--拷贝表结构及数据
create table web_app_base_bak as (select * from web_app_base);


--创建sequence
create sequence SEQ_RCPTNO
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
nocache;
CREATE SEQUENCE sequence
[INCREMENT BY n][STARTWITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE n|NOCACHE}] ;
--使用sequence
select to_char(SEQ_RCPTNO.NEXTVAL,'000000000000009') from dual;


--查找索引
select * from user_indexes where index_name = 'PK_PLY_UNDROPN'


--加字段
alter table web_app_base add coloum c_app_no_bak varchar(30);
--修改字段类型
alter table web_app_base modify coloum c_app_no_bak number(30,2);
--删除字段
alter table web_app_base drop coumoum c_app_no_bak;
--增加主键
alter table 表名 add constraint 主键约束名 primary key (字段名);
--增加外键
alter table 表名1 add constraint foreign 外键约束名 references 表名2(字段名);--会新建一个跟“外键约束名”一样的字段


--使用TRUNCATE语句删除IT_EMPLOYEES表中所有的记录:TRUNCATE不写redo日志,delete语句写,所以TRUNCATE删除要快很多
truncate table it_employees;


--创建只读视图
create or replace view myview as (
select g.grade_nme,e.employee_nme from grade g,employee1 e where g.grade_no=e.grade_no
)
WITH read only;


--创建dblink
修改可以用以下语句来修改参数值:
ALTER SYSTEM SET GLOBAL_NAME=TRUE/FALSE;
当数据库参数global_name=false时,就不要求数据库链接名称跟远端数据库名称一样。

create public database link myLink
connect to yaic identified by yaic
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.48.1.33)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = corev6)
)
)';

drop PUBLIC DATABASE LINK myLink;
select * from web_prd_prod@myLink;

--创建触发器
把与表TEACHERS有关的所有触发事件都放在触发器my_trigger1中。
CREATE TRIGGER my_trigger1
AFTER INSERT or UPDATE or DELETE on TEACHERS
FOR each row;
DECLARE
info CHAR(10);
BEGIN
IF inserting THEN --如果进行插入操作
info:='INSERT';
ELSIF updating THEN --如果进行修改操作
info:='Update';
ELSE --如果进行删除操作
info:='Delete';
END IF;
INSERT INTO SQL_INFO VALUES(info); --记录这次操作信息
END my_trigger1;

--向表空间test中增加两个大小为10MB的数据文件。
ALTER TABLESPACE test
add datafile 'E:\oracle\oradata\test02.dbf' size 10M,
'E:\oracle\oradata\test03.dbf' size 10M ;


--查询操作时间 和操作类型
select versions_starttime,versions_operation,c_app_no,c_app_typ
from web_app_base versions between timestamp minvalue and maxvalue;

--查询具有dba权限的用户
Select USERNAME, USER_ID,PASSWORD from DBA_USERS where username = 'KING01';
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值