Feed aggregator

Update with join

Tom Kyte - Thu, 2022-05-26 16:26
Hi Tom, i get this error: SQL Error: ORA-00933-00000 - "SQL command not properly ended" when i run this query: <code>update a set propertyaddress = nvl2(a.propertyaddress, b.propertyaddress,b.propertyaddress) from nashvillehousing a join nashvillehousing b on a.parcelid = b.parcelid and a.uniqueid_ != b.uniqueid_ where a.propertyaddress is null</code> trying to populate property address where its null.
Categories: DBA Blogs

Database Trigger to capture old values

Tom Kyte - Thu, 2022-05-26 16:26
How to store old values as well as new values in the oracle table ?.there is one database block in which the user enters data in many columns. we need to track only two columns ( for eg) to store old value as well as new value. How to database trigger or how to perform in oracle forms itself? Your advice is appreciated. Regards and Thanks
Categories: DBA Blogs

Retrieve table hierarchy using foreign key constraint

Tom Kyte - Thu, 2022-05-26 16:26
Hi Mr Tom, I am posting a question first time on your site, hopefully will get an answer soon. I am trying to get hierarchy of a table using foreign key constraints. I want to pass a table name E.g. Customers and I want all children, grand children and so on of the table customers. Many thanks Haider
Categories: DBA Blogs

Strange behavior dbms_random.value in sub-select and select is higher

Tom Kyte - Thu, 2022-05-26 16:26
<i></i>Hi, Tom. I noticed strange behavior dbms_random.value using in sub-select. In LiveSQL example dbms_random.value is not unique for rows in sub-select. Oracle, under a certain meaningless condition (or 1!=0), transfers the ration column to the main select Because of this, one entry from <b>w_table1</b> can be returned for four entries from <b>w_table2</b> And also , records are inexplicably disappearing from w_table1 I found three ways to solve the problem: 1) MATERIALIZE for w_table1 2) Hint ORDERED in main select 3) Create a table using dbms_random before the select Is this some kind of bug? Or did I miss something when writing the query?
Categories: DBA Blogs

SYS_REFCURSOR and FETCH with multi-table cursor

