Oracle数据库常用的脚本命令(一)
--连接数据库的命令connect,用于切换连接用户,简写形式conn
--语法格式:conn 用户名/密码
conn yanln/yanln
--显示当前登录的用户
show user
--执行操作系统的命令
host mkdir d:\testOracle
--导出记录到文本
spool d:\testOracle\test.txt
select * from book;
spool off
--清屏
clear screen
--执行文件系统中的sql语句
start d:\test.sql
--显示表结构,命令describe,简写形式desc
desc student
--显示错误信息
show error
--退出
exit
cmd-->sqlplus-->提示输入用户名、密码的登录方式
sqlplus /nolog : 进入sqlplus界面但不登录
--sys用户以sysdba的身份连接数据库,连接时指定数据库连接标识符@orcl
conn sys/oracle @orcl as sysdba
--sys用户以sysdba的身份连接数据库,连接时没有指定数据库连接标识符,此时将连接默认的数据库
conn sys/oracle as sysdba
show user
--system用户直接登录数据库
conn system/oracle
show user
--system用户以sysdba的身份登录数据库
conn system/oracle as sysdba
show user
--创建默认表空间
create tablespace test1_tablespace datafile 'test1file.dbf' size 10m;
--创建临时表空间
create temporary tablespace temptest1_tablespace tempfile 'tempfile1.dbf' size 10m;
--查看表空间数据文件的位置
select file_name from dba_data_files where tablespace_name = 'TEST1_TABLESPACE';
--查看临时表空间数据文件的位置
select file_name from dba_temp_files where tablespace_name = 'TEMPTEST1_TABLESPACE';
--创建用户
create user yan identified by test default tablespace test1_tablespace temporary tablespace temptest1_tablespace;
--查看创建的用户
select username from dba_users;
--给刚创建的用户授权
grant connect to yan;
--如果想更改用户的密码,我们可以通过
alter user yan identified by t123;
--如果管理员不希望某用户登录, 但又不打算删除某用户,可以将此用户锁定
alter user yan account lock;
--如果这个用户不用了,想删除这个用户,可以用drop
drop user yan cascade;
--创建用户user02
create user user02 identified by pass02;
--创建角色
create role manager;
--给角色赋予创建表、创建视图的权限
grant create table, create view to manager;
--给角色manager授权给用户
grant manager to user02;
--回收权限
revoke manager from user02;
--删除权限
drop role manager;
--查看所有系统权限
select * from system_privilege_map;
--创建用户
create user user02 identified by pass02;
--给用户赋予一个创建会话的权限
grant create session to user01;
--通过角色给用户赋予一个系统权限
create role manager;
grant create table, create sequence to manager;
grant manager to user01;
--查看所有对象权限
select * from table_privilege_map;
--通过角色给用户赋予一个对象权限
create role manager01;
grant select,update,insert on scott.emp to manager01;
grant manager01 to user01;
--测试对象权限
conn user01/pass01
select * from scott.emp;(成功)
select * from scott.dept;(失败)
--回收对象权限
revoke select,update,insert on scott.emp from manager01;
--查看管理员级别的表空间描述信息
select tablespace_name from dba_tablespaces;
--查看普通用户级别的表空间描述信息
select tablespace_name from user_tablespaces;
--dba_users针对管理员级别的数据字典,用于查看数据库所有用户的用户信息
select username,default_tablespace,temporary_tablespace from dba_users;
--user_users针对普通用户级别的数据字典,用于查看当前登录用户的用户信息
select username,default_tablespace,temporary_tablespace from user_users;
--设置用户默认和临时表空间
alter user user01
default tablespace TEST1_TABLESPACE
temporary tablespace TEMPTEST1_TABLESPACE;
-更改表空间的状态为脱机状态
alter tablespace test1_tablespace offline;
--更改表空间的状态为联机状态
alter tablespace test1_tablespace online;
--更改表空间的状态为只读状态
alter tablespace test1_tablespace read only;
--更改表空间的状态为可读写状态
alter tablespace test1_tablespace read write;
--查看表空间的状态
select status from dba_tablespaces where tablespace_name = 'TEST1_TABLESPACE';
--增加数据文件
alter tablespace test1_tablespace add datafile 'test2_file.dbf' size 10m;
--查看表空间的数据文件
select file_name from dba_data_files where tablespace_name='TEST1_TABLESPACE';
--删除数据文件
alter tablespace test1_tablespace drop datafile 'test2_file.dbf';
--删除表空间
drop tablespace test1_tablespace including contents;