Oracle必备命令

Oracle默认三个用户:

sys change_on_install [as sysdba] // 网络管理员,拥有最大权限 本机sys密码:hezhaoxiang
system manager //本地管理员用户
scott tiger //普通用户

----------------------------------------------------------------------------------

在命令窗口启动监听和实例:

lsnrctl start
oradim -start -sid orcl

关闭监听:

lsnrctl stop

登录到SYS用户:

启动SQLPLUS:

sqlplus /nolog 或者/sqlplusw / nolog

sqlplus / as sysdba

用SYS创建用户:

sqlplus / as sysdba

create user hzx identified by hzx;//新建用户hzx,密码hzx

--------------------------------------------------------------------------------

用户加锁:

alter user 用户名 account lock;

用户解锁:

alter user 用户名 account unlock;

用户口令立即失效:

alter user 用户名 password expire;

---------------------------------------------------------------------------------

删除用户:

drop user 用户名 cascade;

登录到hzx用户:

sqlplus hzx/hzx (这里后面不要加分号;)

断开连接:

disconn

重新连接:

conn hzx/hzx

----------------------------------------------------------------------------------------

给用户授权:

授予系统权限(用户SYS用户给其他用户授予系统权限):

grant create session to hzx;//授予用户登录的权限
grant create table to hzx; //授予用户创建表的权限
grant unlimited tablespace to hzx;//授予无限制的表空间权限,用户hzx可以创建使用表了

对于开发人员授予以下权限就可以了:

grant connect,resource to user_name;

授予对象权限(用于拥有对象的用户给其他用户授予权限):

grant select on test to test; // 授予test用户查询表的权限
grant all on test to test; //授予test用户对test表的所有操作权限

grant update(列名) on test to test;//只授予test用户更新test表中一列的权限
grant insert into(列名) on test to test;

注意:查询和删除不能控制到列


不管系统权限还是对象权限,使用下列语句可以给所有用户授予权限:

grant 权限 to public;

如:grant create any table to public; //授予所有用户创建任何表的权限

撤销权限:

revoke create session from hzx;
revoke create table from hzx; //撤销用户创建表的权限
revoke unlimited tablespace from hzx;

revoke select on test from test;
revoke all on test from test; //对象权限的撤销权限

创建表:

create table test (id int(10));

commit;//提交事务。相当于保存

查看用户权限的数据字典:

select * from user_sys_privs; //查看当前用户拥有哪些系统权限

select * from user_tab_privs; //查看当前用户拥有哪些对象权限

select * from user_col_privs; //查看当前用户拥有的列操作权限


权限传递:

grant 权限 to 用户 with admin option;//系统权限的权限传递

grant 权限 to 用户 with grant option;//对象权限的权限传递

Oracle 9i 和10g对于权限传递有所不同,具体运用在操作中体会。


------------------------------------------------------------------------------------

角色——权限的简单集合:

创建角色:

create role myrole;

grant create session to myrole;
grant create table to myrole;

// create user zhangsan identified by zhangsan;

授予角色://注意:有些权限不能授予角色,如 grant unlimited tablespace to myrole;是错的

grant myrole to zhangsan;

删除角色:

drop role myrole;

表属于某一个用户、角色不属于人一个用户

create table create any table

[alter table] alter any table

[drop table] drop any table

设置行的宽度:

set linesize 400;(这里可以调命令行的窗口的宽度)

---------------------------------------------------------------------------------------------

使用管理员身份修改普通用户密码:

alter user scott identified by tiger;


数据库的三种验证机制:

操作系统验证

密码文件验证

数据库验证

linux/Unix下启动Oracle的过程:

lsnrctl start //启动监听

//新版9i之后的写法 sqlplus / as sysdba //密码验证

sqlplus /nolog

conn sys/hezhaoxiang as sysdba

startup //启动实例


windows下启动Oracle的过程:

lsnrctl start

oradim -start -sid orcl


Oracle 修改SYS密码:

找到文件
E:\oracle\product\10.2.0\db_1\database\PWDorcl.ora

在命令窗口下用一下命令生成密码文件:

orapwd file=E:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=hezhaoxiang entries=10;


select * from v$pwfile_users;//查看系统用户



scott hezhaoxiang/tiger@orcl

查看用户有什么表:

select table_name from user_tables;

查找所有用户:

select username from all_users;

select * from dba_users;

查看Oracle系统版本:

select * from v$version;

查看用户表:

select table_name from user_tables;

删除实例:(可以查看oradim 命令)

oradim -delete -sid sidname

Oracle 的退出:

{EXIT|QUIT} [SUCCESS|FAILURE|WARNING ]

{EXIT|QUIT} 可以用exit 或quit ,目前它们的功能一样。

SUCCESS 正常退出

FAILURE 带提示错误代码的退出

WARNING 带提示警告代码的退出

COMMIT 退出前将未提交进行保存

创建表:

create table table_name (id int not null primary key,name varchar2(20));

创建序列:

create sequence mysq increment by 1 start with 1;

insert into table_name values(mysq.nextval,'zhsan');

设置事务是否自动提交:

show autocommit

set autocommit on/off


help index 显示帮助
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值