Tom Kyte - Thu, 2022-05-26 16:26
Hello Tom! We have a situation where we are using Java to access data in an Oracle database. Some of the objects are broken out into three tables as follows: * Primary table (e.g. MY_OBJECT) * Secondary table (e.g. MY_OBJECT_2) * Custom table (e.g. MY_OBJECT_C) The primary table contains core attributes that are frequently accessed for life cycle management, critical state information, etc. The secondary table contains core attributes that are infrequently accessed. The custom table contains attributes that are customer-specific. (This is a COTS product that is being developed.) We have a stored procedure with an output reference cursor parameter. Originally, it was written to only return the data in the primary table, such as the following: <code> CREATE OR REPLACE PROCEDURE my_procedure ( ... ... o_result_set OUT SYS_REFCURSOR ) AS BEGIN -- Initialize the output o_result_set := NULL; ... ... OPEN o_result_set FOR SELECT * FROM my_object WHERE ... ...; END; </code> The unit test for this procedure used a %ROWTYPE designator for the variable to fetch the result sets into such as the following: <code> DECLARE v_my_object_records SYS_REFCURSOR; v_my_object_record my_object%ROWTYPE; BEGIN -- Call the procedure my_procedure( v_my_object_records ); -- Loop through the resulting data IF (v_my_object_records IS NOT NULL) THEN LOOP FETCH v_my_object_records INTO v_my_object_record; EXIT WHEN v_my_object_records%NOTFOUND; DBMS_OUTPUT.PUT_LINE('* ' || v_my_object_record.object_id); END LOOP; CLOSE v_my_object_records; END IF; END; </code> This works great. As you can see, the result set is fetched into a variable defined as type my_object%ROWTYPE. However, the need arose for returning one of the columns in the secondary table. Since this is a COTS framework, and the custom attributes (columns) are not known at design time of the stored procedure, we decided to extend the stored procedure to also return the secondary and custom attributes in a manner such as follows: <code> CREATE OR REPLACE PROCEDURE my_procedure ( ... ... o_result_set OUT SYS_REFCURSOR ) AS BEGIN -- Initialize the output o_result_set := NULL; ... ... OPEN o_result_set FOR SELECT m.*, m2.*, mc.* FROM my_object m INNER JOIN my_object_2 m2 ON m.object_id = m2.object_id INNER JOIN my_object_c mc ON m.object_id = mc.object_id WHERE ... ...; END; </code> This procedure compiles fine and even appears to work fine in the Java code. However, we are not able to produce a PL/SQL unit test for this because there is no clean "ROWTYPE" to define for the output in this instance, since the records do not correspond to a row in a table. <b> Question: Is there a way to process this kind of result set variable within PL/SQL? </b> I much prefer to use PL/SQL for the unit test of the stored procedure. Note that we cannot define a data type with a composite of the table columns and rely on this for the product, since this is a framework and the custom attributes are not known at design time. We did try to create one just for unit test purposes like the following: <code> DECLARE TYPE my_object_record_type IS RECORD ( my_o...
Categories: DBA Blogs

Review: Securing containers & cloud for dummies

Dietrich Schroff - Thu, 2022-05-26 04:26

Securing containers & cloud (provided by sysdig) is a booklet with 42 pages and 7 chapters. Like most of the "for dummies" series the last chapter is a summary with ten considerations.

But let's start from the beginning:
Chapter one "understanding cloud security" is a really nice abstract. Here some of the topic, which you should be aware of: "overprivileged identites", "visibility over cloud assets", "leaving out IT", "former employees, one-time users and guest accounts that are left active", ... With knowing that the following proposal is made: "to dectect and stop cyber threats [..] first step is to see them". Therefore a singe event store should be used and a open-source validation because of validation an transparency.
The second chapter is named "securing infrastructure as code (IaC). The typical arguments for IaC are speed, scalabilty, resilience, reproducibility but what about security? IaC is created by the developers and this code has to be checked as well as the application sources. And even if IaC is checked, configuration templates in  a CI/CD pipeline will suffer from drift. "Policy as code PaC allows you to leverage a shared policy model across multiple IaC, cloud, and Kubernetes environments.  Not only does PaC provide consistency and strengthen security, but also it saves time and allows you to scale faster."
"Preventing Vulnerabilites" is the third chapter. Many images in production contain patchable vulnerabilites, which should be patched. So the selecting of container images from every source (including DockerHub) without scanning them is not a good idea. One subsection here is "Automate vulnerability scanning in the CI/CD pipeline". I think this is something you should read in the booklet in detail.
After scanning for threats, the next chapter is about detecting and responding to threats. This chapter is only about 3 pages and it is more an appetizer for Falco, which is a solution from sysdig.
The sixth chapter is named "Targeting monitoring and troubleshooting issues" is is plea for open source. "Avoiding Vendor Lock-In" is key to success at least from the perspective of the authors.
As in the beginning mentioned the last chapter is a ten point summary of the topic. This is a fast checklist, you can use.
 

All in all a very good high level introduction into "Securing Containers & Cloud". I recommend all DevOps engineers and developers to spend half an hour to read this booklet.

Adaptive Database Auditing and Security

Pete Finnigan - Wed, 2022-05-25 19:06
We are working with customers to design security for their Oracle databases and also to help and design audit trails. An audit trail is the easiest countermeasure or control that can be added to a database because if you do....[Read More]

Posted by Pete On 25/05/22 At 07:38 PM

Categories: Security Blogs

LOB compression

Tom Kyte - Wed, 2022-05-25 03:26
I have a DB on ExaCC Gen1 platform with a big LOB segment and when I try to compress it I ran into undo problems. Table size 2,68G LOB segment size 14TB UNDOTBS1 size 544G UNDOTBS2 size 128G Sys@DBname1> show parameter undo_retention NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ undo_retention integer 3000000 Sys@DBname1> set timing on Sys@DBname1> ALTER TABLE TABLE.NAME MOVE LOB(bfiledata) STORE AS (TABLESPACE TS2 COMPRESS DEDUPLICATE) online; ALTER TABLE TABLE.NAME MOVE LOB(bfiledata) STORE AS (TABLESPACE TS2 COMPRESS DEDUPLICATE) online * ERROR at line 1: ORA-01555: snapshot too old: rollback segment number with name "" too small ORA-22924: snapshot too old Elapsed: 75:11:23.77 I am played around with undo_retention parameter, however this seems not help me in this matter. What else could I try in order to overcome this issue? Additional information: CREATE TABLE "UCMMASTER"."FILESTORAGE" ( "DID" NUMBER(*,0) NOT NULL ENABLE, "DRENDITIONID" VARCHAR2(30 CHAR) NOT NULL ENABLE, "DLASTMODIFIED" TIMESTAMP (6), "DFILESIZE" NUMBER(*,0), "DISDELETED" VARCHAR2(1 CHAR), "BFILEDATA" BLOB, CONSTRAINT "PK_FILESTORAGE" PRIMARY KEY ("DID", "DRENDITIONID") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "UCMMASTER" ENABLE ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "UCMMASTER" INMEMORY PRIORITY HIGH MEMCOMPRESS FOR QUERY LOW DISTRIBUTE AUTO DUPLICATE ALL LOB ("BFILEDATA") STORE AS SECUREFILE ( TABLESPACE "UCMMASTER" ENABLE STORAGE IN ROW CHUNK 8192 NOCACHE LOGGING NOCOMPRESS KEEP_DUPLICATES STORAGE(INITIAL 106496 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) CACHE ENABLE ROW MOVEMENT
Categories: DBA Blogs

Count rows from two different tables

Tom Kyte - Wed, 2022-05-25 03:26
question:- I want to calculate the total rows of two different table and then calculate the difference of two rows between these tables:--- I have written two queries select (select count(*) from batchhr.tr_time_mar_intrfce_src ) cnt, (select count(*) from batchhr.tr_time_mar_intrfce_tmp ) empl from batchhr.tr_time_mar_intrfce_src, batchhr.tr_time_mar_intrfce_tmp; select count(*) cnt from batchhr.tr_time_mar_intrfce_src a union all select count(*) emp from batchhr.tr_time_mar_intrfce_tmp b; the second query generating the output as below:- cnt 7736 1942 and the excepted output was: cnt emp 7736 1942 the first query generating the output was: cnt emp 7736 1942 7736 1942 7736 1942 and the excepted output is: cnt emp 7736 1942 please help me
Categories: DBA Blogs

TIME OF ENTRY IN FORM IF RECORD ADDED IN MASTER LIST NOT REFRESH

Tom Kyte - Wed, 2022-05-25 03:26
1) I created Employee master FORM from emp table 2) In employee form deptno is the select list and I put button for new department add. It will call dept page form which has property chained = false 3) After adding new dept control goes back to employee form but I can find newly added dept in list 4) test case created on apex.oracle.com [redacted] Page no:-2 model page of employee call from page no 1 new. Page no:- 3 model page of dept call from page no 2 new button next to dept list of value Application export : https://drive.google.com/file/d/1IRFpTMuI-b_ndmbwDjahds8DGk4_zEHQ/view?usp=sharing Test-video : https://drive.google.com/file/d/1_QrRcXngwqQ39r5Bp_4aWttIEG3Hpc-o/view?usp=sharing
Categories: DBA Blogs

