Sunday, July 19, 2020

Ques What is difference among Privilege , Roles, and Profiles?

Privileges, Roles and Profiles


Privileges
A user privilege is a right to execute a particular type of SQL statement, or a right to access another user's object, execute a PL/SQL package, and so on. The types of privileges are defined by Oracle.
Roles
Roles are created by users (usually administrators) to group together privileges or other roles. They are a means of facilitating the granting of multiple privileges or roles to users.
Profiles
Profiles define resource limits imposed upon a user account. The "default" profile sets all resource limits to unlimited.

Monday, April 27, 2020

How to copy a project inside itellij idea.

Like Eclipse you can't copy project in intellij idea . Here Step By Step approach to make new copy of existing project.

Step 1 : Create copy of project - use terminal or explorer and copy the project and rename it.

Step 2 : Switch back to idea and open new Project

             File -> Open -(navigate the location where project exist)->open

Step 3 : Rename .iml File suppose your old project name was test and new  name is test-java. but when you expand project test-java in IDE then you find test.iml file rename it to project name i.e. test-java.iml

Step 4 : Open pom.xml and rename artifactId to project name, to avoid any conflict.

Step 5 : Navigate main method and right click and run  - this will open a window



Step 6 : Check Two input


  • Use classpath of module : if it <no-module> change it to project name
  • JRE : check it correctly set
Now project Copy


Thursday, April 23, 2020

CentOS 8 or RedHat 8 : docker run give error - docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.

After successful installation when i Try to test docker installation with sample container it give following error
[yogesh@devBase ~]$ systemctl start docker
[yogesh@devBase ~]$ docker run test
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

Solution
Step 1 : Check docker group
[yogesh@devBase ~]$ cat /etc/group

docker:x:970:


if docker group does not exist create it

Step 2 : Add user to docker group
[yogesh@devBase ~]$ sudo usermod -aG docker ${USER}

Step 3 : Above two step not solved the problem now check /lib/systemd/system/docker.socket file.

[yogesh@devBase ~]$ ls -l /lib/systemd/system/docker.socket 
-rw-r--r--. 1 root root 197 Mar 11 06:56 /lib/systemd/system/docker.socket
if user and group of this file is root then change group to docker.
[yogesh@devBase ~]$ sudo chgrp docker /lib/systemd/system/docker.socket 
[sudo] password for yogesh: 
[yogesh@devBase ~]$ 
Step 4 : Give permission to group
[yogesh@devBase ~]$ sudo chmod g+w /lib/systemd/system/docker.socket
Step 5 : open new terminal and restart docker. now run docker run hello-world its working perfectly.
[yogesh@devBase ~]$ ls -l /lib/systemd/system/docker.socket 
-rw-rw-r--. 1 root docker 197 Mar 11 06:56 /lib/systemd/system/docker.socket

Wednesday, April 22, 2020

RedHat 8 or CentOS 8 : Docker Installation fails with Error : package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed

I have decided to use docker for ease of development of my application. when i installed according to docker documentation it fails and give following error.

[yogesh@devBase ~]$ sudo dnf install docker-ce docker-ce-cli containerd.io
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:00:26 ago on Wed 22 Apr 2020 09:21:50 PM IST.
Error: 
 Problem: package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
  - cannot install the best candidate for the job
  - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
  - package containerd.io-1.2.13-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
  - package containerd.io-1.2.2-3.el7.x86_64 is excluded
  - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
  - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

Solution
To resolve above error first install containerd.io.

[yogesh@devBase ~]$ sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm
[sudo] password for yogesh: 
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:07:11 ago on Wed 22 Apr 2020 09:21:50 PM IST.
containerd.io-1.2.13-3.1.el7.x86_64.rpm                                                                                22 kB/s |  23 MB     17:46    
Dependencies resolved.
======================================================================================================================================================
 Package                              Architecture                  Version                                 Repository                           Size
