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 显示帮助
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 显示帮助