oracle创建数据库、表空间、用户、赋权限等基本操作

上传人:博****1 文档编号:552254786 上传时间:2023-04-12 格式:DOCX 页数:7 大小:15.94KB
返回 下载 相关 举报
oracle创建数据库、表空间、用户、赋权限等基本操作_第1页
第1页 / 共7页
oracle创建数据库、表空间、用户、赋权限等基本操作_第2页
第2页 / 共7页
oracle创建数据库、表空间、用户、赋权限等基本操作_第3页
第3页 / 共7页
oracle创建数据库、表空间、用户、赋权限等基本操作_第4页
第4页 / 共7页
oracle创建数据库、表空间、用户、赋权限等基本操作_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《oracle创建数据库、表空间、用户、赋权限等基本操作》由会员分享,可在线阅读,更多相关《oracle创建数据库、表空间、用户、赋权限等基本操作(7页珍藏版)》请在金锄头文库上搜索。

1、/etc/init.d/init.crs startcrs_stat -t增加表字段altertable ICC_TERMINAL_CONF add GC_TYPE char(1);SELECT T.GI_SERIAL_NUM,(MAX(T.GROW_WEIGHT )-MIN(T.VEHICLE_WEIGHT) ABCFROM ICC_GI_TRANS T WHERE T.GI_SERIAL_NUM=000001GROUPBY T.GI_SERIAL_NUM1. 查看被锁的表SELECT p.spid, a.serial#, c.object_ name, b.sessi on_id, b.o

2、racle_user name, b.os_user_ nameFROM v$process p, v$sessi on a, v$locked_object b, all_objects cWHERE p.addr = a.paddr AND a.process = b.processAND c.object_id = b.object_id查看锁表进程SQL语句2:select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;杀掉锁表进程:如有記錄則表示有lock,記錄下SID和serial#,將記錄

3、的ID替換下面的738,1429,即可解除 LOCKalter system kill session 738,1429;修改字段长度altertable ICC_GC_TRANS modify SOURCE_CODE char(9);查表结构selectCOLUMN_NAME,DATA_TYPEfromUSER_TAB_COLSwhereTABLE_NAME=ICC_DC_TRANS select * from user_tables;查表表结构select column_name,data_type ,data_length,data_precision,data_scale from u

4、ser_tab_columns where table_name=ICC_GI_TRANS oracle 启动sqlplus /as sysdba startupshutdown immediatelsnrctl start oracle 服务端监听文件配置/opt/oracle/10gR2/db/network/admin/listener.oralistener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)(ADDRESS = (PROTOCOL =

5、TCP)(HOST = 192.168.0.148)(PORT = 1521) )SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=zhangrui) (ORACLE_HOME=/home/oracle/app/oracle/product/11.1.0/db_1) (SID_NAME=orcl)oracle 客户端连接配置/opt/oracle/10gR2/db/network/admin/tnsnames.oraZHANGRUI =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192

6、.168.0.148)(PORT = 1521) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = zhangrui)sqlnet.ora 配置文件/sqlnet.ora/NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)CREATESEQUENCE zrseq INCREMENTBY1STARTWITH1N0MAXVALUEN0CYCLEN0CACHE系统权限grant create session to test;grant create table to test;grant unlimited ta

7、blespace to test;grant create sequence to zhangruirevoke create session from test;revoke create table from test;revoke unlimited tablespase from test;grant create session to public; /表示把创建表的权限赋予所有人 select * from user_sys_privs; /返回当前用户的所有系统权限oracle 创建 create user 及授权 grant 查看登陆的用户:以下都可以:show user;se

8、lect sys_context(userenv,session_user) from dual;select user from dual;查看所有登录的用户必须为 DBA 用户:select username from v$session;sys、system等DBA用户查看其他用户(test)中的对象(表):SQL select * from test.student;创建一个普通用户都把该用户用起来的流程:1、创建用户SQLcreateuseroracleidentifiedby oracle;这样就创建了一个用户名密码都为test的用户但这个时候test还是不能登陆成功的,我们需要赋

9、予相应的权限2、赋予create session的权限SQLgrant create session to test;这样test用户就能成功登陆进去 但是此时用户还是不能创建表我们需要赋予用户创建表的权限:SQLgrant create table to test;但是用户此时还不能创建表因为需要有使用表空间的权限(相当于用户有了进房间的钥匙但 是没有进大门的钥匙。)所以也应该赋予相应的权限SQLgrant unlimited tablespace to test;这个时候用户就拥有了创建表的权限由于表是用户 test 的相应的他就拥有了对创建的表的 增删查改的权限了3、查看用户拥有什么权限

10、可以通过查询一个系统的视图(数字字典)SQLselect * from user_sys_privs; 这样就可以知道当前用户的权限4、撤销权限SQL revoke create table from test;一些常用视图的区分dba_tables dba_all_tables user_tables user_all_tables all_tables all_all_tables 当前用户所属的所有表(注意大写)SQL select tablespace_name,table_name from user_all_tables where table_name=STUDENT; SQL

11、select table_name,tablespace_name from user_tables where table_name=STUDENT; TABLE_NAME TABLESPACE_NAMESTUDENT USERSsys 要查看 dba_all_tables,ALL_ALL_TABLES 才能查看到 test 用户的表。SQL select owner,table_name,tablespace_name from dba_all_tables where owner=TEST;SQL select owner,table_name,tablespace_name from

12、all_all_tables where owner=TEST;SQL select owner,table_name,tablespace_name from dba_tables where owner=TEST;SQL select owner,table_name,tablespace_name from ALL_tables where owner=TEST;OWNER TABLE_NAME TABLESPACE_NAMETEST STUDENT USERS1.DBA_ALL_TABLES describes all object tables and relational tabl

13、es in the database. Its columns are the same as those inALL_ALL_TABLES.2. ALL_ALL_TABLES describes the object tables and relational tables accessible to the current user.3. USER_ALL_TABLES describes the object tables and relational tables owned by the current user. Its columns (except for OWNER) are

14、the same as those in ALL_ALL_TABLES.用户 test 用户 test1test1 的用户创建了个表 mytab 并且插入了一些数据那么 test 用户是否可以访问到 test1 的 mytab 怎么访问? 答:不可以,必须先授权test1 必须授权给 test :grant select on mytab to test;那么这个时候test可以通过select * from testl.mytab;来访问mytab中的数据 如果想把某个表(对象)的所有权限都赋予给test那么可以:grant all on mytab to test;撤销所有权限revoke

15、 all on mytab to test;总结对于系统权限由sys来做 对于对象权限由谁拥有谁授权对象权限grant select on mytab to test;grant all on mytab to test;revoke select on mytab from test;revoke all on mytab from test;select * from user_tab_privs; /返回当前用户所有的对象权限对象权限可以控制到列grant update(name) on mytab to test;grant insert(id) on mytab to test;select * from user_col_privs;注意、:查询和删除不能控制到列需要有 commit 的 insert update insert权限的传递系统权限的传递:grant alter table to A with admin option;那么A可以通过把该权限传递给B,如果想B也可以传递下去那么可以也带上with admin

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号