======================================================================================================================================================
Installing:
 containerd.io                        x86_64                        1.2.13-3.1.el7                          @commandline                         23 M
     replacing  runc.x86_64 1.0.0-64.rc9.module_el8.1.0+298+41f9343a

Transaction Summary
======================================================================================================================================================
Install  1 Package

Total size: 23 M
Is this ok [y/N]: y
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                              1/1 
  Installing       : containerd.io-1.2.13-3.1.el7.x86_64                                                                                          1/2 
  Running scriptlet: containerd.io-1.2.13-3.1.el7.x86_64                                                                                          1/2 
  Obsoleting       : runc-1.0.0-64.rc9.module_el8.1.0+298+41f9343a.x86_64                                                                         2/2 
  Running scriptlet: runc-1.0.0-64.rc9.module_el8.1.0+298+41f9343a.x86_64                                                                         2/2 
  Verifying        : containerd.io-1.2.13-3.1.el7.x86_64                                                                                          1/2 
  Verifying        : runc-1.0.0-64.rc9.module_el8.1.0+298+41f9343a.x86_64                                                                         2/2 
Installed products updated.

Installed:
  containerd.io-1.2.13-3.1.el7.x86_64                                                                                                                 

Complete!

Once containerd.io install now install docker-ce and docker-ce-cli.
[yogesh@devBase ~]$ sudo dnf install docker-ce docker-ce-cli
[sudo] password for yogesh: 
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
CentOS-8 - AppStream                                                                                                  4.7 kB/s | 4.3 kB     00:00    
CentOS-8 - Base                                                                                                       1.1 kB/s | 3.8 kB     00:03    
CentOS-8 - cr                                                                                                         2.4 kB/s | 3.0 kB     00:01    
CentOS-8 - Extras                                                                                                     1.7 kB/s | 1.5 kB     00:00    
CentOS-8 - PowerTools                                                                                                 2.2 kB/s | 4.3 kB     00:01    
CentOS-8 - Plus                                                                                                       2.7 kB/s | 3.0 kB     00:01    
CentOS-8 - fasttrack                                                                                                  2.7 kB/s | 3.0 kB     00:01    
Amazon Corretto                                                                                                       1.5 kB/s | 2.9 kB     00:01    
Docker CE Stable - x86_64                                                                                             3.1 kB/s | 3.5 kB     00:01    
ELRepo.org Community Enterprise Linux Repository - el8                                                                1.0 kB/s | 2.9 kB     00:02    
ELRepo.org Community Enterprise Linux Repository - el8                                                                 23 kB/s | 147 kB     00:06    
ELRepo.org Community Enterprise Linux Kernel Repository - el8                                                         2.0 kB/s | 2.9 kB     00:01    
ELRepo.org Community Enterprise Linux Kernel Repository - el8                                                          30 kB/s | 939 kB     00:31    
ELRepo.org Community Enterprise Linux Extras Repository - el8                                                         1.8 kB/s | 2.9 kB     00:01    
ELRepo.org Community Enterprise Linux Extras Repository - el8                                                          12 kB/s |  31 kB     00:02    
Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                3.1 kB/s | 9.8 kB     00:03    
Extra Packages for Enterprise Linux 8 - x86_64                                                                        5.8 kB/s | 3.1 kB     00:00    
Extra Packages for Enterprise Linux 8 - x86_64                                                                        9.9 kB/s | 6.4 MB     11:01    
google-chrome                                                                                                         3.5 kB/s | 1.3 kB     00:00    
google-chrome                                                                                                         4.9 kB/s | 3.5 kB     00:00    
RPM Fusion for EL 8 - Free - Updates                                                                                  1.9 kB/s | 3.7 kB     00:01    
RPM Fusion for EL 8 - Nonfree - Updates                                                                               3.8 kB/s | 3.7 kB     00:00    
Dependencies resolved.
======================================================================================================================================================
 Package                             Architecture                 Version                                Repository                              Size
======================================================================================================================================================
Installing:
 docker-ce                           x86_64                       3:19.03.8-3.el7                        docker-ce-stable                        25 M
 docker-ce-cli                       x86_64                       1:19.03.8-3.el7                        docker-ce-stable                        40 M
