Oracle数据库简单操作你会了吗?

4 篇文章 0 订阅
2 篇文章 0 订阅

1.登录到linux,查看oracle中是否有实例启动了:

ps -ef | grep smon

切换到oracle用户权限(输入exit退出)

 su – oracle

检查看看监听器是否有启动

 lsnrctl status

如果没有启动,可以输入:

 lsnrctl start

接着请输入

 sqlplus "/as sysdba"

原本的画面会变为(输入exit退出)

SQL>

启动数据库

SQL>  startup

 

查看oracle版本

select * from v$version; 或 select banner from sys.v_$version;

查看当前数据库名

select name from v$database; 或 show parameter db;

查看当前数据库实例名

select instance_name from v$instance; 或 show parameter instance;

查看数据库域名

select * from v$parameter where name = 'db_domain'; 或 show parameter domain;

查询数据库服务名

show parameter service_name;

 

查询所有表空间位置

select name from v$datafile;

 

 查看所有的表空间 

   select *(tablespace_name) from dba_tablespaces;

   或者select *(name) from v$tablespace;

 

查看用户所属的表空间 */ 用户名大写

   select default_tablespace from dba_users where username=' SYSTEM';

查看表空间下有多少用户,tablespace_name表空间 的名字一定要大写 

   select distinct  s.owner  from  dba_segments s where s.tablespace_name ='SYSTEM';

 

创建用户表空间test,指定已存在空间可以跳过

CREATE TABLESPACE test datafile 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\testNS.dbf'

size 600M autoextend on next 50m maxsize unlimited;

---------unlimited是没限制增加,可以换成 2048m extent management local;

 

创建用户test和密码test,并指定表空间test

CREATE USER test IDENTIFIED BY test DEFAULT TABLESPACE test;

修改密码

alert user test identified by 123;// 修改密码

 

给用户test赋予权限,新建的用户没有任何权限,必须授予权限

grant connect,resource,dba to test;给用户授予基础开发权限dba(最高操作库权限)

 

删除用户和该用户下所有表

drop user test cascade;

 

随后可以用PLSql登陆test用户了

查询当前用户所有表

SELECT * FROM USER_TABLES;

plsql导入导出sql文件

PLsql导出表结构tools-->export user objects-->选中user中对应的用户,导出选sql文件

(导出时User下左侧Privileges,Storage和Owner都不选,导出的sql文件没有teblespace和表所属用户)

PLsql导出表数据tools-->export tables-->选中SQL Inserts,导出sql文件

 

PLsql导入sql Import Tables-->sql inserts-->import file--->点击import按钮

 

给已创建的表添加3个字段

alter table user
add (name varchar2(30) default ‘无名氏’ not null,

age integer default 22 not null,

has_money number(9,2)

);

 

查询oracle的字符集

select * from v$nls_parameters t where t.PARAMETER='NLS_CHARACTERSET';

字符集ZHS16GBK:汉字占2个字节

字符集AL32UTF8:汉字占3个字节

 

修改表字段的字节大小
alter table 表名 modify  表字段 varchar2(1024);

COMMIT;

 

修改字段类型从varchar2改为clob,读取大字段内容,不能直接alter,需要做几部操作

--表 t_test 的字段 bb 由 varchar2 类型改为 clob 类型
alter table t_test add aa clob;
--将需要改成大字段的项内容copy到大字段中
update t_test set aa=bb;
--删除原有字段
alter table t_test drop column bb;
--将大字段名改成原字段名
alter table t_test rename column aa to bb;
COMMIT;

反过来 clob 改为 varchar2 则不能用上方法,需要删除 clob 字段,再建立 varchar2 类型字段即可

----------------------------------------------------------------华丽的分割线---------------------------------------------------------------------

Oracle默认用户

Oracle安装好时已经创建提供了许多用户

sys;//系统管理员,拥有最高权限 角色:dba 这个用户是活的,即可以直接使用(其他用户需要解锁使用)

system;//本地管理员,次高权限

scott;//普通用户,密码默认为tiger,默认未解锁

解锁其他普通用户,并设置密码

alter user scott account unlock; alter user scott identified by 1234;

Oracle登陆

sqlplus / as sysdba;// 登陆sys帐户

sqlplus sys as sysdba;// 同上

sqlplus test/test;// 登陆普通用户test

显示当前用户名 show user;

查询表结构desc test;

查看权限

select * from user_sys_privs;//查看当前用户所有权限

select * from user_tab_privs;//查看所用用户对表的权限

撤销权限

基本语法同grant,关键字为revoke

角色

角色即权限的集合,可以把一个角色授予给用户

create role onerole;//创建角色

grant create connect to onerole;//将创建session的权限授予myrole

grant onerole to test;//授予test用户onerole的角色

drop role onerole;删除角色

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值