1 / 12

Chapters 19 and 20

Chapters 19 and 20. Ch. 19: By What Authority? Users Roles Grant and revoke Synonyms Ch. 20: Changing the Oracle Surroundings Indexes Clusters Sequences Tablespaces. Ch. 19: CREATE USER. CREATE USER Create user username identified by password ;

tyson
Télécharger la présentation

Chapters 19 and 20

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapters 19 and 20 • Ch. 19: By What Authority? • Users • Roles • Grant and revoke • Synonyms • Ch. 20: Changing the Oracle Surroundings • Indexes • Clusters • Sequences • Tablespaces 1

  2. Ch. 19: CREATE USER • CREATE USER • Create user username identified by password; • Create user username identified externally; • Changing passwords • Alter user username identified by password; • Password Management – determined by DBA created profiles. • Password lifetime • Grace period • Account lock rules • Password reuse rules • Moving to another user, connect sqlplus command • CONNECT • CONNECT username • CONNECT username / password 2

  3. Ch. 19: CREATE ROLE • Roles manage sets of privileges. • CREATE ROLE • Create role rolename; • Standard Oracle Roles • CONNECT – connect to database and perform very limited functions. • RESOURCE – for basic users. • DBA – all system privileges. • Maximum roles allowed is set at startup, max_enabled_roles parameter (30 on phoenix). • Roles can have passwords, but do not by default. 3

  4. Ch. 19: GRANT and REVOKE • Grant for object privileges GRANT {privilege, … | ALL} [ (column,…) ] on object to {user | role} [with grant option] [with hierarchy option]; • Grant for system privileges GRANT {system privilege | role | ALL} to {user | role} [, {user | role}, …] [identified by password] [with admin option]; • Revoke takes privileges from roles or users. REVOKE {system privilege | role | ALL} [, {system privilege | role | ALL} …] from {user | role} [, {user | role}, …]; 4

  5. Ch. 19: Synonyms, Examples, Other • What you can grant to other users • Tables: alter, references, index, on commit refresh, query rewrite, all • PL/SQL Procedures and Functions: execute • Sequences: select, alter • Synonyms provide for another name for an object. • CREATE [PUBLIC] SYNONYM SYNONYM FOR SCHEMA.OBJECT[@LINK]; • Examples: • CREATE ROLE MYTEAM; • GRANT MYTEAM TO JOE, TOM, SUE; • GRANT SELECT ON MYTABLE TO MYTEAM; • GRANT UPDATE (COL1) ON MYTABLE TO MYTEAM; • CREATE PUBLIC SYNONYM TAB1 FOR MYSCHEMA.MYTABLE; • Advanced Options for Security by User • Virtual private database (VPD) adds a where clause to all commands issued by the user to restrict data to only his view of the database. • Oracle Label Security uses security labels on all rows, users only have access to those in their hierarchy. 5

  6. Ch. 20: CREATE INDEX • Indexes: • Contains values of data from a table and their location • Pro: Used to speed data retrieval, also can enforce uniqueness. • Con: Slows updates and deletes. • When to use: if columns are typically used in where clause searches • Primary keys and unique constraints create a unique index automatically. • NULL values are not indexed. • Syntax: • CREATE [BITMAP|UNIQUE] INDEX index ON table(COL1 [, COL2…] )[REVERSE]; • Other Oracle Index Features: • Reverse indexes builds an index on the indexed column in reverse byte order thus increasing the dispersal of values. • Bitmap indexes, new in 8 or 8i ?, associates a bitmap to values and only stores the bitmap in the index. Use with low cardinality values (e.g. T/F) • Function based indexes, new in 8i. Normal indexes are not used if a function is used on the where clause column that you’re searching on. 6

  7. Ch. 20: CREATE CLUSTER • Clusters: • Stores different tables physically together. • The cluster key is the column that the data would normally be joined together with. • Syntax Example: • Create cluster BOOKandAUTHOR(col1 varchar2(1000)); • Create table BOOKSHELF (title varchar2(100) primary key, • … ) • cluster BOOKandAUTHOR(title); 7

  8. Ch. 20: CREATE SEQUENCE • Sequences: • Creates a unique sequentially valued number. • Used during insert and update commands usually. • Typically used to create a primary key. • NextVal and CurrVal get the next/current value of the sequence. • Syntax: • Create sequence myseq increment by 1 start with 1; • Insert into CUSTOMER (id, name) values (myseq.nextval, ‘a’); • Update OTHERTABLE set id = myseq.currval; 8

  9. Ch. 20: Tablespaces and terminology • Tablespace • Tablespaces are a logical organization of space. • Tablespaces owns the database’s datafiles. • Database objects are stored within tablespaces. • Database: a logical collection of shared data stored in tablespaces. • File: A physical datafile belonging to a single tablespace. • Segment: A set of one or more extents that contains all the data for a specific structure within a tablespace. • Extent: A set of contiguous data blocks with in a database that make up a segment. • Block: One or more physical file blocks allocated from an existing datafile. 9

  10. Ch. 20: ERD • Entity-Relationship Diagram showing: • Database • Tablespace • Extents • Segments • Files • Blocks 10

  11. Ch. 20: Tablespace clause syntax • Tablespace Clause: indicates Tablespace and other storage options for tables, indexes, constraints. • Storage Clause: indicates how extents are managed, overrides the default storage parameters of tablespace. • Syntax: CREATE TABLEtablename(column_a type NOT NULL,column_b type,...) STORAGE ( INITIAL 100K NEXT 20K MINEXTENTS 1 MAXEXTENTS 99 PCTINCREASE 50 ) TABLESPACE USER_DATA PCTFREE 5 PCTUSED 30; 11

  12. Ch. 20: Tablespace and Segment Example SQL> select file_name, tablespace_name, bytes, blocks from dba_data_files FILE_NAME TABLESPACE_NAME BYTES BLOCKS ------------------------------------------ --------------- ---------- ---------- /opt/oracle/u1/oradata/OS80/users01.dbf USERS 1048576 512 /opt/oracle/u1/oradata/OS80/tools01.dbf TOOLS 26214400 12800 /opt/oracle/u1/oradata/OS80/temp01.dbf TEMP 6291456 3072 /opt/oracle/u1/oradata/OS80/rbs01.dbf RBS 15728640 7680 /opt/oracle/u1/oradata/OS80/system01.dbf SYSTEM 83886080 40960 /opt/oracle/u1/oradata/OS80/n311_t1.dbf USERDATA_N311 95180800 46475 /opt/oracle/u1/oradata/OS80/csgrad_t1.dbf USERDATA_GRAD 10485760 5120 SQL> l 1 select tablespace_name, segment_name, segment_type, bytes, blocks, extents 2 from dba_segments 3* where owner = 'SCOTT' TABLESPACE_NAME SEGMENT_NA SEGMENT_TYPE BYTES BLOCKS EXTENTS --------------- ---------- ------------------ ---------- ---------- ---------- SYSTEM BONUS TABLE 10240 5 1 SYSTEM SALGRADE TABLE 10240 5 1 SYSTEM WORKER TABLE 10240 5 1 SYSTEM TEMP_USERS TABLE 10240 5 1 SYSTEM LEDGER TABLE 20480 10 2 SYSTEM DEPT TABLE 10240 5 1 SYSTEM EMP TABLE 10240 5 1 SYSTEM PK_DEPT INDEX 10240 5 1 SYSTEM PK_EMP INDEX 10240 5 1 9 rows selected. 12

More Related