欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle数据库常用的脚本命令(一)

程序员文章站 2022-05-15 14:21:47
--连接数据库的命令connect,用于切换连接用户,简写形式conn--语法格式:conn 用户名/密码conn yanln/yanln --显示当前登录的用户show user --执行操作系统的命令host mkdir d:\testOracle --导出记录到文本spool d:\testO ......

--连接数据库的命令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;