Degree of Parallelism PARALLEL vs. PARALLEL (AUTO) Definition and Calculation 19c EE

Tom Kyte - Wed, 2022-05-25 03:26
I have two questions both referring to the documentation in Oracle 19c SQL Language Reference PARALLEL hint "For a statement-level PARALLEL hint" section. https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Comments.html#GUID-D25225CE-2DCE-4D9F-8E82-401839690A6E 1) PARALLEL and PARALLEL (AUTO) have the exact same definition, but the two examples that immediately follow in the documentation describe different behavior. Namely, PARALLEL will always run in parallel while the preceding definition says a statement with PARALLLEL hint may run serially. Please clarify this seeming contradiction. 2) PARALLEL and PARALLEL (AUTO) state "...the computed degree of parallelism,...", but do not specify the computation. I was suspecting it is DOP = PARALLEL_THREADS_PER_CPU * CPU_COUNT (for single instance), but the definition of PARALLEL (DEFAULT) provides that calculation. It would be misleading for all three PARALLEL, PARALLEL (AUTO), and PARALLEL (DEFAULT) to use the same calculation but only to define the calculation for one. Hence, I now suspect the calculation for PARALLEL and PARALLEL (AUTO) is something else. What is the calculation(s) used for DOP for PARALLEL and PARALLEL (AUTO) hint? Thank you in advance.
Categories: DBA Blogs

find duplicates using a group of columns

