Thursday, May 15, 2014

How to use the new SYSBACKUP privilege to perform backup and recovery tasks without accessing to table data

The SYSBACKUP is a new privilege introduced in the Oracle Database 12c release that allows a user to perform any backup or recovery operations.

It is heartily suggested to create a new user with the SYSBACKUP privilege granted and perform daily backup activities with that new user, instead of using directly the SYSBACKUP user created by default during the database installation: the SYSBACKUP user should even remain locked.

Before proceeding I will need to create a new user at the operating system level, but not belonging to the dba OS group: in this way, using the password file, I will able to assign the sysbackup privilege to a normal database user and forcing him to log in using a password.

Indeed if I try to log into the database when I'm already authorized at the OS level because I'm the oracle OS user, I am allowed to connect with the SYSBACKUP privilege (and of course as SYSDBA, SYSOPER, SYSDG and SYSKM) even with a wrong user and/or password.
Let's see few examples considering that when you are connecting AS SYSDBA the current schema is SYS (independently from the username you specify in the sqlplus connection) and the session USER is SYS; when you are connecting AS SYSBACKUP the current schema is again SYS, but the session user is identified as SYSBACKUP.
[oracle@localhost ~]$ id
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Wed May 7 06:12:19 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> select sys_context('USERENV', 'CURRENT_SCHEMA') current_schema from dual;

CURRENT_SCHEMA
------------------
SYS

SQL> select sys_context('USERENV', 'SESSION_USER') session_user from dual;

SESSION_USER
------------------
SYS

SQL> exit
In the previous example I was able to connect as SYSDBA because the user was "already" verified by the operating system; when I try to connect using a normal database user, in this case specifying marcov and its right password, it happens the same thing that is I'm not connected as the specified user, but as SYS user
[oracle@localhost ~]$ sqlplus marcov/marcov as sysdba
SQL> select sys_context('USERENV', 'CURRENT_SCHEMA') current_schema, sys_context('USERENV', 'SESSION_USER') session_user from dual;

CURRENT_SCHEMA         SESSION_USER
-------------------- --------------------
SYS             SYS
What does it happens when I try to connect AS SYSDBA using a normal database user and a wrong password ?
Again I'm able to connect to the database as the SYS user.
[oracle@localhost ~]$ sqlplus marcov/m as sysdba
SQL> select sys_context('USERENV', 'CURRENT_SCHEMA') current_schema, sys_context('USERENV', 'SESSION_USER') session_user from dual;

CURRENT_SCHEMA         SESSION_USER
-------------------- --------------------
SYS             SYS
What does it happens when I try to connect AS SYSDBA using a non existing database user and a password ?
Again I'm able to connect to the database as the SYS user.
All this happens because I'm using the oracle user at the operating system level which belongs to the dba operating system group and so it's allowed
to estabilish a connection to the local database. There is a correspondence between the OS groups and the database system privileges: the dba OS group maps to the SYSDBA database system privilege (as previously seen), the oper OS group (when created and specified during the installation process) maps to the SYSOPER database system privilege, the oinstall OS group doesn't map to any database system privilege.
[oracle@localhost ~]$ sqlplus m/m as sysdba

SQL> select sys_context('USERENV', 'CURRENT_SCHEMA') current_schema, sys_context('USERENV', 'SESSION_USER') session_user from dual;

CURRENT_SCHEMA         SESSION_USER
-------------------- --------------------
SYS             SYS
So the first step to test a connection AS SYSBACKUP database system privilege is to avoid a connection using the oracle operating system user: I need to create another user at the operating system level without special group. I'm going to create marcov OS user:
[root@localhost home]# useradd marcov -p marcov
[root@localhost home]# id marcov
uid=54322(marcov) gid=54323(marcov) groups=54323(marcov)
Now you have to configure this account to let it connect to the database: I simply copied the TNS file located at
/app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora, not accessible by the new user, under the default directory of marcov OS user (/home/marcov) and modified the /home/marcov/.bash_profile to add few environment variables to marcov's profile:
[root@localhost home]# cp /app/oracle/product/12.1.0/dbhome_1/network/admin/tnsnames.ora /home/marcov
[root@localhost home]# chown marcov.marcov /home/marcov/tnsnames.ora
[root@localhost home]# cat /home/marcov/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
TNS_ADMIN=/home/marcov
ORACLE_HOME=/app/oracle/product/12.1.0/dbhome_1
ORACLE_SID=CDB001
export TNS_ADMIN
export ORACLE_HOME
export ORACLE_SID

PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

export PATH
I've already a database schema named MARCOV. From the marcov OS user I'm now able to create a connection with the local database using that schema name and password specifying the tns entry of a pluggable database.
root@localhost ~]# su - marcov
[marcov@localhost ~]$ sqlplus marcov/marcov@PDB001
SQL> show user
USER is "MARCOV"
I'm not of course able to connect using the system privilege AS SYSBACKUP. If I try the error "ORA-01017: invalid username/password; logon denied" is raised.
[marcov@localhost ~]$ sqlplus marcov/marcov@PDB001 as sysbackup

SQL*Plus: Release 12.1.0.1.0 Production on Wed May 7 06:47:42 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied


Enter user-name: 
I need to explicity grant the SYSBACKUP system privilege to the MARCOV database user:
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> alter session set container=PDB001;

Session altered.

SQL> grant sysbackup to marcov;

Grant succeeded.
Once the GRANT command is assigned to MARCOV database user, you can see a new entry in the V$PWFILE_USERS view: the view says that the username MARCOV is into the orapwd file and can connect to the local database using the SYSBACKUP system privilege.
SQL> select * from v$pwfile_users;

USERNAME               SYSDB SYSOP SYSAS SYSBA SYSDG SYSKM     CON_ID
------------------------------ ----- ----- ----- ----- ----- ----- ----------
SYS                   TRUE  TRUE  FALSE FALSE FALSE FALSE        0
MARCOV                   FALSE FALSE FALSE TRUE  FALSE FALSE        3
After having received the system privilege, MARCOV database user is now able to connect AS SYSBACKUP. Have a look at the CURRENT_SCHEMA and at the SESSION_USER values.
[marcov@localhost ~]$ sqlplus marcov/marcov@PDB001 as sysbackup
SQL> col current_schema format a10
SQL> col session_user format a20
SQL> select sys_context('USERENV', 'CURRENT_SCHEMA') current_schema, sys_context('USERENV', 'SESSION_USER') session_user from dual;

CURRENT_SC SESSION_USER
---------- --------------------
SYS       SYSBACKUP
The main goal of the system privilege SYSBACKUP is to implement the so called separation of duties: you can grant SYSBACKUP privilege to a user allowed only to perform backup or recovery operation using the RMAN command line, but without possibility to see or access the data of the database.
Let's first see what are the default system privileges and roles associated with the SYSBACKUP privilege.
SQL> show user;
USER is "SYSBACKUP"
SQL> set pages 999
SQL> col grantee format a25
SQL> col granted_role format a25
SQL> select * from dba_sys_privs where grantee = 'SYSBACKUP';

GRANTEE           PRIVILEGE                   ADMIN_OPTION COMMON
------------------------- ---------------------------------------- ------------ ------
SYSBACKUP          ALTER SYSTEM                   NO           YES
SYSBACKUP          AUDIT ANY                   NO           YES
SYSBACKUP          SELECT ANY TRANSACTION           NO           YES
SYSBACKUP          SELECT ANY DICTIONARY            NO           YES
SYSBACKUP          RESUMABLE                   NO           YES
SYSBACKUP          CREATE ANY DIRECTORY               NO           YES
SYSBACKUP          UNLIMITED TABLESPACE               NO           YES
SYSBACKUP          ALTER TABLESPACE               NO           YES
SYSBACKUP          ALTER SESSION                NO           YES
SYSBACKUP          ALTER DATABASE               NO           YES
SYSBACKUP          CREATE ANY TABLE               NO           YES
SYSBACKUP          DROP TABLESPACE               NO           YES
SYSBACKUP          CREATE ANY CLUSTER               NO           YES

13 rows selected.

SQL> select * from dba_role_privs where grantee = 'SYSBACKUP';