Installing dependencies:
 libcgroup                           x86_64                       0.41-19.el8                            BaseOS                                  70 k

Transaction Summary
======================================================================================================================================================
Install  3 Packages

Total size: 64 M
Total download size: 64 M
Installed size: 273 M
Is this ok [y/N]: y
Downloading Packages:
[SKIPPED] libcgroup-0.41-19.el8.x86_64.rpm: Already downloaded                                                                                       
[MIRROR] docker-ce-19.03.8-3.el7.x86_64.rpm: Curl error (28): Timeout was reached for https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.8-3.el7.x86_64.rpm [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]
(2/3): docker-ce-cli-19.03.8-3.el7.x86_64.rpm                                                                          37 kB/s |  40 MB     18:14    
(3/3): docker-ce-19.03.8-3.el7.x86_64.rpm                                                                              16 kB/s |  25 MB     25:21    
------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                  43 kB/s |  64 MB     25:21     
warning: /var/cache/dnf/docker-ce-stable-091d8a9c23201250/packages/docker-ce-19.03.8-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Docker CE Stable - x86_64                                                                                             3.5 kB/s | 1.6 kB     00:00    
Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <docker@docker.com>"
 Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
 From       : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                              1/1 
  Installing       : docker-ce-cli-1:19.03.8-3.el7.x86_64                                                                                         1/3 
  Running scriptlet: docker-ce-cli-1:19.03.8-3.el7.x86_64                                                                                         1/3 
  Running scriptlet: libcgroup-0.41-19.el8.x86_64                                                                                                 2/3 
  Installing       : libcgroup-0.41-19.el8.x86_64                                                                                                 2/3 
  Running scriptlet: libcgroup-0.41-19.el8.x86_64                                                                                                 2/3 
  Installing       : docker-ce-3:19.03.8-3.el7.x86_64                                                                                             3/3 
  Running scriptlet: docker-ce-3:19.03.8-3.el7.x86_64                                                                                             3/3 
  Verifying        : libcgroup-0.41-19.el8.x86_64                                                                                                 1/3 
  Verifying        : docker-ce-3:19.03.8-3.el7.x86_64                                                                                             2/3 
  Verifying        : docker-ce-cli-1:19.03.8-3.el7.x86_64                                                                                         3/3 
Installed products updated.

Installed:
  docker-ce-3:19.03.8-3.el7.x86_64                 docker-ce-cli-1:19.03.8-3.el7.x86_64                 libcgroup-0.41-19.el8.x86_64                

Complete!
[yogesh@devBase ~]$ docker --help

Usage: docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/home/yogesh/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with
                           "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/home/yogesh/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/home/yogesh/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/home/yogesh/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  builder     Manage builds
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  engine      Manage the docker engine
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  deploy      Deploy a new stack or update an existing stack
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Run 'docker COMMAND --help' for more information on a command.
[yogesh@devBase ~]$ docker --version
Docker version 19.03.8, build afacb8b
[yogesh@devBase ~]$ 

Docker install successfully.

Tuesday, February 11, 2020

 Administrating USER Account in Oracle


1. Types of USER

As per Oracle documentation, Oracle categories user according to usages.

  • Database Administrator
  • Network Administrator
  • System Administrator
  • Application Developer
  • Database USER


2. Built-in Account

Some Important Built-in account in oracle are- Sys, System, Sysman 

Sys User account -

  • DBA Role - pre-built role, 
  • Own Data Dictionary, 
  • Superuser in Oracle, 
  • Similar to SA in Microsoft SQL Server, or Administrator in Window or root in *inx. 

Relationship between SYS user account SYSDBA privilege- 

Sys is a superuser account in Oracle while sysdba is a privilege that is added to a user account who have a member of the dba group of OS. When a user login by using Sysdba privilege that the user becomes a superuser like SYS user. 


SQLPLUS / as sysdba or connect / as sysdba or connect <someuser> as sysdba