Tom Kyte - Wed, 2022-05-25 03:26
What query can be used to find the duplicates using a group of columns among which one is a varchar type from a million of records. The varchar type column matching must be case insensitive and space insensitive. In the attached data all rows corresponds to the same name but the group by or aggregate treats them as different record. The grouping should be case insensitive and ignore the spaces. I need to perform the operation on a million records. create table duplicate_filter(name varchar2(50), age integer, salary number) ; insert into duplicate_filter(name, age, salary) values ('John Doe', 20, 100) ; insert into duplicate_filter(name, age, salary) values ('JohnDoe', 20, 100) ; insert into duplicate_filter(name, age, salary) values ('john Doe', 20, 100) ; insert into duplicate_filter(name, age, salary) values ('johndoe', 20, 100) ; insert into duplicate_filter(name, age, salary) values ('john doe', 20, 100) ; commit select name, age, salary , count(1) total from duplicate_filter group by name, age ,salary ; select name, age, salary, count(1) over(partition by name, age, salary) total from duplicate_filter ;
Categories: DBA Blogs

Announcement: Registration Links For Upcoming Webinars Now Open (“Join The Gang”)

Richard Foote - Wed, 2022-05-25 01:58
The registration links for my upcoming webinars running in August are now open!!! The price of each webinar is $1,600 AUD. There is a special price of $2,750 AUD if you wish to attend both webinars (just use the Special Combo Price button). (Note: Do NOT use the links if you’re an Australian resident. Please […]
Categories: DBA Blogs

SQL Server 2022 public preview now available

Yann Neuhaus - Tue, 2022-05-24 10:58

This is a small blog post to share that the SQL Server 2022 public preview is available for download starting today.

The Microsoft announcement blog post and a summary of the new feature are available here :
Announcing SQL Server 2022 public preview: Azure-enabled with continued performance and security innovation

I have already installed it. No crazy change regarding the installation Wizard.
Just one thing, this new “SQL Server extension for Azure” shared Feature is checked by default.

If you are just using SQL Server on-premise you will have to disable it because it requires credentials laters in the Setup steps.

 

Welcome to 2022 !
I have already noticed not less than 10 new database scoped options. They are so many new things coming with this release!

I will now start to play with the new features. The ones that interest me in priority are the new features related to performance and Query Store, especially the “Parameter Sensitive Plan optimization” feature.

 

 

Cet article SQL Server 2022 public preview now available est apparu en premier sur Blog dbi services.

音楽専門学校で切磋琢磨

Marian Crkon - Tue, 2022-05-24 00:15
高校や大学の卒業が近づくと、これまで漠然としていた将来を明確なものにしなければなりません。そこで趣味や部活動、...

音楽専門学校で切磋琢磨

The Feature - Tue, 2022-05-24 00:15

高校や大学の卒業が近づくと、これまで漠然としていた将来を明確なものにしなければなりません。そこで趣味や部活動、サークルで楽しんでいた音楽をさらに深めたいと考える方が多いものです。そういった場合は、音楽専門学校に進む事が良いでしょう。常に自分の身近に音楽が存在し続けている方こそ、音楽専門学校で学ぶ事というのは特別なものになります。

当然、現在音楽の世界で活躍している方々が全員音楽専門学校を卒業しているわけではありません。ところが、専門学校に通う事によりより一層専門的な事柄を学ぶ事ができますし、業界で活躍するために求められる技術や知識を独学よりもより良い状態で得ることができます。知識豊富な講師達から直接的に知識を得ることが可能であるため、独学では知ることができないような知識も得る事ができるのです。また、音楽専門学校は多くの経験を積むことができるとして人気があります。

その理由は、二年制であるが故に入学して早い段階で業界に近い環境で活動することがあるためです。時には、実際の音楽業界に参加してインターンとして共にお仕事を行うこともあるでしょう。このように現場に入ることにより、座学では得ることができないあらゆる情報を吸収することができるのです。そして、音楽専門学校は同じ夢を抱いている方々と机を並べて学習するという点から勉強する上で大きな励みになります。

励まし合ったり、切磋琢磨しながら理解を深めていけば優秀な業界人になれます。

Categories: APPS Blogs

DevOpsDays Geneva – 2022

Yann Neuhaus - Sun, 2022-05-22 18:12

Finally… this young event (3rd edition) for romandie is back after 2 years!

It has brought together more than 400 people involved in DevOps culture for 2 intensive days, allowing people to share knowledge and networking in a very great atmosphere.

It started first day in a workshop, with Nicolas Thomas from Uleska, talking about Application Security Testing Orchestration (ASTO), the idea is to implement security at each step, each iteration of a product lifecycle and conduct by a function called AppSec, of course driven by the security team and through all standards Application Security Test (AST), for exemple DAST, IaC, SAST, aso …

One important fact when exposing an application to the internet is that his surface attack can’t be void and the more feature is deployed the more you have risks.

 

After that, I followed the talk about Tekton with Giovanni Galloro from Google who did some CI/CD promotion of the product, Tekton is well known from Jenkins-X users because it is embedded with other tool, but for this presentation, the focus was on functionality it offers, with tasks, pipelines, triggers and he ended with a demo.

 

Before lunch, we had another talk with Dennis Jannot from Solo.io who described how to manage communication outside pods (ingress controller) and kubernetes in general (gateway), in clearer words about service mesh. Solo.io company provides Gloo Edge product, an equivalent for it is Istio. Their solution simplifies components in comparison when using only Istio, thus allowing easy management of mesh functionalities like external auth server or rate limiting server and also additional capabilities with gloo filter in ingress Gateway (WAF, Data loss prevention, JWT, transformation, …).

Why re-inventing the wheel?

 

After a great lunch, it was time to do some networking with the contest organized by the event, I was happy to find many people from my past experiences in Geneva or Lausanne.

 

Back at talks for the beginning of the afternoon, I followed the “show” from Charles Laziosi and Vincent Journel who started with a real life situation when you use an application with your mobile and you experience a network outage, what a mess when you get the famous t-rex with the desperate message “There is no Internet connection”

This is where their topic started with “How offline first-architecture could save your apps!” which change the paradigm, when you expect no outage, they take connectivity as an opportunity to sync all your change with server with providing an offline architecture, brilliant!

 

Next talk, right after, was with David Pilato from Elastic, he presented the topic “Hunting (and stopping!) threats with Elastic Security”, where he showed the power of “observability” when using the Elastic Search Platform to collect and compute metrics which can give some interesting insight about threatenings and how to manage them. David made a demo and shows an interesting point of view of how to use the Elastic suite.

 

Before ending this first day, I followed Hervé Schweitzer, our CTO’s workshop, with the topic “Infrastructure-as-Code in a multi-cloud environment”, this project, the YaK, is about to provision quickly and repeatably infrastructure in any popular cloud (AWS, Azure, Oracle cloud) or on-prem without being afraid by complexity with all different cli. This has been made possible with the great knowledge of dbi services experts on different cloud providers and Ansible, reducing management of your servers to only configuration part.

This is for the public part, because the product will be divided in 2 parts, the other one will be what is called DMK packages, allowing you to deploy an oracle instance in any cloud!

Fun story told by Hervé during his demo, he asked “where do you think your oracle instance will be more efficient once it will be installed regarding the 3 cloud plaftorms?”, the natural answer is AWS, but no, it’s better optimized in oracle cloud and this is due to S3 storage which is less well managed.

The audience where very impressed regarding numerous smart questions at the end of this workshop.

This very well ended this first day of event.

 

The evening was very pleasant with a very nice cocktail dinner organized by the fantastic team of DevOpsDay Geneva.

2nd day

For this second day, the agenda was a little bit different with main room dedicated on talks and Open-spaces sessions (4 times during this second day) to discuss freely on topics discussion posted by participants on first day. I personally didn’t followed these Open-spaces sessions but only the talks in the main room.

 

Talks for this second day started at 9:00 AM with Ankur Marfatia with “Turning an Enterprise to a Learning Community”. It was all about bringing or improving all kind of sharing knowledge with many types of examples. What’s cool is that it was not intended for big structure but also for smallest infrastructure. The main idea is starting you, who is part of a community, a group, a company, a post, a tech article, in fact everywhere and anytime to share. In return, the community will also share, help, discuss with you so that you’ll learn something from it. One of the example given was very relevant to me, yes, when example are made with food, it’s the best!

Think of knowledge as a pizza, share it, so that anyone can get a piece of that knowledge!

In that way writing this blog is the exactly the purpose of this topic and in the DNA of dbi services. #sharing

 

Second talk of the morning was with Aurélie Vache, a french punchy talk about the Impostor syndrome.

Wow, I loved the way she make everyone’s feeling better in finding people place in a such high technology and principle that is DevOps. I would recommend anyone to hear her talk and start to do talks, write blogs, articles about their personal knowledge, experiences, aso…

 

After a coffee break, the morning continues with 2 other talks, first one was with Courtney Heba coming from Microsoft directly from the US and talked about “Building Mastery into your Daily Practice”. It was very interesting to hear how we can integrate mastery in every action we do in our every day role. A nice exemple given was with driving a car :

  • first when you learn how to drive, all is Cognitive, you have to think all your moves and understand them
  • then it can become Emotional, you start feeling your moves and you start getting some assurance doing them
  • Finally, it’s all Physical, in other word, all your moves are natural, your drive is smooth

 

And last talk of the morning was with Dr. Joe Perez, about how to “Driving decisions with Data: Delight or Disaster”. He was very demonstrative showing how people react in a specific situation regarding their cognitive biases.

 

Once again, we had the lunch break to do some nice networking.

 

The afternoon started with Doc-as-code with Sandro Cirulli from The Scale Factory. Everyone has ever heard his responsible asking for documentation and everyone has also his “own way to do it” and to formalize it even if there is an enterprise solution, Sandro was pointing common problems with documentation, like :

  • no documentation
  • too much documentation
  • documentation out dated
  • aso…

and all this leading to people working slowly, creating micromanagement to understand why is it so… Sandro gave in his talk some hints to help writing docs, where and how to store them. In conclusion, treat documentations as you treat code and instil this culture in your organization are the best  advice.

 

After that, Stéphanie Fischer talked about her own experience with agility in many situations, her dreams versus reality and how she managed to improve everywhere she was asked to coach.

 

Last talk for this event was with Scott Graffius and his Journey to more productive DevOps teams through multiple phases from forming people by providing the “big picture” of what is expected, to storming with some strategies to help team to grow and move forward by encouraging  and honoring commitments, then to Norming which is more on individual focus and monitoring the team, then 4th phase was about performing and celebrating success, while last phase was about adjourning and the individual and team recognition efforts before releasing all people involved together.

 

This last one concluded two intensive days of knowledge, best practices, sharing spirit and very good feelings to be confident in our DevOps role.

Thanks for that and I’m confident that there will be the 4th edition next year from what I heard from Matthieu Robin!

Cet article DevOpsDays Geneva – 2022 est apparu en premier sur Blog dbi services.

DevOpsDays Geneva – 2022

Yann Neuhaus - Sun, 2022-05-22 15:40

We started the DevOpsDays Geneva Thursday May 12th , with dbi services colleagues Pascal ZANETTE, Pierre-Yves BREHIER, Jean-Philippe CLAPOT and Chay TE, with the  registration and a few cup of coffee, to prepare this first day.

After the Welcome speech provided by the event hosts, Matteo MAZZERI and Matthieu ROBIN, I follow the first main stream session, provided by Julia GIACINTI and Xavier NICOLOVICI, from PICTET, on “How to support the emergence of a DevOps culture within a large company”. In a well-defined sketch, Julie and Xavier explained the DevOps discovery of a traditional Prod manager and the incomprehension of this new way of work. They detailed this journey within their company, gave us a few tips and tricks, shared the challenges they faced and conclude with the current situation as well as the next steps.

It was then to David BARBARIN to present “Why we migrated the DB monitoring stack to Prometheus and Grafana”. David first detailed the current Migros Online architecture and explained the constraints and challenges which leads to the decision to use these tools. He gave a lots of details and explanation through his technical demonstration and conclude with the achievements and results of this migration.

The next presentation was done by Giovanni GALLORO, who gave a deep technical demonstration on Tekton pipelines named : “Tekton : from source to production inside Kubernetes”.

The last session of this busy morning was provided by Denis JANNOT who demonstrate how to implement “Advanced authentication patterns from the edge”. Denis shows the new challenges faced to properly secure a K8s cluster and detail several solution available which can be evaluate, based on infrastructure needs and constraints (Envoy proxy / Gloo Edge, API server…)

After a well deserved lunch break, we had a very interesting talk from Max ANDERSSON, who explain the audience how to “close the feedback loop for infrastructure development. Max recall the well know “3 ways” DevOps pillar and provide a refreshing and dynamic interactive session with the attendees.

We then reached the last session of this first by following Hervé SCHWEITZER, dbi services founder and CTO, session around YAK, a powerful internally developed tool for multi-cloud deployment. YAK is a derivation from IAC acronym (Infrastructure As Code) and was designed around Ansible and Docker, to allow a host deployment with the same setup independently of the destination (on prem AWS, Azure,…), using only one specific command. Hervé conclude with a Geneva DevOpsDays exclusive announcement : the YaK core component will be share with the community in the next months, probably around September this year. Stay tuned on this Blog website for the next announcements on the topic.

We ended this well filled first day with a cocktail diner, where passionate discussion and exchanges continued until late at night, in a very good ambiance.

After this short night (and a few cup of coffee), we started the second and last day of this event with Ankur MARFATIA, who clarify how to “Turn an enterprise to a learning community”. Ankur provide a real case example of learning share session put in place in his company, and underline the benefits of such internal events. He also linked these kind of internal practices with what can be found in external events, such as the DevOps Days. Interestingly, the importance of having food during these kind of meet-up was agreed by the whole assemble, which proves we are all the same.
He then explained some key points to create a safe and global learning environment for everyone, and reminds the two golden points for successful coaching sessions: Middle/Top Management implication and people wish to follow the training leaders.
Ankur conclude his talk with three important points to keep in mind :
1) learning is a never-ending journey
2) we all have different learning curves
3) change culture takes team and effort.

