{"id":26293748,"url":"https://github.com/veksh/ansible-oracle-xe","last_synced_at":"2026-04-10T02:02:03.626Z","repository":{"id":211299849,"uuid":"157581846","full_name":"veksh/ansible-oracle-xe","owner":"veksh","description":"ansible role to install Oracle XE server instance","archived":false,"fork":false,"pushed_at":"2018-11-20T12:00:34.000Z","size":24,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-12-07T17:47:23.152Z","etag":null,"topics":["ansible","ansible-role","oracle","oracle-xe"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/veksh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-11-14T16:57:00.000Z","updated_at":"2023-12-07T17:47:23.981Z","dependencies_parsed_at":"2023-12-07T17:57:28.120Z","dependency_job_id":null,"html_url":"https://github.com/veksh/ansible-oracle-xe","commit_stats":null,"previous_names":["veksh/ansible-oracle-xe"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veksh%2Fansible-oracle-xe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veksh%2Fansible-oracle-xe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veksh%2Fansible-oracle-xe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veksh%2Fansible-oracle-xe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veksh","download_url":"https://codeload.github.com/veksh/ansible-oracle-xe/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243674473,"owners_count":20329102,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","ansible-role","oracle","oracle-xe"],"created_at":"2025-03-15T02:30:20.317Z","updated_at":"2025-12-31T00:22:25.657Z","avatar_url":"https://github.com/veksh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Oracle XE Server install\n========================\n\nRole to install free Oracle XE database on host, create and tune DB and OS settings.\nI've tried to remove dependenices on other custom roles and environment, but role\nis still somewhat site-specific and requires a bit of review and customization to be\nactually useful.\n\nCurrently tested on SLES, could work on other distributions with some modifications.\n\nFeatures: what does that role do\n================================\n- Tune OS for Oracle installation: create 2GB of swap if not yet, set kernel params etc\n- Install Oracle XE software, perform DB intialization\n- Configure DB, set it to autostart, fix init script etc\n- Configure listener and tnsnames.ora (for dblinks to other DBs)\n- Create cron task to trim DB and listener logs\n- Perform DB tuning, trim unnesessary components, e.g.\n    - allow system TS to autoextend\n    - re-create redo logs in data dir with custom size, add 3rd log file\n    - modify init params: turn off recycle bin, turn on audit, etc\n    - drop APEX and example schemas from db, create missed DBSNMP user\n    - assign random password to sys\n    - disable password expiration\n    - re-schedule nightly maintenance jobs to custom window\n    - turn on DB audit on interesting events, create DB audit purge task\n    - set statistic history retention period\n- Create DB objects\n    - roles with optional grants to them\n    - profiles with specified limits\n    - users with passwords, profiles, grants and quoutas assigned to them\n    - database links connected to specified remote DBs\n\nThose steps produce clean self-maintained instance of RDBMS with some XE shortcomings\nfixed (like default password expiration policy of 120 days, APEX and example schemas\netc).\n\nRequirements\n============\n- Oracle XE rpms accessible by package manager\n- Enough space in `/u01/app/oracle` for software (500M) and oracle data (2G for starter DB),\n  optionally subdivided into logical volumes.\n- Usual Oracle XE system requirements (see Oracle readme)\n- recommended: `rlwrap` for sqlplus_r alias (to support line editing)\n\nExample steps to install XE in VM\n=================================\n\n- add host to inventory group\n\n        # ...\n        [oracle-xe-servers]\n        orepl-xe-vm   ansible_ssh_host=orepl-xe-vm.example-domain.com\n\n- add group to site.yaml playbook\n\n        - hosts: oracle-xe-servers\n          become: true\n          roles:\n            - oracle-xe-server\n          tags:\n            - oracle-xe\n\n- create `host_vars/orepl-xe-vm.yaml` \n\n        ## oracle vars\n        oracle_listener_iface: eth1\n        oracle_host_name: \"orepl-xe.example-domain.com\"\n        oracle_external_alias: \"orepl-xe\"\n        # not really used here (w/o custom firewall script)\n        oracle_db_clients:\n          - 10.1.11.0/24\n\n        # for tnsnames.ora; usually in group vars\n        oracle_servers:\n          orepl-m0: {host: 'orepl-xe.example-domain.com', service: 'XE'}\n          \n        # passwords could be pre-set in vault instead of randomly generated\n        # oracle_pass_vault: {sys: \u003cpass\u003e, ...}\n        oracle_users:\n          some_user:\n            password: \"{{ lookup('password', 'creds/some_user' + oracle_passgen_opts) }}\"\n            roles:\n              - appholder\n            quotas:\n              users: 2048M\n            grants:\n              create session:\n        # better keep it in vault too\n        oracle_password_sys: \"{{ lookup('password', 'creds/sys' + oracle_passgen_opts) }}\"\n\n- create db and objects\n\n        ansible-playbook site.yaml -l orepl-xe-vm --tags oracle-xe --diff\n\n- ext: add to backup and monitoring\n- ext: add to tnsnames\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveksh%2Fansible-oracle-xe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveksh%2Fansible-oracle-xe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveksh%2Fansible-oracle-xe/lists"}