- person Penulis:
-
Dimas Maryanto
PT. Tabeldata Informatika
- account_balance_wallet Donasi via:
- Saweria a/n Dimas Maryanto
- lock_open Join Premium Members:
- Udemy.com
-
Daftar Materi
-
1. Pengenalan Oracle Database 10
-
1. Silabus Belajar RDBMS Oracle 18c
2. Pengenalan Oracle Database 18c
3. Konsep User dan Schema di Oracle Database 18c
4. Interface untuk Oracle Database
5. Database Interaction dengan SQL
6. Persiapan install Oracle Database 18c
7. Install Oracle 18c XE untuk Windows 10
8. Install Oracle 18c XE untuk Linux
9. Install Oracle 18c XE dengan Docker
10. Install Database Editor untuk Oracle 18c
-
2. SQL - Select Statement 9
-
1. Persiapan Sebelum mulai belajar
2. Aturan Penulisan SQL pada Oracle Database
3. Data Types di Oracle Database
4. Select Statement dalam SQL
5. Pemberian alias pada column dan table
6. Operation Arithmetic di Oracle
7. Menggabungkan column dengan concatnation
8. Handle Null value dengan Coalesce
9. Menghilangkan nilai redundansi dengan klausa Distinct
-
3. SQL - Select with where clause 10
-
1. Klausa where untuk filter data di Oracle
2. Comparison Predicate pada klausa where di Oracle
3. Like Predicate pada klausa where di Oracle
4. Between Predicate pada klausa where di Oracle
5. Null Conditions pada klausa where di Oracle
6. In Predicates pada klausa where di Oracle
7. Exists Condition pada klausa where di Oracle
8. Not Predicate pada klausa where di Oracle
9. Combine Logical pada klausa where di Oracle
10. Mengurutkan data dengan klausa ORDER BY di Oracle
-
4. SQL - Functions 11
-
1. Single Row Function di Oracle
2. Character Single Row Function di Oracle
3. Number Single Row Function di Oracle
4. Date & Time Single Row Function di Oracle
5. Conversion Single Row Function di Oracle
6. Casting Build-In Data Type di Oracle
7. Null-Related Single Row Function
8. Aggregate Functions
9. Klausa Group By di Oracle
10. Where clause dengan Group By Function
11. Having clause dengan Group By Function
-
5. SQL - Join Tables 6
-
6. SQL - Sub Queries 12
-
1. Sub Query di Oracle
2. Sub Query single row result dengan where clause
3. Handle Sub Query Multiple rows Result dengan where operator
4. In Predicates dengan Sub Query di Oracle
5. ANY & SOME dengan Sub Query di Oracle
6. ALL Operator dengan Sub Query di Oracle
7. Sub Query Correlate di Oracle
8. Sub Query EXIST Predicates di Oracle
9. Pairwise Sub Query di Oracle
10. Sub Query Inline View di Oracle
11. Paginate dengan Sub Query di Oracle versi lama
12. Pagination dengan fetch dan offset
-
7. SQL - Expressions 2
-
8. SQL - Data Manipulation Language 11
-
1. Data Manipulation Language (DML)
2. DML - Insert Statement di Oracle
3. DML - Update Statement di Oracle
4. DML - Delete Statement di Oracle
5. DML - Merge Statement di Oracle
6. Transaction Control Language (TCL)
7. TCL - Commit Transaction di Oracle
8. TCL - Rollback Transaction di Oracle
9. TCL - Savepoint di Oracle
10. TCL - Concurrent Transaction
11. TCL - Locking Transaction di Oracle
-
9. SQL - Data Definition Language 19
-
1. Data Definition Language (DDL) di Oracle
2. DDL - Static Data Dictionary View
3. DDL - Membuat Tabel di Oracle
4. DDL - Merubah struktur table
5. DDL - Menghapus table dengan DROP
6. DDL - Truncate Table
7. DDL - Purge Table & Recyclebin
8. DDL - Macam-macam Constraint di Oracle
9. DDL - Not Null Constraint
10. DDL - Unqiue Constraint
11. DDL - Check Constraint
12. DDL - Primary Key Constraint
13. DDL - Foreign Key Constraint
14. DDL - Foreign Key Constraint dengan Options
15. DDL - Enabled, Disabled & Drop Constraints
16. DDL - Deferring Constraint Checks
17. DDL - View di Oracle
18. DDL - Sequences di Oracle
19. Default value untuk Primary Key di Oracle
-
10. Indexing 5
-
11. DDL - User Management 8
-
12. Monitor database activity 5
-
13. Database Design 8
- Lastest Posts
- 09 Apr 23 Working with Deployment object
- 26 Feb 23 Study cases: Microservice apps (...
- 05 Feb 23 Welcome to the Nutanix HCF (Hybr...
- 04 Feb 23 Silabus SRE - Nutanix AHV: Pemul...
- 17 Jan 23 What is Workload Resources?
- 17 Jan 23 Overview Kubernetes Workloads re...
- 15 Jan 23 Getting started with Transaction...
- 14 Jan 23 Overview of Concurrency Control
- 14 Jan 23 Time your practice (part 3)
- 08 Jan 23 Cleanup Data from Table
DDL - System Privileges
System Privileges yaitu hak akses untuk User Accounts me-execute Data Definition Language (DDL) Statement dan Control Statement terhadap object di Database seperti CREATE TABLE
, ALTER TABLE
, CREATE SEQUENCE
dan lain-lain. Ada banyak sekali System Privileges di Oracle Database diantaranya:
- Flashback Data Archives
- Indexes
- Procedures
- Profiles
- Roles
- Sequences
- Sessions
- Tables
- Trigger
- Types
- User
- View
- Dan masih banyak lagi untuk lebih lengkapnya bisa check di sini
Untuk mengetahui suatu user telah di berikan hak akses (privileges) tertentu kita bisa menggunakan query seperti berikut:
Dengan System Privileges kita bisa memberikan hak akses kepada user tersebut dan juga mencabutnya menggunakan perintah
GRANT
, untuk memberikan ijin terhadap user tertentuREVOKE
, untuk mencabut ijin privileges dari user tertentu
GRANT
System Privileges
Untuk memberikan ijin terhadap user tertentu sebagai contoh bisa membuat table, membuat sequences, membuat view, membuat index, dan procecure maka perintahnya seperti berikut:
Jika di jalankan maka hasilnya seperti berikut:
bash> sqlplus system/passwordnyaOracle18@XEPDB1
SQL*Plus: Release 18.0.0.0.0 - Production on Fri Mar 12 18:09:38 2021
Version 18.4.0.0.0
Copyright (c) 1982, 2018, Oracle. All rights reserved.
Last Successful login time: Fri Mar 12 2021 17:14:02 +00:00
Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
SQL> select *
from DBA_SYS_PRIVS
where GRANTEE = 'TOKO_ONLINE';
GRANTEE PRIVILEGE ADM COM INH
----------- ---------------------------------------- --- --- ---
TOKO_ONLINE CREATE SESSION NO NO NO
SQL> conn toko_online/toko@XEPDB1
Connected.
SQL> create table test_table(
2 id varchar2(10) not null);
create table test_table(
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> conn system/passwordnyaOracle18@XEPDB1
Connected.
SQL> grant create table,
create sequence,
create any index,
create view,
create procedure
to TOKO_ONLINE;
Grant succeeded.
SQL> conn toko_online/toko@XEPDB1
Connected.
SQL> create table test_created(
2 id varchar2(10) not null);
Table created.
SQL> select table_name from tabs;
TABLE_NAME
------------------------------
TEST_CREATED
SQL> conn system/passwordnyaOracle18@XEPDB1
Connected.
SQL> select * from DBA_SYS_PRIVS where GRANTEE = 'TOKO_ONLINE';
GRANTEE PRIVILEGE ADM COM INH
----------- ---------------------------------------- --- --- ---
TOKO_ONLINE CREATE TABLE NO NO NO
TOKO_ONLINE CREATE VIEW NO NO NO
TOKO_ONLINE CREATE PROCEDURE NO NO NO
TOKO_ONLINE CREATE SESSION NO NO NO
TOKO_ONLINE CREATE SEQUENCE NO NO NO
TOKO_ONLINE CREATE ANY INDEX NO NO NO
6 rows selected.
Selain itu juga kita bisa memberikan semua hak access ke user tersebut dengan perintah seperti berikut:
REVOKE
System Privileges
Selain itu juga kita bisa mencabut hak aksesnya dengan menggunakan perintah revoke <roles, ...> from <user>
. Contohnya saya mau menghapus privileges create view berikut adalah querynya:
Jika di jalankan maka hasilnya seperti berikut:
SQL> conn system/passwordnyaOracle18@XEPDB1
Connected.
SQL> select *
from DBA_SYS_PRIVS
where GRANTEE = 'TOKO_ONLINE';
GRANTEE PRIVILEGE ADM COM INH
----------- ---------------------------------------- --- --- ---
TOKO_ONLINE CREATE TABLE NO NO NO
TOKO_ONLINE CREATE VIEW NO NO NO
TOKO_ONLINE CREATE PROCEDURE NO NO NO
TOKO_ONLINE CREATE SESSION NO NO NO
TOKO_ONLINE CREATE SEQUENCE NO NO NO
TOKO_ONLINE CREATE ANY INDEX NO NO NO
6 rows selected.
SQL> revoke create view from TOKO_ONLINE;
Revoke succeeded.
SQL> select *
from DBA_SYS_PRIVS
where GRANTEE = 'TOKO_ONLINE';
GRANTEE PRIVILEGE ADM COM INH
----------- ---------------------------------------- --- --- ---
TOKO_ONLINE CREATE TABLE NO NO NO
TOKO_ONLINE CREATE PROCEDURE NO NO NO
TOKO_ONLINE CREATE SEQUENCE NO NO NO
TOKO_ONLINE CREATE SESSION NO NO NO
TOKO_ONLINE CREATE ANY INDEX NO NO NO
SQL> conn toko_online/toko@XEPDB1
Connected.
SQL> create or replace view v_test_data as select * from TEST_CRATETED;
create or replace view v_test_data as select * from TEST_CRATETED
*
ERROR at line 1:
ORA-01031: insufficient privileges
Selain itu juga kita bisa cabut semua privilege-nya dengan perintah seperti berikut:
Yuk simak juga videonya,
Dan jika temen-temen belajar hal baru kali ini jangan lupa buat Like, Subcribe, dan Share ke temen kalian. Terimakasih!!!
-
Referensi
https://docs.oracle.com/en/database/oracle/oracle-database/18/dbseg/configuring-privilege-and-role-authorization.html#GUID-6F401301-B5EA-482E-9615-21FD840CAF60
https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/GRANT.html#GUID-20B4E2C0-A7F8-4BC8-A5E8-BE61BDC41AC3__BABEFFEE