The next session was “Tips to fight the imposter syndrome”, by Aurélie VACHE a brilliant talk around this perception biases which leads a person to thing he/she does not belongs to his/her role or position. The person think his/her position is linked to luck and not hard work or knowledge. It leads to a self-deprecation feeling and the fear that other people will “realize” this imposture, soon or later. Aurélie gave a very frank and dynamic talk, with a lot of examples and tips to work around this syndrome and received a well deserved round of applause from everyone present in the room.

Right after, we listen carefully Courtney HIBA on how to “build mastery into your daily practice”. Courtney explained what was Mastery, why it was crucial for personal fulfillment and the different Mastery categories (Emotional, Business, Wealth and Relationship). She conclude by proposing an action plan to the audience : define one or two goals to master this year, identify the compelling reasons (why do you want to master it) and take action to start your mastery journey to achieve your goals.

Dr. Joe PEREZ followed, with a real show around “Driving decision with data : delight or disaster”. He gave a very energic talk, on the difference between the data’s values and their usage or pertinence. He gave us key points to help us to get enough materials to use data as accurately as possible, in order to improve our data-driven decisions, with all the necessary rules and safe guards to make it really useful and relevant.

We jumped into the “Docs-as-code : fix a poor document culture in your organization” presentation, dispensed by Sandro CIRULLI. Sandor first list the consequences of a poor documentation, which could leads to big issues such as : new employees onboarding slowness, productivity decrease, production outage recovery increased time, technical debt, new feature implementation slowness, poor communication,…
He then explained the documentation as code and why we should treat our documentation as we do for our code : versioned and trackable.
He shows the assembly a few tools which can be used for this purpose, such as Hugo, Red the Docs and Antora. He conclude that despite it need efforts from everyone at first, there is huge benefits to apply documentation-as-code and that we need to choose the tool that fits the company needs.