GRANTEE           GRANTED_ROLE            ADMIN_OPTION DEFAULT_ROLE COMMON
------------------------- ------------------------- ------------ ------------ ------
SYSBACKUP          SELECT_CATALOG_ROLE        NO             YES          YES
The column COMMON (as states in the Oracle documentation: http://docs.oracle.com/cd/E16655_01/server.121/e17615/refrn23274.htm#REFRN23274)
"indicates how the grant was made. Possible values: YES if the role was granted commonly (CONTAINER=ALL was used); NO if the role was granted locally (CONTAINER=ALL was not used)"

When you are connected using MARCOV database user which has the SYSBACKUP system privilege you are able to use the DESCRIBE
command on every database objects, but you are not allowed to have a look at the data contained by the object.
Here is an example of what you receive (ORA-01031: insufficient privileges) when you try to see the data within the object.
SQL> show user;
USER is "SYSBACKUP"
SQL> select table_name from dba_tables where owner = 'MARCOV';

TABLE_NAME
------------------------
T2
T1

SQL> select * from MARCOV.T1;
select * from MARCOV.T1
                     *
ERROR at line 1:
ORA-01031: insufficient privileges


SQL> desc MARCOV.T1;
 Name                       Null?    Type
 ----------------------------------------- -------- ----------------------------
 A                            NUMBER
If your database user with SYSBACKUP privilege needs to access some data, it should directly receive SELECT grant on specific tables.

Once you have a database user with SYSBACKUP privilege you can create a RMAN connection to manage your backups.
[marcov@localhost ~]$ rman

Recovery Manager: Release 12.1.0.1.0 - Production on Wed May 7 13:46:50 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target 'marcov/marcov@PDB001 as sysbackup'

connected to target database: CDB001 (DBID=4134986109)

RMAN> select sys_context('USERENV', 'CURRENT_SCHEMA') current_schema, sys_context('USERENV', 'SESSION_USER') session_user from dual;

using target database control file instead of recovery catalog


CURRENT_SCHEMA     SESSION_USER
------------------ ------------------
SYS                SYSBACKUP
From the RMAN session you can for example take a backup of the current controlfile or have a list of available backups.
RMAN> list backup;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
51      Full    209.94M    DISK        00:00:54     14-APR-14      
        BP Key: 51   Status: AVAILABLE  Compressed: YES  Tag: TAG20140414T151315
        Piece Name: /app/oracle/fast_recovery_area/CDB001/E1F26215682E1142E045000000000001/backupset/2014_04_14/o1_mf_nnndf_TAG20140414T151315_9nqqw3np_.bkp
  List of Datafiles in backup set 51
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  7       Full 3389939    14-APR-14 /app/oracle/oradata/CDB001/PDB001/system01.dbf
  8       Full 3389939    14-APR-14 /app/oracle/oradata/CDB001/PDB001/sysaux01.dbf
  9       Full 3389939    14-APR-14 /app/oracle/oradata/CDB001/PDB001/PDB001_users01.dbf

RMAN> backup current controlfile;

Starting backup at 07-MAY-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=72 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 07-MAY-14
channel ORA_DISK_1: finished piece 1 at 07-MAY-14
piece handle=/app/oracle/fast_recovery_area/CDB001/E1F26215682E1142E045000000000001/backupset/2014_05_07/o1_mf_ncnnf_TAG20140507T135023_9pn7j3y4_.bkp tag=TAG20140507T135023 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
Finished backup at 07-MAY-14

Starting Control File and SPFILE Autobackup at 07-MAY-14
piece handle=/app/oracle/fast_recovery_area/CDB001/autobackup/2014_05_07/o1_mf_s_846942632_9pn7j9dy_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 07-MAY-14

RMAN> list backup;


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
51      Full    209.94M    DISK        00:00:54     14-APR-14      
        BP Key: 51   Status: AVAILABLE  Compressed: YES  Tag: TAG20140414T151315
        Piece Name: /app/oracle/fast_recovery_area/CDB001/E1F26215682E1142E045000000000001/backupset/2014_04_14/o1_mf_nnndf_TAG20140414T151315_9nqqw3np_.bkp
  List of Datafiles in backup set 51
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  7       Full 3389939    14-APR-14 /app/oracle/oradata/CDB001/PDB001/system01.dbf
  8       Full 3389939    14-APR-14 /app/oracle/oradata/CDB001/PDB001/sysaux01.dbf
  9       Full 3389939    14-APR-14 /app/oracle/oradata/CDB001/PDB001/PDB001_users01.dbf

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
56      Full    1.13M      DISK        00:00:05     07-MAY-14      
        BP Key: 56   Status: AVAILABLE  Compressed: YES  Tag: TAG20140507T135023
        Piece Name: /app/oracle/fast_recovery_area/CDB001/E1F26215682E1142E045000000000001/backupset/2014_05_07/o1_mf_ncnnf_TAG20140507T135023_9pn7j3y4_.bkp
  Control File Included: Ckp SCN: 3418486      Ckp time: 07-MAY-14

BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
57      Full    17.20M     DISK        00:00:02     07-MAY-14      
        BP Key: 57   Status: AVAILABLE  Compressed: NO  Tag: TAG20140507T135032
        Piece Name: /app/oracle/fast_recovery_area/CDB001/autobackup/2014_05_07/o1_mf_s_846942632_9pn7j9dy_.bkp
  SPFILE Included: Modification time: 07-MAY-14
  SPFILE db_unique_name: CDB001
  Control File Included: Ckp SCN: 3418494      Ckp time: 07-MAY-14
When you want to connect to a specific pluggable database using the AS SYSBACKUP syntax directly from the Linux command line you should quote your command with single and double quotes.
[marcov@localhost ~]$ rman target '"marcov/marcov@PDB001 as sysbackup"'

Recovery Manager: Release 12.1.0.1.0 - Production on Wed May 7 13:52:19 2014

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

connected to target database: CDB001 (DBID=4134986109)

RMAN>
As latest consideration the SYSBACKUP user accounts cannot be dropped.
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> drop user SYSBACKUP;
drop user SYSBACKUP
*
ERROR at line 1:
ORA-28050: specified user or role cannot be dropped
You have no reason now to implement the right separation of duties that best fit for your requirements.

That's all.



72 comments:

oakleyses said...

oakley sunglasses, prada handbags, oakley sunglasses, longchamp handbags, longchamp handbags, louboutin shoes, louis vuitton handbags, coach factory outlet, tiffany and co, coach purses, louis vuitton outlet, polo ralph lauren outlet, air max, prada outlet, longchamp outlet, oakley sunglasses cheap, ray ban sunglasses, louboutin outlet, michael kors outlet, michael kors outlet, tiffany and co, burberry outlet, christian louboutin shoes, coach outlet store online, jordan shoes, polo ralph lauren outlet, louboutin, kate spade handbags, michael kors outlet, coach outlet, air max, gucci outlet, michael kors outlet, ray ban sunglasses, chanel handbags, michael kors outlet, tory burch outlet, nike free, kate spade outlet, louis vuitton outlet, burberry outlet, louis vuitton outlet stores, louis vuitton, nike shoes, michael kors outlet

oakleyses said...

converse, air max, gucci, canada goose, juicy couture outlet, canada goose, wedding dresses, moncler, ralph lauren, lancel, montre homme, moncler, louboutin, oakley, karen millen, vans, coach outlet store online, air max, canada goose jackets, ugg, hollister clothing store, louis vuitton, baseball bats, hollister, rolex watches, juicy couture outlet, iphone 6 cases, canada goose uk, canada goose outlet, ugg, moncler, moncler outlet, timberland boots, hollister, supra shoes, moncler, canada goose, converse shoes, toms shoes, moncler, moncler, canada goose, ugg boots, ray ban, parajumpers, canada goose

Unknown said...

The blues of spring are revived in tones of indigo, navy and oxford. We see an emergence of a lighter shade of pale in hemp, heather and white.Put it all into a rich utilitarian take on the duffel and the gym bag in linen, leather and denim custom blended to compliment michael kors belts on sale the whatever you wear.For every man who wants to dress to impress, this Spring 2014 Collection is the intersection of ease and elegance.All women want one (or hundreds). The top designers make them. How do we afford them? michael michael kors hamilton satchel What is it that is so desirable, you say? Well, the designer bag. The bag you drool over in Nordstrom’s as you stroll through South Park. The bag you add to your cart online three times a week michael kors bags on sale without buying it while deciding which lunch place along Tryon to visit. Is it really that wrong to have it?
Bring in any clean, used handbag or watch during Dillard’s Handbag and Watch Trade In Event and receive michael kors bedford large shoulder bag a discount on any purchase of $50 or more. Used handbags and watches will be donated to a local charity. What a nice way to brighten your spring and summer looks and help those who need with a michael kors fulton hand up!Shoppers who trade-in their handbag or watch will save $15 on a qualified purchase of $50-$75, $25 on a qualified purchase of $76-$125, $40 on a qualified purchase of $126-$199 or $50 on a qualified purchase of michael kors handbags outlet $200 or more.At Dillard’s you’ll find savings on an amazing array of bright spring handbags to complement your corporate, career and casual looks. Handbags you might like include:
Clearly, there are ranges of prices when shopping designer bags, michael michael kors bedford so it definitely depends on your disposable income level as to whether you lust after Michael Kors or Valentino. However, you deserve the designer bag that is a small splurge for you. This bag must be the one wholesale michael kors outlet you die for, though.

Unknown said...

The most bizarre Ray-Ban design In ‘Fear and Loathing in Las Vegas’, that weird thing on Raoul Duke’s Aviators was a cigarette holder. This is considered as one of the most bizarre Ray-Ban designs ever.Tom Cruise’s effect Time and again, Tom Cruise has been credited for increasing the fake ray bans sales of Ray-Ban sunglasses. In 1983, he was seen in ‘Risky Business’ wearing a pair of Wayfarers. That year, the sales of Ray-Ban increased by 50 percent. Three years later, he was seen sporting Aviators in films. This led to a 40% increase in ray ban sunglasses the sales of Ray-Ban eyewear.Did you know these facts about Ray-Ban before? Now, go ahead and share these with your friends and close ones and be known as a Ray-Ban expert.Over the years, sunglasses have ceased to exist as a mere protective gear. Celebrities prescription ray ban sunglasses across the globe are seen sticking to sunglasses, even as they ditch designer labels or peels of makeup. No matter what time of the day or night it is, a smart pair of glares is capable of making or breaking a personality.
There are ray bans glasses two categories of people, the ones who love Ray Bans and the ones who don’t. For those who do, no reasons are required to sport one of these classic shades, and for the latter, give them a try. You won’t regret your decision.Like one cheap ray ban sunglasses must see the Eiffel Tower once in a lifetime, it is a must to own a pair of Ray-Ban sunglasses once in your life! There may be numerous fancy designer brands of sunglasses doing the rounds, but none has reached the iconic status enjoyed http://www.ray-bansunglasseswarbyparker.com by Ray-Ban for decades.
Always remember that by taking good care of your Ray-Ban sunglasses, you are helping them and yourself to look and perform great. Like any other equipment, sunglasses too require good care and regular clean-up and maintenance to last long and cheap ray bans stay in premium condition.It’s time to face the urban jungle. The Camouflage, aka Camo prints are in full force this summer season. From Milan Fashion Week to FTV models, from men to women – everyone is going wild with the Camo.Whiel the military-inspired motif ray ban eyeglasses was always a favourite with men, it’s selling like hot cakes for women too now.Design inspiration
World’s leading eyewear brand, Ray-Ban is not only about fashion and style but also about the warby parker high quality, effective functionality and latest technology. Designed with different patterns and colours, these single vision eyeglasses or fashionable shades are out to enchant the world. You can view and buy these shades at LensKart.com. LensKart is India’s leading online shopping portal which sells hundreds of eyewear brands from premium to low priced. The site is quite famous among people since here glasses and shades corresponding to every outfit and ray-ban sunglasses occasion are available.

oakleyses said...

jordan shoes, christian louboutin, uggs outlet, michael kors outlet online, uggs on sale, louis vuitton outlet, louis vuitton outlet, louis vuitton, ray ban sunglasses, replica watches, christian louboutin uk, chanel handbags, michael kors outlet online, uggs outlet, longchamp outlet, nike air max, michael kors outlet, burberry handbags, tiffany and co, polo outlet, nike free, nike air max, ugg boots, oakley sunglasses, ray ban sunglasses, michael kors outlet online, oakley sunglasses, christian louboutin outlet, longchamp outlet, prada handbags, gucci handbags, prada outlet, oakley sunglasses wholesale, michael kors outlet, oakley sunglasses, kate spade outlet, christian louboutin shoes, louis vuitton outlet, tory burch outlet, ugg boots, michael kors outlet online, burberry outlet, cheap oakley sunglasses, louis vuitton, ray ban sunglasses, nike outlet, longchamp outlet

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008
مؤسسه الحرمين للخدمات المنزليه والمقاولات العامه

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008
مؤسسه الحرمين للخدمات المنزليه والمقاولات العامه

Unknown said...

شركة كشف تسربات المياه بالرياض
كشف تسربات المياه بالرياض شركة كشف تسربات المياه بالدمام
كشف تسربات المياه بالدمام شركة كشف تسربات المياه بالاحساء
كشف تسربات المياه بالاحساء
شركة كشف تسربات المياه بالجبيل
كشف تسربات المياه بالجبيل
شركة كشف تسربات المياه بالخبر
كشف تسربات المياه بالخبر
شركة كشف تسربات المياه بالقصيم
كشف تسربات المياه بالقصيم
شركة كشف تسربات المياه بالقطيف
كشف تسربات المياه بالقطيف
كشف تسربات المياه إلكترونيا -0547791008
مؤسسه الحرمين للخدمات المنزليه والمقاولات العامه

smithendy@gmail.com said...

If you have a desire to follow this blog and use all the information here you are on the right track. Use it essay writing company I am pleased.

Unknown said...

Great stuff, I found this article on google, and it's a complete guide,keep the good work going.
www.office.com/setup

ciitnoida said...

Thank you for your post. This is excellent information. It is amazing and wonderful to visit your site.

Best Salesforce Training Institute in Noida
Best Salesforce Admin Training Institute in Noida

Tactical kilt said...

That's a great informative post. I like it. if anybody an interested to buy a kilt. so you can read my post.it is a good informative post for yours. You can get a premium quality custom fit Tactical kilt form Kilt Master. you can like this.

تصليح ثلاجات الكويت said...

تصليح ثلاجات
تصليح ثلاجات الكويت
صيانة ثلاجات
فني ثلاجات
تصليح ثلاجات حولي
تصليح ثلاجات توشيبا

Tactical kilt said...

Tactical kilt
Aesthetic Tactical Kilt For Steampunk
Fashion Tactical Hybrid Kilt
Hybrid Tactical Kilt
Tactical Duty Kilt
تصليح ثلاجات

Kashif said...


If you are wondering for professional Health Fitness Tips to maintain your body and attract your buddy. Then Get the best Information & oil from us.

Fitness tips |Healthy Oils |Fitness |CBD oil |Health Fit Beauty

Sam Daniel said...

Wonderful Blog. Keep Posting.
Advanced Excel Training in Chennai
Corporate Excel Training in Mumbai
Advanced Excel Training in Bangalore
Power BI Training in Chennai
Corporate Tableau Training
Corproate Excel Training Delhi, Gurgaon, Noida

Unknown said...
This comment has been removed by the author.
Afnan Tajuddin said...

Click safety notes - for articles on health, environment and safety topics.

https://s3.amazonaws.com/webs-urls/safetynotes/Construction-Safety.html
https://storage.googleapis.com/webs-urls/safetynotes/Oil-And-Gas-Safety.html
https://social.msdn.microsoft.com/profile/safetynotes/
https://social.technet.microsoft.com/Profile/safetynotes

Afnan Tajuddin said...

Click safety notes - for articles on health, environment and safety topics.

Click Amazon safety notes - for articles on health, environment and safety topics.

Click Google safety notes - for articles on health, environment and safety topics.

Click Microsoft safety notes - for articles on health, environment and safety topics.

Click Microsoft safety notes - for articles on health, environment and safety topics.

Affu said...

Click safety notes - for articles on health, environment and safety topics.

Click Amazon safety notes - for articles on health, environment and safety topics.

Click Google safety notes - for articles on health, environment and safety topics.

Click Microsoft safety notes - for articles on health, environment and safety topics.

Click Microsoft safety notes - for articles on health, environment and safety topics.

gneral said...

نقدم افضل الطرق لاصلاح تسريب المياه شركة كشف تسربات المياه بالاحساء

safest cribs on the market said...

Hi Guys. Please contact us if you got any quires or any confusions about Baby products. We would be honored if We can help you.

Traje Cuero Moto said...

great. Thanks for sharing.

seocom said...

نجار بالمدينة المنورة
معلم نجار بالمدينة المنورة من الكوادر الهام وجودها في شركتنا فهو الذي يقوم بفك وتركيب جميع أنواع الأثاث، بجانب أن شركات نقل عفش بالمدينة المنورة تستعين به في جميع أعمال النقل التي تقوم بها، كما أنه يقوم بتركيب المطابخ بكافة أنواعها فهو يعتمد على خبرته في كل عمل يقوم بتنفيذه.

James said...

Very Nice Blog!!! Thanks for Sharing Awesome Blog!! Prescription medicines are now easy to purchase. You can order here.
order Ambien online
buy Ambien cod
Buy Gabapentin cod online
buy Gabapentin 800 mg cod online
Gabapentin 600mg cod Online
Order soma online
cheap carosiprodol online
buy soma 350 mg online

diazepamgenericonline said...

Very Nice Blog!!! Thanks for Sharing Awesome Blog!! Prescription medicines are now easy to purchase. You can order here.
Buy Diazepam Online
Order Diazepam cheap online
Order Diazepam cheap online
Order Valium Cash on Delivery
buy Diazepam in Cheap Price

Katie Edwards said...

Great Article! Thanks for sharing this types of article is very helpful for us! If you have any type of pain like chronic pain, back pain etc.
Best Pharmacy Shop

James said...

Very Nice Blog!!! Thanks for Sharing Awesome Blog!! Prescription medicines are now easy to purchase. You can order here.
Buy Soma 350mg
Order soma online
buy Ambien 5 mg online
buy Ambien online
buying Gabapentin COD
Buy Gabapentin cod online

Gabapentin said...

Great Article! Thanks for sharing this types of article is very helpful for us! Prescription medicines are now easy to purchase. You can order here.

Buy Gabapentin Cash on delivery
Buy Gabapentin Online
order Gabapentin 400mg online
order Gabapentin 300mg online

Xanaxmedonline said...


Thanks for this informative blog.There are online pharmacies such as ours that can help you with medicines along with prescription
buy Xanax 1mg pills online
buy Alprazolam online

order Xanax cash on delivery

order Alprazolam cash on delivery

Gabapentin said...

Very Nice Blog!!! Thanks for Sharing Awesome Blog!! Prescription medicines are now easy to purchase. You can order here.
Buy Gabapentin Cash on delivery
Buy Gabapentin Online
how to order Gabapentin 300mg online
Gabapentin 600mg online

Anonymous said...

Buy Sleeping Pills UK Online for anxiety and depression Treatment.

Sleeping Pills UK

Buy zolpidem online

Buy Tramadol UK

Buy Xanax Online

Buy Xanax UK

Modafinil provigil said...

Modafinil Provigil is online UK based pharmacy store offers high-quality FDA approved, safe and effective sleeping pills UK at cheap price & fast delivery.

buy zopiclone online

buy Diazepam UK

buy xanax UK

Sleeping Pills UK Online said...

To reduce the risk of anxiety and sleep problems, including depression and suicidal thoughts, adults should follow a balanced sleep-wake cycle. Buy

xanax for anxiety from a registered online pharmacy at reasonable prices.



Buy Xanax Online

Tramadol for sale

Sleeping Pills UK Online

diazepam for sale

Buy zolpidem Online

xanax for anxiety

Buy Zopiclone Online UK

Modafinil provigil said...

Are you looking for online sleeping pills UK? Visit Our UK Pharmacy to get the best sleeping pills at the lowest prices with a 100% guaranteed delivery.
buy zopiclone online
buy xanax UK
buy zopiclone 7.5mg

herbalincensekush said...

Legit Online Drug Supplier Welcome legit online drugstore buy all your pills here, cocaine for sale online, buy ecstasy, amphetamine pills, crack, cocaine.

Link: Buy Cocaine online

Link: Buy Pure Grade Heroin online

Link: Buy Fentanyl online

Link: Buy GHB Powder online

Link: Buy Amphetamine Powder online

Link: Buy Marijuana online

Link: Buy Tapentadol Tablets online

Link: Cocaine Wholesale online

Call: +1(614)-245 5317

Digital Maeketing said...

really good and quality content that help its reader and also keep its reader in toch
Sattamatka

sarmad said...

check this content for cofee

sarmad said...

Mozzarella cheese available at very high quality.
Nothing is more tasty than this

William said...

Hi! Nice blog. We are also offering you QuickBooks Customer Service Phone Number. If you need any help regarding QuickBooks issues, dial 1-855-756-1077 for instant help.

Buy Tramadol Online said...

Very Nice Blog!!! Thanks for Sharing Awesome Blog!! Prescription medicines are now easy to purchase. You can order here.
order Tapentadol online
order Tramadol online
Tramadol 50mg cash on delivery
order Ambien 10mg online
order ativan 1mg online

AL FAHAD IT CONSULTING said...

Best business software consulting in UAE, KSA, and Bahrain.
Zoho software consulting services.

Zoho Software Maintenance Services

Michael Smith said...

I saw your site to be epic for my necessities. It has reasonable and solid posts. I've executed by a wide edge an epic piece of them and took in a ton from them. You're accomplishing some stunning work. Grateful to you fit for making a titanic shocking site. The Printer not Activated Error Code 30 because of wrong printer is set as the default printer and driver is missing. Contact our executive and we help you to fix Error Code -30.

mready said...

Nice article great information its really helpfull


Mtp Kit Online said...

Nice Post!
If you have unwanted pregnancy issue then you can buy abortion pill online an terminate your pregnancy at home...

Pharma Online said...

cheap tramadol 100mg online

cheap tramadol 150mg online

tramadol 150mg online

buy tramadol 150mg online

buy tramadol 225mg online

buy tramadol 225mg online

vivek kumar said...

Talk to Best Astrologer
AstrologyKart is the best astrology website for online astrology predictions from the best astrologers of India. Chat with an astrologer in India online & also talk to best experienced astrologers online anytime at AstrologyKart.

vivek kumar said...

Talk to Astrologers Online
If you want to talk to astrologers online in India, then Astrology Kart has the best astrologers to provide accurate astrology predictions online at a very affordable price rates.

vivek kumar said...

Free Astrology Advice online
AstrologyKart is the best astrology website for online astrology predictions from the best astrologers of India. Chat with an astrologer in India online & also talk to best experienced astrologers online anytime at AstrologyKart.

prem kumar said...

Mobile tower installation in Nagaland
Looking for the best Mobile Tower Installation in Nagaland? And its local areas for improved network facility in the regions of Nagaland. Call 7864805461

prem kumar said...

Mobile tower installation in Uttar Pradesh
Mobile tower installation in Uttar Pradesh, Tower installation in UP, Mobile Tower Installation, We deliver the best tower installation in whole areas of Uttar Pradesh.

vivek kumar said...

Best Ayurvedic Treatment
Ayurvedic Hospital in Dhanbad
Call Us at +91 9204900900, Kerala Ayurveda Dhanbad is one of the Best Ayurvedic Hospital, Providing Unbeatable Ayurvedic Treatments in Dhanbad.

vivek kumar said...

Best Ayurvedic Treatment Ranchi
Our Best Ayurvedic doctors in Ranchi are there to help you. Kerala Ayurveda Ranchi Also provides the best Ayurvedic infertility treatment in Ranchi.

vivek kumar said...

Best Ayurvedic Treatment in Kanke
Kerala Ayurveda Ranchi has its branch on Kanke and delivering the Ayurvedic treatment for various diseases. To book an appointment call now at +91 9204900900.

Unknown said...

We are a reputed and secure online brand that delivers online medicines like cialis 10mg , percocet 10 mg, cheap viagra 50mg, neurontin overnight delivery, 1 mg football xanax , hydrocodone 500 mg , oxycodone acetaminophen 10-325 en español and fioricet for tooth pain to your doorstep at very affordable rates.

Nancy Wheeler Jacket said...

love your website
leather jackets lover visit my website
https://www.aspireleather.com/product/stranger-things-nancy-wheeler-jacket/

Unknown said...

you can find out more best replica bags online try this web-site replica ysl handbags Discover More Here Louis Vuitton fake Bags

Pink Tramadol 100mg said...

I had been on Ritalin and all sorts of anti depressants but when I started taking Tramadol I was able to drop everything and stick with one drug to do it all.

Buy Adderall Without Prescription said...

This medication has really worked for me! I seem to be calmer and not as distracted.

Buy Tramadol 100mg Online said...

Thanks for sharing such a wonderful information.

Buy Somas Pills said...

This medication has saved my life from suffering from acute muscle spasms.

clippasia said...

Clip Asia is commonly known for providing Clipping Path Service. Image Editing Service that consists of for Image Clipping Path Service, White Background for Image, Shadow | Reflection, Masking, Color Adjustment, Coloring, Invisible Mannequin, Retouching, Jewelry Image Editing, Dust Removal, Product Image Editing, Image Cropping | Resizing, Ghost Mannequin Services.

john said...

I like this post. This post is very helpful.Yellowstone season 5 floral blazer

Buy Etizolam said...

Nice articles love this post you can also view my blog etizolam

George Henry said...

I appreciate you for providing such fantastic information.




Guri Makeup said...

Thanks for sharing.
Comment by - Best makeup artist in Jalandhar
Makeup artist in Jalandhar