System User Account - 

  • Less Power User than SYS.  
  • Along with the DBA Role System user also has MGMT_USER and AQ_Administrator role. 
  • The system is a safer account for day to day DBA task. 
  • Can't do DATABASE Upgrade, BACKUP and Recovery.

Sysman User Account - 

  • Lower level Default System account having the least power but have more power than a normal user account. 
  • Have MGMT_USER, RESOURCE, and SELECT_CATALOG_ROLE role.


3. How to create a new USER

Component of USER Account

Mandatory Field

Username - Unique Username <= 30 char , Alphanumeric , allowed special characters are $ and _

authentication - Password, or Bimetric, or Certificate, or OS, or external.

Optional Field

tablespace - specify default tablespace and temporary tablespace for the user.

Profile - Password policy, account Security

Schema - Collection of Object owned by USER. username = schema

Saturday, February 8, 2020

Question : How do I open my application with the Launcher app file .desktop

I've a problem with the application Oracle SQL Developer, I can only run it going to the terminal and only with the sudo command. My file is there : /usr/local/bin/sqldeveloper and to open it I have to do sudo sqldeveloper.

Now here is the code of my launcher app :

$ cat /usr/share/applications/Oracle-sqldeveloper.desktop 
[Desktop Entry]
Type=Application
Name=Oracle SQL Developer
Exec=sqldeveloper
Icon=/opt/sqldeveloper/icon.png
Terminal=false >> ~/.local/share/applications/sqldeveloper.desktop

I've already tried to put the full path in the Exec row but nothing, the app doesn't launch, there's the icon in the toolbar few second and it disappears.

Solutions

I also faced same issue, googled lot but nothing got helpful.. BTW I solved this problem by adding absolute path in /usr/share/applications/Oracle-sqldeveloper.desktop. If you want to run sqldeveloper from applications>programming menu then you need to edit your Oracle-sqldeveloper.desktop file. add absolute path which is Exec=/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper in my case also change Terminal=true which show you other problem like java home etc, if java related issue then set according to terminal instruction after that change Terminal=false

 $ sudo vim /usr/share/applications/Oracle-sqldeveloper.desktop

    [Desktop Entry]
    Encoding=UTF-8
    Name=SQL Developer
    Comment=Oracle SQL Developer
    Icon=/opt/sqldeveloper/icon.png
    Exec=/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper
    Terminal=true
    Type=Application
    X-Desktop-File-Install-Version=0.23
    Categories=X-Red-Hat-Extra;Application;Development;
 

Deinstallation of Oracle Database

deinstall stop the oracle software and remove it, including data files and recovery files.

deinstall utility exist in ORACLE_HOME/deinstall directory.

$ [oracle@devBase deinstall]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1/deinstall

Steps involved in deintallation of Oracle Software and data files.

Step 1 Backup all the data files.

Step 2 Switch into deinstall directory.

Step 3 Enter following command

$ [oracle@devBase deinstall]$ ./deinstall 

It start deinstallation process

Note : On CentOS 8 / RedHat 8 deinstalltion utility stop by throwing an error.

[oracle@devBase deinstall]$ ./deinstall
Checking for required files and bootstrapping ...
Please wait ...
Location of logs /tmp/deinstall2020-02-09_07-19-33AM/logs/

############ ORACLE DECONFIG TOOL START ############


######################### DECONFIG CHECK OPERATION START #########################
## [START] Install check configuration ##


Checking for existence of the Oracle home location /u01/app/oracle/product/19.3.0/dbhome_1
Oracle Home type selected for deinstall is: Oracle Single Instance Database
Oracle Base selected for deinstall is: /u01/app/oracle
Checking for existence of central inventory location /u01/app/oraInventory
ERROR: null

To solve this change CentOS / RedHat version temporarily by entering following command.

[oracle@devBase deinstall]$ export CV_ASSUME_DISTID=RHEL7.6

After that you can successfully execute deinstall utility.

You can also use various flags with deinstall such as -checkonly, -help etc. For complete information on options click here