Stéphanie FISHER then share her personal experience and “lesson learned during an Agile transformation”. She highlights five key points she learned during her Agile coach career :
1st lesson : Avoid the word “Agile” to avoid people to block on a single word instead of embracing the concept and idea. 2nd : Resist the urge to fill the gaps : The risk is to substitute the root cause resolution against taking a role in the company. 3rd: Adapt yourself to the client context : you need to listen to your customer needs rather than pushing your own. 4th: Accept the frustration in the change : embrace the conflict if needed. Accept the tension as part of a necessary step in the change. 5Th : use your own advises and “Agile” yourself ! The world is changing and we need to be flexible, accept the incertitude, not over-analyze, prefer the testing to the thinking, prefer learning objective over that performance objective. It requires patience and resilience but it worst it.

Scott GRAFFIUS, remotely from the USA, detailed the Tuckman’s model to explain the five phases of a team development, Forming/Storming/Norming/Performing/Adjourning, and provide advice and guidance to help team members during those phases.
As a conclusion, Scott mentioned that all these steps are inevitable and seen in most of the teams, regardless of their activity or technical knowledge. Following the guidance shared will help team and individuals to prevent frustration and keep a good work spirit along the organization.

This presentation was followed by a participative open session with Matteo and Matthieu on what we thought about the organization of this event, if we had some improvement ideas or proposal, what we liked the most during these two days, the less,…
This conclude this DevOps Days Geneva and we hope we will see you there next year, we will be present for sure !

 

Cet article DevOpsDays Geneva – 2022 est apparu en premier sur Blog dbi services.

dbi services at the DevOpsDays Geneva 2022

Yann Neuhaus - Sun, 2022-05-22 15:37

dbi services was at the DevopsDays Geneva 2022 this year, which took place at the Haute Ecole de Gestion campus, in Carouge. Pierre-Yves Brehier, Pascal Zanette, Emmanuel Wagner, Chay Te and myself were present.

Opportunity to learn, discover new topics or technologies, doing in-person meetings and initiate business, this 2-days DevOps major event in the Romandie part of Switzerland gathered more than 400 people, 18 companies on site, and 16 additional sponsors.

 

With a mix of small dedicated rooms and more global sessions, this event covered a wide range of topics, technical or organizational.

Among all sessions we all attended to, here a small subset.
The first session I had the pleasure to attend was an interesting session Etienne Studer from Gradle who presented us the Developer Productivity Engineering.
This new engineering approach aim to increase developer productivity. Using automation and acceleration technologies, this approach is based on five pillars :

  • Faster feedback cycles
  • Faster Troubleshootings
  • Reliable Builds and tests
  • Continuous Learning and Improvement
  • CI Cost and Resource efficiency

 

Another good session was the one performed by Giovanni Galloro, from Google Gloud, Specialist Customer Engineer.
He presented us Telkon. Open-source framework, Tekton is used to create CI/CD systems such as Jenkins, Jenkins X the one we use daily, Skaffold or more. In his session, he described all the basic components, such as Tasks, Pipelines, Steps, …
It was followed by a demo of the tool. Even if we knew it, it was very interesting to see Tekton, shown and explained by somebody from Google.

 

At the end of the first day, we were all there to support our CTO, Herve Schweitzer. He was presenting a new product from dbi services, YaK.

YaK, is a IaaC product. IaaC stands for an Infrastructure as a Code. It helps you to describe and deploy your infrastructure on specified targets. But in fact it’s way more : by using Ansible as a back-end but also all of our knowledge and expertise, it helps you to deploy virtual machines (Linux or Windows based) and databases (such as MariaDB, Postgres, Oracle, …) pain-free on Cloud providers (AWS, Azure or Oracle cloud for instance) or on-premise.

The beauty of that is changing where your DBs or VMs are deployed, so moving from one provider to another, is just a matter of  setting the correct target! The room was packed for that session and the product and its concept was very well received by all the audience, concluded by a set of constructive discussions on the product itself and its application on the customer. dbi services is acting in favor of the community : a part of the product will be released public in September 2022 !

On the second day, we all attended in the amphitheater of the campus to a session of Aurelie Vache, from OVH Cloud.
With a warm support from the whole assistance, Aurelie didn’t talk about any technical topic here. No fancy DevOps tools here, “just” a talk about who we are: humans. Instead of being technical, she transported us into the discovery of a psychological pattern, called the impostor syndrome.

People affected feel that they don’t deserve their success or their position in a company. They feel the situation as if it were only due to chance. She gave some clues, like accepting we have knowledge, sharing and contributing, getting feedback, being positive. Thanks Aurelie for this very nice and refreshing presentation.

We can’t summarize this event to a set of sessions we attended or topics we had the pleasure to learn. It was also the opportunity, after last year cancellation, to meet people and share coffee or talks with customers, potential new employees or other DevOps fans like us !

 

Cet article dbi services at the DevOpsDays Geneva 2022 est apparu en premier sur Blog dbi services.

File Upload with PyScript

Andrejus Baranovski - Sun, 2022-05-22 14:32
I explain how to implement file upload functionality with PyScript in the browser. File content is converted to Pandas and displayed in the table. All UI components are native Python. I show how to interact with HTML DOM structure from PyScript.

 

Pages

Subscribe to Oracle FAQ aggregator